What is DevOps Engineer
DevOps engineer is a sensual role in a company that focus in delivering software engineering toolchain and culture in the organization. DevOps engineer is a software engineer that care not only to build a software but also to operation the software. The purpose of the DevOps is to improve the productivity of the developer and the performance of the operation team. It happens by creating a set of culture and computing environments that support their workflow. DevOps is closely related to the cloud computing. Cloud computing empowers the DevOps process to achieve more by reducing the complexity in the infrastructure. On this article, we will discuss how to become DevOps engineer. We will use DevOps toolchain from Microsoft or Amazon AWS interchangeably.
The Component of the DevOps
We already hear this about its thousands of times. The six practices of the DevOps are:
- Continuous integration. A practice that integrates your codes into one single repository (such as GitHub). After that, the codes are tested and automated.
- Continuous delivery. A practice that automatically deploy your tested codes into staging environments or production
- Microservices. A practice that composes your codes into small pieces that has loosely coupled dependency.
- Infrastructure as a code. A practice that automatically construct the infrastructure that needed for development and production.
- Monitoring and logging. A practice that monitors your production infrastructure as well as your application through log and metrics. It also provides alert or automatic action based on the metrics.
- Collaboration and communication. A practice that delivers the organization an environment to do communication and collaboration that blended with the DevOps initiatives.
The Domain of the DevOps Knowledge
If you want to learn a DevOps and proof your DevOps knowledge you should understand these domains.
- Domain 1. SDLC Automation. Understanding what DevOps and what toolchain that you can use.
- Domain 2. Configuration management and Infrastructure as a code (IAAC). Be able to prepare the infrastructure with IAAC method.
- Domain 3. Managing monitoring and logging. Be able to setup and to configure toolchain that related with monitoring and logging.
- Domain 4. Applying policies and standard automation. Be able to enforce the security, governance, and policy to DevOps environment.
- Domain 5. Recovering from incident. Be able to do restore operations in DevOps environment.
- Domain 6. Managing High Available, Fault Tollerance, and disaster recovery. Be able to design, to implement, and to manage best practices architecture and approaches in DevOps environments.
That is the basic of DevOps knowledge domain that you should understand, let's discuss more. In another post.