Monday, October 22, 2018

What is DevOps?

In this post you will learn what is DevOps and what are requirements to become DevOps developer.DevOps is a new way of how software companies work and it's a new culture and practice which aims at facilitating smooth communication and collaboration between development and operations teams of a software company to increase development, deployment, accuracy, and automation of a software manufacturing company.

The professionals who are certified in DevOps & possess an immense knowledge of all the applications of this domain are welcomed by most of the top-notching multinational organizations with exclusively high pay packages.

who can take this course?

  1. Programmers
  2. Software Developers
  3. application developers
  4. IT professionals
  5. Technical project managers.
  6. Business professionals.
  7. Operations managers.
  8. Architects
  9. Job seekers etc.


Prerequisites and Requirements:
  • Ability to install software
  • Ability to use git
  • Some experience with programming (even just scripting in shell)
  • Some experience as SysAdmin; some experience with Linux is beneficial




Where to Begin?

Understand DevOps Principles and Why DevOps is a culture before you start focusing on the tools for DevOps. One way to begin that journey is by reading the book/novel – The Phoenix Project. Even though it’s a work of fiction it helps in enabling the reader to gain more insight into the DevOps concepts in a very practical manner. Both in a business as well as technical point of view the reader will start to make sense of why both as an individual and an organization you need to adopt DevOps.

There’s no way around this and I am sure DevOps engineers who came from development background will agree to this. You need to be aware of what the developer is actually doing during the coding , development , testing and deployment process.

For people from operations, system administration background or freshers – I am not saying you need to learn development in depth or become an expert in development/programming. Rather, if you want to effectively implement the said DevOps practices and tools, you need to think like the developers, understand their requirements and give them the best solution.

Basic to intermediate knowledge in various programming languages and frameworks will help you in a long way. This is why many DevOps engineers who worked as developers for few years are very successful in their career.

So to summarize, understand what the developers do during the development process of the software. How they manage their versions of code, integrating the code into existing code base, resolving merge conflicts and how they are compiling and deploying them to the servers (even though Ops team handles this, developers also do play their part).

Once you have understood how things are done manually with no automation tools, then you can bring DevOps practices and tools more effectively into the picture.

Unless you are good in Ops you aren't gonna become an expert in DevOps. You need to become very familiar and have expertise in system engineering/administration before you embark you DevOps journey. You can begin this by,

  • Learning Installation and Administration of various Linux Distros
  • Start learning how to do scripting, learn bash, Perl, python, ruby etc ( be an expert of at-least one scripting language other than bash script)
  • Know how to setup Web Servers, DNS Servers, load balancer’s – Apache, Nginx
  • Learn how to setup proactive monitoring for the infrastructure and software
  • Deep understanding of Networking Concepts – example – IP Gateways, TCP, CID, ARP, etc
  • Understand how to do deployment of various artifacts manually to the servers
  • Gain expertise in various RDBMS systems such as PostgreSQL
  • Expertise in fileSystem management such as ext,ext4, NFS ext.
  • I know that the list looks pretty exhaustive. But trust me, it’s not. As you start to gain expertise in each of the above tools, frameworks, process and various technologies you’ll start to gain more knowledge in more related/dependent tools, Operating Systems, System Applications etc.


No comments:

Post a Comment

High Paying Jobs after Learning Python

Everyone knows Python is one of the most demand Programming Language. It is a computer programming language to build web applications and sc...