The essence of DevOps

The essence of DevOps

What is DevOps?

I have been working as a DevOps for 6 years and get amused when people ask “What is the role and responsibility of a DevOps”. I can elaborate the role, responsibility of DevOps but the most difficult task to make them understand how vast this field is and how heterogeneous the environment is. Hence I am trying to elaborate the responsibility of a DevOps and also what it needs to be a good DevOps.

Once upon a time, there lived a system administrator.  He was smart, proactive and sharp. He was generous and made sure the realm of the server is always healthy and made sure to provide the relevant resources. But he had a weakness. He was not aware of the behavior of the people living in the realm, THE APPLICATION. They fought with each other and misbehaved and consumed resources greedily, no matter how much resources were provided to them.  As our good lad system administrator had to insights of the application behavior he had no other options but to provide the resources.

The system administrator got fed up with the demands but that day a DevOps came roaming into the realm and saw the system administrator troubled. He said he will help him and with his power to get insights of the applications he helped him sort out all the behavioral issue.

System administrator asked him what is the difference between me and you, he said with a smile – “I think like a developer”.

Moral of the story – “DevOps is the bridge which covers the gap between Ops and Dev”

Role and responsibilities

The DevOps have huge roles and responsibility as they have to cover every aspect of architecture and application functionality, availability, and response within SLA.  Pointing out a few

Application Uptime

The most important thing for any business or organization is that they are available when the customer wants them to be. Hence we to work 24*7 and monitor that the application is available.

Now DevOps play a little smart and deploy various mechanisms to monitor application and opt for self-healing system as we generally don’t have any NOC team available.

Optimisation

No one wants that resources get wasted and leave a hole in their pocket. So DevOps is responsible for tuning up the infrastructure and make sure it is at par with industry standard with a dash of custom tuning which is optimal for the organization.

To name a few you can opt for Nginx instead apache web server, this can help you achieve better performance and throughput.

Cost Optimisation

No one listens to you in your organization,  just say “I can reduce your expenses” and voila you will have all the attention you need.

DevOps is responsible for provisioning right resources for each and every application. This leads to huge cost savings and helps us to opt for other tools resources although I wish this was given as a bonus to DevOps a token of appreciation :).

Scalability

Whoa here comes the fancy word!! So what is scalability

Scalability is the capability of a system, network, or process to handle a growing amount of work, or its potential to be enlarged to accommodate that growth

Reading this definition makes you feel this must be so much complex and quite a heavy task but actually what it means is

“Your system is capable to respond as per the demand” i.e. when there is a huge sale who have additional servers to handle the load.

As a DevOps, you will plan and execute such system.

Release Management

We live in an era where everyone is trying to solve problems using technology whether it be cab services, food order placement etc. When planned these solutions seems so well structured but once made live, there occurs issue which needs to be fixed instantly. Now here comes the DevOps who is responsible for promoting these changes to production with no/minimum downtime.

As a DevOps, you will be using tools like Jenkins to automate the deployments.

Automation

You are sipping a cup to tea and enjoying your tea break, then suddenly your manager calls you and says “There is a major feature development and the team needs a parallel infrastructure for the same”. You start thinking  “what needs to be done – launch a db instance, create ami of applicati0n servers, config changes etc.”

Here automation can be a saviour and can help you out as you can have a stable system with stable configuration within no time frame. You can use tool like terraform for provisioning and chef for configuration management.

Security

DevOps is not a security guru but you make sure that you opt for the general guidelines to make the system secure. These include the server hardening, patch management, RBAC (role-based access control), least privilege policy etc.

Conclusion

DevOps is not just a job profile it is a way of thinking to solve the problems in the system so that, the system can be healthy and business can rely on it.

 

 

 

3 Replies to “The essence of DevOps”

  1. Very good intro for who always wondered “What the heck is devops? ” and to motivate system administrators to be more than just a Support guy.

Leave a Reply

Your email address will not be published. Required fields are marked *