2 ms·
There have been a few clear changes over time. It used to be that you delivered software to the ops team who then took it upon themselves to create servers to r
by jillesvangurp 4y ago
There have been a few clear changes over time. It used to be that you delivered software to the ops team who then took it upon themselves to create servers to run that software, package up the software, testing it, etc. Delivering software usually went in the form of an email suggesting that this or that person might want to put software on a server or use some pre-built artifact.
These days software teams deliver ready to run software; usually in the form of some containerized binary produced by a continuous integration environment. No ops team is involved with deploying that container either because the deployment is fully automated. The CI/CD environment is typically provisioned via SAAS. We use Github actions for example. Our deployment process is "merge to the production branch".
The role of ops has been reduced to providing the automation that does several things:
- provisioning the infrastructure, typically via some IAAS platform like AWS, GCP, etc. with some automation (terraform, cloudformation, ansible, etc.)
- automating the deployment of software on that infrastructure. This normally is some kind of one liner in a CI environment that triggers the right scripts to run.
- automating the building of the software
- dealing with backups, monitoring, etc.
For small teams that work is easily handled by a specialized person for whom this isn't even close to a full time job. I know because I'm that person but I mostly do other things. In fact, I get really grumpy if I have to spend time on this stuff because it is a bit of a time-sink and it blocks me from doing more interesting things.
Ops teams still exist of course but they are employed by IAAS providers or companies that still run their own hardware. They don't get involved with how software is packaged and deployed anymore. They just keep the infrastructure up and running. Most senior engineers know enough to automate most of the above. And becoming a proper devops engineer just means stepping up and learning how to do all of it.