Hello I am Nikhil Gupta and welcome to this video series of LearnVern. Our today’s topic is who should learn DevOps and why should you learn it? So the first important reason for learning DevOps is earning money, right so in Nowtimes, first we need to understand the demand and supply of the market which thing is most required and what type of people they are hiring and what type of job requirements are there in market so for that you need look at what is going on in market? So you might have noticed which technologies are going on in the market nowadays. So the famous technology in today’s date is mobile phones, so the benefits of mobile phones are you can download any app, you can make a call, you can send messages, send videos and play games and even more features are being added to it day by day.
So if you see, the computer field is also getting famous in the market. Websites are being used, then we have computer apps and all these things are also being used to a large extent in the market and their demand is also increasing. So now DevOps is used for software development right, if you want to compete with your competitors then you should know DevOps skills. How? I will explain to you with examples.
If I talk about any normal company, do you know if we talk about search engine, Google was quite famous in 2015 which is popular even today, but earlier to that there was another search engine which was quite famous than Google, during the period of 2005 Google was not used much, at that time people used yahoo as search engine and even today also you will notice that due to some privacy issues in Google people are shifting towards duck duck go . So you can see all the products of the company are the same, you can search anything in all the three, they will give you the same results, even though everything is the same , people still are shifting their preference according to trend.
Now if we take examples of shopping websites then the most popular websites nowadays are flipkart, snapdeal and amazon. Ebay was also quite popular in its time. It is still present but not used much today. The same thing is happening with snapdeal, snapdeal and flipkart are not able to compete with amazon. So the first thing to think about is what can be the reason behind it? The main factor responsible is the trend. If you have noticed that if someone is giving good reviews to some website and recommending it to others, so here, a mentality has been created and other people are also going to get attracted towards it, so in this way brand value is created and more and more people move towards it.
So you need to understand why people are giving their first priority to amazon, as amazon has a policy if you face any problem while using amazon website or if any new feature is launched, amazon tries and add that to itself, it is not like flipkart and snapdeal do not try but they are not able to cope up with trend and they are not able to meet users expectations, and because of this reason people shift towards amazon.
Similarly, if we talk about other software for example chatting apps or social media . so facebook we have but its predecessor was orkut, when facebook was not launched orkut was quite popular and acted in same manner you could make new friends and send messages but you were not able to facetime with any one means you could not video call anyone, but you can do that in facebook, but gradually as instagram was launched and tiktok was launched, people stopped using facebook, why is this happening? If your application or website is not coping up with trends then people stop using it. Now do we have any such website which has been running for a long time and still working? so we have one such application that is MS office, so MS office is one such software which people used earlier also and still today people use it, we do have alternatives for MS office like Google sheets and any other Google apps but they are not as popular as MS office. But if MS office fails to cope up with trend and not able to bring update then it will also not work much in the market, so this is one reason that nowadays there is lot of competition in market and if you are creating website or app but at the same time some other person is making same type of website or app that is trendier than yours, most of your customers will shift towards him.
So because of this reason most of the companies expect their app to change according to the trend, but earlier it was not like that they used to create and develop it from start to end and after releasing it they will leave it as it is and only update it. But nowadays, this is not the case. An app from top to bottom, from the idea to its implementation, its design, its backend needs to be changed according to trend so it means earlier what was created cannot be used in today’s date.
And another thing is the language of programming and coding has also changed. Earlier it used to take a lot of time to develop an app but today the time has been reduced. So how is it possible? All this is possible because of DevOps, earlier no such tools were available for gathering 5 people together and all of them will program and code at same time and at the end it will be merged and submitted to the client. Now this process is very complicated and huge and following this whole process required a lot of time earlier. When we started developing DevOps tools gradually and started implementing it proved beneficial for us so these are benefits of using DevOps tools.
If someone uses DevOps tools for website development or creating any applications then our productivity increases and our required time decreases. Our output gets generated easily and it becomes efficient so because of these reasons companies started using DevOps.
Now another thing if you don’t wish to work for any company you just want to work as freelancer then also you must know DevOps, now if you are freelancing and you got any project and you have submit it to someone so what happens is you need to upload that project somewhere you have to deliver it to client so there are some steps like you have to deploy it, test it so all these steps which we do in DevOps that you have to follow doesn’t matter you do it manually or with tools of DevOps and if you don’t do so then others will do it. So if you integrate your program while developing with DevOps tools then it will be beneficial for you only as it will be done in less time and it will be easy for clients also.
For example you are using version control system so if the client wants to see how it was initially and then what all changes were made in it then what is the final version then they can easily see all these things, now if you are working somewhere then what happens, while working for a company you will realize almost 15 to 20 people are working for same project means 15 people are working together to complete one project . so in this case what happens is everyone’s work is divided but at the end your work will be merged means let it be developer, manager, tester or some operations guy, here operations guy means one who is giving it to clients or taking his reviews so we call that operations in which that person need not have to have knowledge of coding, but even that guy should know some tools of DevOps.
So now everywhere different tools are used like publishing tools, building tools, or review tools or monitoring tools all these tools should be known by operations guys and then testing tools, developing tools, version control tools all these tools should be known to developers.
Now if you are working in a company or if you want to work with any company or you want to do freelancing and your company is IT related, and on any post you are working or at any level you are working you will find DevOps tools useful. So it is necessary for IT people to learn DevOps. So let's see on which levels and how DevOps can be and is used.
So the most common thing in an IT company is a developer, okay. So first of all in one company there are many developers and all them are working for writing code so now you have to assume I want to create such app which will work similar to facebook, a social media platform, in which I can write any message and all my friend can see that message and they can like share and comment on it, okay or as known as interaction means people can interact with each other okay, so if I want to create such application or website then how many developers will I require?
If I ask a single person to create a website for me then what will happen? He will require lots of time to create it but if ask 5 people to do the same work and I divide their programming work between them equally then what will happen the work which a single person can accomplish in 1 year with help of team I can accomplish it in 6 months because here 5 people are working now if I still want to reduce the timeline then is it possible? Of course, it is possible but one more thing which needs to be taken into consideration is the money factor. If I hire 5 people to do this work then how much do I need to pay them?
If I hire a senior developer and if I am paying twenty thousand to each then in all I need to pay 1 lakh rupees, now if I hire only 2 senior developers then I need to pay just 40 thousand this is not the actual amount. We are speaking hypothetically, so if I hire junior developers to work alongside senior developers who will work in less money and if I pay them only 5 thousand and if I hire 4 junior developers under each senior developer then also total amount will be 1 lakh only but here the size of team has been increased and even if I remove 1 or 2 developer still my work will be done in less time and less money, why? Because I have replaced senior developers with junior developers in this scenario.
There are some disadvantages also, we need to teach some techniques to junior developers and our senior developers need to review everything and see whether junior developer is working efficiently or not but even after that you might think you are saving money and time but during time of implementation will it be easy to implement it? no, because if I have 5 senior developers and they are coding something and sending it then they need to review it and then build and check it so this process will be very lengthy, now if you are using DevOps tool then ,if you are using version control system that too centralised then any changes that are done will automatically reach. Then you can use issue tracking, we have many tools available in DevOps for issue tracking and through those tools you can easily check means a senior developer can review junior developer’s code, he doesn’t have to ask about it again and again what are the changes and all, the updates will be shown on his screen automatically like earlier this code was used and now after doing some changes the new code looks like this and now you can review this. It will be easy for both junior developer and senior developer testing the code.
Now the same thing happens with the project manager, okay. Now who is the project manager? As I told you, we have hired these many developers and all those developers work under project manager, so it is the project manager’s duty to handle the client and developer. He simply asks the client about his requirements and what type of app does he want and what features should be included in it and then he will discuss all those requirements with developers and then they will make an estimate of time and money required for that project and then convey those details to client and if you are willing to work in this amount and time we will move further with our project and then it is project manager’s duty to release the project after completion and then he will monitor it and take feedbacks.
When a project manager takes some information from client, now you might be aware of a game called chinese calling game means one person is telling something to other person and then that other person tells something to some other person ,so in this manner when a message is passed on in such manner then it is said that when this message is received by 20th person then that message will automatically have change in its meaning. When one person tells something secretly and then in the same manner this message is passed between 20 people then it is bound to happen that the message will be modified a little every time . So the same thing can happen when we are developing an application.
Means when client tells something to project manager and when project manager tells same thing to senior developer there might be some changes in the message and when it reached till junior developer the message was totally different. So in order to avoid this , Devops have some tools related to ideation so in that tool all the data will be saved as said by client and you will save that whole data in that and then you can put abstraction level on it, abstraction level means who can see your data at which level of security means junior developer will see only that which is his level related and senior developer will see according to his level means a person can see data according to his level , so like this you can use credentials on document also.
Now if you want to monitor, then the project manager can use tools like time tracking, then issue tracking and then time chart etc . Such boards are available to us which is known as SDLC software development life cycle through which we can track the whole project. So project managers can use DevOps tools for all these things, okay … so after project manager one more thing comes that is management, management means company’s that part who does not have any technical knowledge. Now the project manager should have a little bit of technical knowledge, why? Because if he does not know whether the demand is feasible or not and if he takes such a project or feature form a client and gives it to the developer then it will be an impossible situation because the developer will not be able to make it, so for that reason the project manager should have at least some technical knowledge.
Whereas management is such part where there is no need of technical knowledge means their main task is of maintaining the whole company, for example if we are talking about facebook, then in facebook company so many people are working, then its CEO or director Mark Zuckerberg, if he wants to know which project has been completed? How much work is done in his company? He can easily know that but for that he needs to ask everyone whether the project has been completed or not? Or what is the senior developer doing? Or what is a junior developer doing? Or which project has reached which phase? No, so the management team has one more important role of monitoring .So the management team can also use DevOps tools and through that they can track which project has reached till where, or is there any error in that or till where it has reached? And what work is remaining and what has been finished? What is client’s feedback? So all these things are monitored by the management team through tools of DevOps, hence tools of DevOps are used in management also.
After that we have a tester, when you create an app that two types of testing are required. First is technical testing and legal testing, now what happens in both these things is they need to check whether their app is not crossing any legal boundaries so to check that legal testing is done, in this app is checked for any risks, risks in the sense whether your app is not doing something which is not legally allowed or is it leaking your data or is it helping cracking password easily or sending someone’s personal information so this is done in legal testing.
After that we have technical testing. In that it is checked whether the app is working according to its expectation or is there any other problem. If you are adding any feature or for example if you are adding login feature and if you are keeping security in that like our password should be alphanumeric means it should contain both number and alphabets so tester has to see whether any person is putting only numeric or alphabets instead of alphanumeric, then tester will inform that to developer by raising issue but if it is correct then it will put our application on release . So in this thing what problem does the tester face?
As we saw earlier if I have many developers but I have only one or two testers and if he finds any error in code then will he need to check which developer has made that error? No, tester will only see why this vulnerability has occurred or error has occurred so if he goes through all the trouble and finds out who has done that error, it is not that he cannot find it can be done manually but it will be very time consuming being a tester he will first test it then he will find the error and then who has created that error and then he will report that problem and after reporting it will be resolved whatever error is occurring that will be solved and after that it will again come for testing so if do this procedure manually then you can imagine how time consuming it will be ! but if you use the DevOps tool as we saw earlier also we have a tool named issue tracking, if there are any changes it will easily detect and report the particular line where error has occurred and after that the particular error will directly go to that developer who has created it and it will be easily solved. so DevOps is necessary for testers also.
So let it be any company of IT if you want good salary and good post starting from senior level to junior level no matter at what post you are working let it be technical aspect or non-technical aspect if you know DevOps then you will get good salary as well as good post and it has lots of benefits and it will make your work easy.
If you have any comments or questions regarding this course then click on the discussion button given below this video and post it there, and you will be able to discuss the course with learners.
Jay prashant kakade
Its a great platform to learn if u a student instead of putting your time n money out in classes n all get the knowledge as much as you can