Hello, team. Welcome back. Welcome to DevOps Training. This is the first lecture of this particular course. And today we will learn about what is DevOps and what are the DevOps toolsets. So we are going to cover these few topics and this particular lecture we will learn why do we following the Davos practices, right and what is the benefit of the Davos practices? So first we will learn about the evolution of software development over the years. Then we will discuss a use case history of Facebook, which uses DevOps. Then we will learn what is DevOps and at the end we will learn about the different toolsets which is used for the DevOps. So let's start with. So in the previous time, or you can say in the earlier time when software development started, there was different different kind of models, right? There was different different kinds of software development lifecycles. So the most popular software development lifecycle was traditional waterfall model. In the waterfall model, first we require gather the requirement in the planning phase, then we do the coding, then we do the testing, then maintenance, right? So this is the complete product lifecycle of the traditional waterfall model. So every phase have their own significance, right? So in the planning we was basically gathering the requirements after. Then we will start the development and after the development we test the complete product and after the test we deploy the complete product and we use the maintenance, right? So there was a different different kind of gaps available in that particular waterfall model as the product release lifecycle is very long, right? Because we can't release the product until we build it completely. The testing effort is used, the development of it is also used because we are developing the complete product and after then we are starting the testing, right? We are not doing things in the parallel so that model have these loopholes. So the next model which comes in the market is agile development and the agile development. The product developed in feature wise. The azaleas basically feature wise development in the product. We develop a single feature, right? We take the requirement, develop the feature, test it, and again go to the development if we are getting some kind of bugs. Once we complete single feature, we pick up the second feature, right? So in the agile development, we have a very short time deliveries. Eight requirements in the Agile model requirements changes very frequently. Development needs to be fast, but after the sale now we are working in the ERA which is called DevOps approaches. So DevOps approaches is best suited when we have the requirements changes frequently. Development needs to be agile and operations also needs to be agile. And the DevOps era, the development and testing will continue in a single phase, right? We can develop and test the product in parallel. Let's see how we can do that. So before move to the DevOps and DevOps technologies, first I would like to share experience of Facebook, which Facebook experienced in 2011. Right? So we know very well Facebook is a very big company. They hire the best engineers from the market, right? They are also working on cutting edge technologies and Facebook is an example of the best engineering in the world. So Facebook launched a few features in 2011. In 2011, Facebook introduced new features like timeline, music and ticker. Right? So in the last diagram, you can see where we have the world map. So we are showing over here the different different data centers of the Facebook, right? These are the deployment zones of the Facebook. So when Facebook basically released these features in 2011, they deployed the new features on their all data centers. They basically released the new features worldwide in a single go right after this. They faced some challenges. So basically, at the time of 2011, Facebook have 500 million users worldwide. Right? They used the they released some new interesting features in their website which attract a heavy traffic on the Facebook servers. And in the result, Facebook servers melt down. They stopped working. Right. And when the servers stopped working, there was the delay in the Facebook, there was the delay in the Facebook opening. There was different, different kind of issues, user experienced. So they got the mixed response from the user, which leads no conclusion because there is no way to remove these features. There is no way to come out from these kind of situations. Right? So after this, Facebook created a strategy which they called the dark launching technique. Right? So after this incident, Facebook comes with the dark launching technique. So let's discuss what is the dark launching technique? What is the strategy Facebook maintains after the incident of 2011? So according to dark launching technique, they basically divided the dark launching technique in three parts. And the first part they discussed and they implemented a way like new features are first deployed on a smaller and specific user base. So instead of the complete user base first, if we are introducing a new feature in our application, if we are going to deliver something new, then we will open that particular feature for a specific group or for a smaller group which Google also used in the Google chat. First, Google Chat was introduced in the company itself. Google Chat was open for the Google employees only. Right. So the new feature will first deploy on a smaller area or on a smaller zone. Right. And it will be open for the specific user base. Right? Then they continuously monitor the feedbacks and continuously develop and test it. So basically here we are getting three new terms. First is the continuous monitoring. Second is continuous development, and third is continuous testing. These three terms are basically comes in the DevOps. So when we are basically deploying a basic feature or a new feature to a specific group, we are monitoring the feedback of that particular feature. We are continuously developing the bugs which we are getting in that particular feature and test it and again deploy it. Right? So there is a cycle we will discuss about this particular cycle with a very good diagram in the coming slide. Right? Once the feature is stable, once we know that that particular feature is stable, right, they are deployed on other user basis in multiple releases. So after the feature is stable, we are still not going to deploy the complete feature overall. All data centers or overall or complete application. We will release it in multiple release for a specific specific users. Suppose first we will release releases for the year, then we will release it for Europe, then we will release it for America, then we will release it for UK, right? So we will release the new features in chunks in multiple releases. So this is called the dark launching technique. So this is the diagram of the dark launching technique. So very first, the Facebook is a company which introduces a new feature, right? It will deploy it on a specific user group, which is in the yellow Belt, Right. Any specific data center. Then we get we get the bugs, so we roll back the feature. So basically over here we can see a cycle is being generated. First, the feature is going to specific user. We are getting the feedback, which is called continuous monitoring. If we get some kind of feedback, some bugs, then the feature again, go back to the development team, right? They will fix it and test it. This is called continuous deployment development and continuous testing. So feature is being released to a specific group. They are being monitored. If we are getting some bugs, they can go to the development team, development team, fix and release a new build. It will again test it and again go to the development team if there is a bug. So there is a complete cycle which is called continuous monitoring, continuous development and continuous testing. Right? Once we have the feature is stable, right, we will release that particular feature to our. Other users. This is called continuous integration, right? Once we have that particular feature in our application, we will open that feature in multiple releases to multiple users. This is called continuous deployment. So we are deploying our application continuously on different different data centers or in different different data zones. So here we learn five new things, right? So this is basically the implementation of the dark launching technique are the activities or the fundamentals of the DevOps lifecycle. And DevOps lifecycle is all about the continuous deployment, continuous development, continuous testing, continuous integration and continuous monitoring, right? So this is the phase which started the DevOps. Now we learn about the devils. So as we have already discussed, DevOps is not a technology, DevOps is not any programming language. So basically DevOps is a software development approach, right? Right. Waterfall model, right. Agile model. DevOps is also a software development approach which involves continuous development, continuous testing, continuous integration, continuous deployment and continuous monitoring of software throughout its development lifecycle. So it includes the plan code, build, test and after test, deploy it, operate it and monitor it. If you are facing an issue, then again, go to the plan. Good, build, test and again deploy it, operate it and monitor it. This is a complete, never ending cycle so that we have a sign like this, which is infinite design of the DevOps. So we are basically working in releases, we are planning something, coding that particular thing, developing that particular thing, build the project, test it again, deploy it right after the deployment. We will operate it, monitor it. If we are getting any issues, we are getting any feedback. We again go to the development phase. So this is never ending cycle. But in the DevOps we have a very frequent releases. If you, if you, if you want, you can release your software weekly, bi weekly, twice a month, twice a month or in two months, in three months. So basically in the DevOps, we have a very frequent releases. This is the benefit of the DevOps approach. In this particular diagram, we are displaying some kind of tool sets which is required for the DevOps. So when we are talking about the plan and code, we can use some toolsets like Git, right? Like Subversion and JIRA. JIRA is used for the defect reporting, git is used for the software version controls and so subversion is also used for the software and control. We will discuss about that. Get the complete git tutorials in the coming to tool in the coming videos. Then we will build our project. We have the different different kind of build tools available in the market like Maven and and Gradle will use Maven in this particular tutorial. Right? We will learn about the Maven. If I will get the time, I will create the lectures on the gradle as well. Then next phase comes in the test and we have the testing tools like Selenium G unit, rest assured. Right. So here you can see we have different different fees and we have different different tools available for each fees. Right? Then we have the continuous deployment and monitoring for that. We have the tools like Ansible, Puppet Chef, Salt Stack, right? Then we have a continuous monitoring and we have neural sensor and nag use. This complete phase is basically called the dev phase, and these are the tools of the DevOps profile or DevOps approaches. Right. So we are building the project, We are developing the project, we are building the project, we are testing it. We are deploying it right, monitoring it and again, building it. So this is the DevOps. So that's all about the DevOps. If you have any question regarding the things we have discussed today, then you can put your question in question and answer forum and I will answer your questions right in the coming tutorials. We will learn about the continuous deployment, continuous integration, continuous monitoring and about other areas. Thank you. Thanks for your time.