Introduction to Software Development
There are different IT roles in Software Development and Delivery process
Software Development
The software is programmed by developers and they use different programming languages like Java, Python, Js etc. They also develop new functionality and bug fixes.
Software Testing
Testers test new features and functionalities and it can be done by developers and dedicated testers.
Operations
The operations team build applications, deploy them on servers and upgrade and run the applications on the server
Development team vs Operations team
Traditionally, developers are only focused on the development of software or implementing new features and the operations team is focused on maintaining the stability of the software.
But there are lots of issues with this process -
Miscommunication and lack of collaboration -
Deployment requires configuration and the environment needs to be prepared, so communication is important.
Conflict of interests -
Developer focused on the new feature.
The operations team focused on maintaining stability.
This slows down the process and to solve this issue DevOps comes into the picture
Introduction to DevOps
The intersection of Development and operations. DevOps is about making the process of continuous delivery fast and with minimal errors.
DevOps tries to remove all these roadblocks in the release process
Instead of a manual inefficient process, it helps to create a fully streamlined process of release.
Responsibilities of a DevOps engineer
DevOps engineer is responsible for creating a streamlined fully automated release process.
Continuous integration and Continuous deployment -
DevOps tools
The Set of technologies used to implement the DevOps principles became DevOps tools.
Git
Docker
Jenkins
Kubernetes
Cloud
Terraform to use infrastructure as code
Python
Ansible
Prometheus
These are the popular DevOps tools in the industry.