Table of contents
- DevOps
- What is DevOps ?
- How DevOps works?
- DevOps lifecycle.
- DevOps Practice and Resources
- System Design Basic
- OS, Networking & Linux concept
- Version control using Git
- Build Tools
- Basic cloud Infrastructure
- Containerization using Docker
- CICD & Build Automation
- Container Orchestration using Kubernetes
- Infrastructure as Code with terraform
- Configuration Management with Ansible
- Monitoring
- Python Basic and Automation
DevOps
DevOps is the latest boom in the Industry, helping Developers to deploy and scale the application fast due to Demand for DevOps Expert increase at repaid so here is a road map for starting your carrier in DevOps which will help you to get familiar to the DevOps Basic Practices and their free resources.
What is DevOps ?
The word DevOps come from 2 words, Development, and Operations.
Development
Development team is writing code or build actual software which is kind of application where end user interact.
Operation
Building an infrastructure where the code develops by the Development Team Work properly on different env(dev, test, production) come under operation team.
Combination of both is call DevOps. As a DevOps Engineer your role in industry is to manage code and infrastructure automate the task. This bring agility in development and shipping Software there are certen practices that should be followed to perform DevOps properly.
Note:- practices and tools are independent you can use whatever tool you want.Here we have mention industry standard tools and there resources to perform that task
How DevOps works?
Under a DevOps model, development and operations teams are now celebrating. Sometimes, these two teams merge into a single team where the engineers work across the entire application lifecycle — from development and test to deployment and operations — and have a range of multidisciplinary skills.
Teams use tools to automate and accelerate processes, which help in fast development, continuous integration, continuous deployment of things, increase reliability.(all term detail explanation are in next section of blog)
Now DevOps values are getting adopted within different IT teams also for Example security teams adopt a DevOps approach, security is an active and integrated part of the development process. This is called DevSecOps.
DevOps lifecycle.
DevOps is continuous in nature. That's why there is infinity in the above symbol. ok let's break down the image find out different practices in DevOps culture.
Note:- all stages can run in parallel also
1 Discover
This is the first phase and identifying the need of features come in this section.
2 Plan
How to build the feature planing of developing software done in this section. which tech can use how you can use is also done.
3 Build
In this phase Development is carryout all this thing are develop by development team.It depende on team on top of which tech the want to build app (web app, mobile app, desktop app etc.)
4 Test
Testing is the face were all test are carrying out whether the application is not braking or not all things are checked in this phase.
5 Release
After test is done then Release take part in this section automated CI pipeline is trigger which build an artifact and deploy that in any artifact repository.
6 Deploy
This is the phase where application is deployed in different env (test, development, production)
7 Operate
this is phase is all about scaling up and down your infrastructure according to user traffic to save the cost in infrastructure procurement.
8 Moniter
In this phase application is got monitor but admin and feedback is collected and task get repeated to perform operation on that feedback.
DevOps Practice and Resources
In This section we will discus about what to learn and from where to learn
System Design Basic
learn about system design you don't need to learn like pro just get familiar with Node, scaling, load balancing, client-server arc, web-server, databases, Api etc.
OS, Networking & Linux concept
Get familiar with OS concept type of OS, process scheduling algorithm, Memory Management, Process Control Block etc.
Get Comfortable with Networking Concept.
Best for Becoming Pro in Linux Networking cmd ,text manipulation cmd, file and directory manipulation cmd, get comfortable with terminal &.
Version control using Git
learn the best way to manage your code. Trust me git skill is the thing which you will never regret in life.
Build Tools
try to build your application using (npm, yarn) Javascript, (mvn, Gredal) Java, (pip) Python all kind of package manager.
Basic cloud Infrastructure
Cloud is the new and industry stander way to deploy things where you can procure resources with few click just get familiar with compute resources Networking Identity and role base access, container, networking, storage, databases in cloud.
Containerization using Docker
Rise of Containerization technology give speed to scaling things very fast the must know tool is Docker understand different between VM and Container.
CICD & Build Automation
Continuous integration Continuous Delivery is the way to make your build test and deploying things in an automated way. GitHub Actionor or Jenkins is the tool you can learn.
Container Orchestration using Kubernetes
Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling, and management of containerized applications.
Infrastructure as Code with terraform
IaC is the way to manage your cloud infrastructure. Terraform Cloud enables infrastructure automation for provisioning, compliance, and management of any cloud, datacenter, and service.
Configuration Management with Ansible
Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to cloud management, in a language that approaches plain English, using SSH, with no agents to install on remote systems
Monitoring
DevOps monitoring tools provide automation and expanded measurement and visibility throughout the entire development lifecycle -- from planning, development, integration and testing, deployment, and operations. Prometheus is the tool use in monitring entire lifecycle.
Python Basic and Automation
As IT professional you must know how to code get familiar with basic code in any language but we will recommend Python.
That's it practice and try to get certified, Build Project, contribute to open source and keep learning.