Hacker News new | ask | show | jobs
by iglio 1345 days ago
I think the suggestions of docker are overly specific.

The industry gold standard for any given software application that will be deployed to the cloud is:

- Define infrastructure as code (terraform, AWS CDK, etc.)

- Have automated mechanisms in place to deploy self contained pre-production and production environments of the above infrastructure

- Allow developers to create a “personal” deployment of the above, similar to a pre-production environment but with any changes the developer wishes to make as part of development. This should be as simple as running a few commands.

Some harnessing that allows for completely local development of portions (or all of, depending on the software application) of the above can also be desirable, to speed up development.

1 comments

Do you ever see a case when there are so many services with so many dependencies that personal deployments are too costly or unweildy?
I think the vast majority of well architected software applications will have the property that no component alone is too large to be deployed as a “personal” deployment.

The ability to point deployed personal stacks at a pre-production environment (this is often the default) instead of another personal deployment is a means of breaking the chain of needing to deploy personal instances of every dependency needed to function.

This gives the developer choice. If they are only working within one part of the system, only a single personal deployment may be needed. If the change is more cross cutting, multiple personal deployments could be used (or maybe, the change should be made more incrementally).