DevOps came into vogue when cloud computing took off, mostly because traditional system administrators, or IT operations staff, needed to learn programming skills in order to manage what was previously physical hardware.
To manage virtual servers, you need to know how to write code to handle events, such as a spike in user traffic, and have that code automatically manage the scaling of your infrastructure. Unless you're working in a data center, you probably don't need to work with physical hardware anymore, and so your skills need to adapt to duties that mostly deal with API calls or consoles.
Still, those with DevOps roles and responsibilities need to be able to configure a network, install and manage system packages and create VPNs. They still need to understand TCP traffic and how to configure firewalls. But, they also need to be able to develop software to manage a lot of those responsibilities.
Building a self-service IT portal helps developers create applications, request servers and access networks. Organizations need to know what all of those requests amount to in the end, and should help software developers determine exactly what they need to make their services run in production.
Understanding the different DevOps roles
A DevOps team should understand the different instance classes and sizes, and help developers determine which would best run their applications without costing more than required. Create a log-aggregation strategy, determine what the logs mean and decide where to route events for fixing. A DevOps worker in a cloud computing environment is there to fight fires and dispatch reinforcements to where they are needed most.
Organizations should assign specific DevOps roles and responsibilities. Netflix, for example, looks for talented operators who have picked up programming on the side. It's a very specific need: someone who understands the lower-level sys admin and networking functions and also knows how to write some code. But Netflix doesn't want someone who just writes code; it wants someone who can help its developers succeed.
DevOps team members are also the first responders when something goes wrong. They diagnose a problem and determine if it needs to be corrected immediately. If it does, they'll determine whether it's something they can quickly fix by rebooting a server or repairing a configuration. Or, if it's an issue with someone's software, they will alert the team responsible for that code.
This isn't to say DevOps teams will do everything. They make sure the system is fixed as quickly as possible and with minimal harm to clients. If that means rolling back a change that's just been released, they can do that -- but they aren't going to dig into why that recent change broke.
- Get started with continuous integration and continuous delivery
- Learn how Git, GitHub and distributed version control is impacting source code management
- Get your builds under control with Maven, Gradle and artifact repositories
- Test your skills with these Git and CI/CD quizzes
- See how you would do on a Jenkins or DevOps job interview