Responsibilities
We as Devops engineers are typically responsible for:building, managing, monitoring, administering, automating and optimizing infrastructures, application configurations, databases, CI/CD Pipelines.
building, managing, monitoring, administering, automating and optimizing infrastructures, application configurations, databases, CI/CD Pipelines.
We are the ones who keep the lights on.
We spend about 35% operating infrastructure and 65% writing tools to automate operational tasks. (If the ratio approaches 50% operating - 50% coding, then we balance the load together with the product development team.)
Development and operations teams were usually split into two camps, with each camp following their own motivations (often competing):
DevOps is here to solve this by making people from both camps work together in one team, establishing a shared vision.
The DevOps Engineers are service oriented team players who come from various work and educational backgrounds. Through their experience in different fields, like frontend, backend, operations, security, networking, etc. they have developed the right skillset to move into DevOps.
We analyze technologies and develop plans for improving our system
We design, code, build, configure, install and maintain IT solutions
We share our knowledge about systems, explain their options, risks, impacts, costs and benefits
We test code, processes, and deployments to minimize errors and assure quality
We use configuration management software to automatically deploy updates and fixes into production environments
We perform application maintenance to ensure the production environment runs smoothly
We recommend performance enhancements by analyzing bottlenecks, identifying alternative solutions, and assisting with modifications
We write specifications, document our architecture decisions in ADRs and document the tools we write to automate the infrastructure