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.
Personnel in DevOps roles help ensure the system is brought back online, or reroute services away from the broken systems, if possible.
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.
Exploring the evolution of DevOps in the cloud
Boost cloud app security through a rugged DevOps model
Cloud DevOps requires new business, IT mindset
Related Q&A from Chris Moyer
Can an application have Python as a container, run SQL queries on an external Microsoft SQL database and publish the results on an Apache web server ... Continue Reading
The wait is over, as you can now trigger Lambda functions with SQS messages. Follow these steps to get up and running with this new capability. Continue Reading
Event-driven computing means no IaaS provisioning and no data center to run. Can I migrate all enterprise apps to be event-driven? Continue Reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.