DevOps:Where to Start?
Let’s start with “What is DevOps?”
DevOps is neither a process nor a tool or not even a methodology. It is basically a culmination of behaviors,community,culture and technical talent colliding to improve User Experience through tools,technologies,trust and people.
How Devops will help us?
DevOps help in
How DevOps differs from SDLC(software development life cycle)?
In Traditional SDLC, Developers write and test the code.
Now the developers get the requirements about the program and it’s processing from the business Perspective . So you may use whatever the language want and comfortable to design and program the piece of software.Now the program will be going for the test i.e Quality Assurance.
The Quality Assurance group will test the program to ensure that it is stable meeting the specific requirements.They usually know little about the Software Deployment.If they identify any issue. the program will be transferred back to the developers to fix the issues repeating the same sequence until the issue is fix. Once all the issues are being fixed ,the software go to the release, then the released program will be given to the operation team for ensuring the applications.
But the Modern SDLC is more complex, a code may be written in a language that can run on different servers and operating system. So the code should not have any compatibilityissues and should be tested from different platform. Developers and Operation team (system administrator) should have the knowledge about the program compatibility. So there has to be degree of collaboration between these two guys. This collaboration is called DevOps to improve softwaredevelopment life cycle or in the infrastructure area from design phase to production phase.
Now , several things come in our mind like “where should we start”? depending upon our company needs,based on the organisation needs or specific project’s need.
How should i get an idea ,a feature and Enhancement request: Something new you are making and it is out to production.
So that the customer using it will give you the feedback.
Based on their feedback you can improve what is your delivering. You have to improve three things every time:-
The software which you have to deliver the customer, customer use it ,they say the user-interface is good or this functionality enhance in such a way etc.So we can improve it.
Based on the operational efficiency of the environment, based on how it perform , based on the application performed running on the environment ,so you can improve the environment itself. May be the infrastructure.
Improve the process that you deliver ,the software and the infrastructure.
Because you always learn new things So you can improve every time. how your Developer and QA time will collaborate, how the production happened, all of this will continuously improved and when you get the level of high efficiency, then we have the ability to do this it is called innovation but all these are End result but where you do start?
Look at our entire ecosystem and now choose how vast you go and how small we go depends upon what are you are looking at?
Ex. If you are just looking at the project then you look at the ecosystem of the project,our software delivery life cycle of the project.
So where do these enhancement request and features comes from ? Probably some line of business out there or some marketing people who owns the business or the product owner’s who are giving the input .These people are the key stakeholder in adopting the devOps.
The actual Stakeholders are developer ,Engineer, QA, practitioner ,Integrator,usertester, operational people and all of them need to collaborate together. Based on these applications, there exist different Environments of people in IT sector or each stream like developer,system integration test environment etc.
Now, look at all these environments and how hands-off happened from people to people and how delivery happened of the software and configuration changes from one environment to the next.
Here it is not just physical aspects of deploying software from one environment to the next . but also the collaboration about happenings between different stakeholders(Developer,build,QA,SIT,UAT,Production). This collaboration and building of trust,building of communication between stakeholders ensure that all are in the same page, making sure they have access on the same data and asset based on which they can act is a very critical part of DevOps.