Hi, everyone today we are going to discuss about the SDLC and also discuss about the job responsibilities of a DevOps engineer. How DevOps Engineer play important role in SDLC So, before start about the DevOps let discuss about the Software Development Life Cycle also known as SDLC.
SDLC is a structured process that enables the production of high-quality, low-cost software, in the shortest possible production time. In a very simple way it is a structured process that IT Companies follows to create, Build , Deploy and Maintain the Software Applications.
Let’s take an example of Facebook. It is very complex application and to build such an application it required all different IT roles.
So, first start with the Programming.
- Facebook is an application that’s need to be develop by the developers which right code for the Facebook.
- Developer rights the code in various different programming languages like java, python, JavaScript etc.
- Developer works in Team. So, one team per application or per feature. For example Facebook Messenger has their own development Team.
- Developer adds the new functionality in the application. If there is a bug in the application code then developer also fix that Bug.
Next Step is Testing
- Software Testing Team Test the code and find the vulnerabilities in the code.
- If there is any bug in the application code during testing then software testing team will inform to the Development Team to fix the issue.
- Testing is always performed if there is any new feature added in the application code.
- Automated Testing is performed in this phase. Automated Testing is the way to Test the code using the Code. So, it is code testing the code.
- Operation is the Team or IT Operation is the part of the Software Development and Delivery Life Cycle.
- Operation Team is in charge of running software in production.
- Some challenges faced by the operation Team are no down time, handle huge traffic.
To overcome this issue both Development and Operation team has their own job responsibility so that everything work fine.
Different job responsibilities needed for different job roles
Developer needs knowledge about programming languages, test frameworks, database, version control etc.
For operation team their is a need of knowledge about OS, mostly Linux , command-line scripting , monitoring tools etc.
Communication between development and operation team is important. Developer writes the code and tester test the code and handed over the code to the operation team. operation teams needs to set up the environment for the application to Deploy it on the production server. To perform this actions Documentation is written by the development team and given to the operations department so that they came to know about all the dependencies needed to deploy the application. In reality it is not happening smoothly. Most of the time Developer forget to add information in the documentation and operations team face many issues due to miss communication.
To solve this issue DevOps culture was Introduce. DevOps was just the way of working between Dev’s and OP’s. DevOps Engineer comes into the role. DevOps Engineer have knowledge about the all the process happing from Development to Production. Devops Engineer plays the intermediate role between Dev’s and OP’s.
DevOps Engineer Tasks and Responsibilities
- Needs some know-how between Dev’s and OP’s
- Additional Skills required like CI/CD, Docker, Kubernetes etc.
- Understanding the needs of stakeholders and conveying this to developers.
- working on ways to automate and improve development and release processes.
- testing and examining code written by others and analyzing results.