Step by Step to learn DevOps and Cloud

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hey what's up folks gk here so lot of you have asked me to create a step-by-step curriculum or step-by-step topics like how to start to learn devops and cloud in 2020 so in this video i'm going to cover the curriculum that i have followed and it helped me immensely to learn devops and cloud back in 2015-16 but it is still relevant today and that is what i have used as well to teach people and a lot of people have followed it and they are very successful today so it is structured in a way that you know it's going to give you a perfect foundation to learn the option cloud so what i highly recommend you is you know go through the topics of what i gave in the slide i'm going to show you in the slide and you can go up to how much depth you want but focus on the most important topics that i'm going to highlight during the course of the video so when it comes to time to finish the whole curriculum or the course it will take 30 days if you spend or one hour per day or it's 30 hours or 24 hours or something like that because when i used to teach i used to teach three hours per day and it used to take like eight days so it's all up to you how much faster you can learn but this will be helpful for anybody who wants to become a cloud architect or solutions architect or an operations engineer or you know who's willing to get into devops and cloud from any different background so with that let's go into the slides and i'm going to show you all the contents and i'm going to explain you how you want to get started and i'm going to give you some important tips so do watch till the end of the video so first things first i have said this in my previous videos as well so whenever you start learning devops or cloud or both together first try to understand why devops like what problem that is devops trying to solve today and go into the definitions do some research write down all the notes get the devops definition right and same with the cloud as well like how companies are moving to cloud what problems cloud is trying to solve what are the use cases it is trying to solve so this is the basic foundation that you would start with and once you are done with this and once you are you know clear with what is devops or what is cloud so next and most important thing in the terms of keywords and this is the order i would suggest you all to follow i don't i mean you should you can follow your own order but this is what i recommend and i have done it before so if you have worked if you're experienced you must have worked in agile currently that's what you know instead of waterfall model every company most of the companies at least instead of every company they follow agile and if you do not know agile just get the basics of what is agile all the scrums and stuff you know user stories get the foundations of agile and try to understand agile how it works because it's going to help it works hand in hand with the whole devops culture so the reason why i have put quality here is you know as an architect if you want to become an architect for cloud or devops you have to understand how quality is important and how it integrates with whole devops meaning you know how you're going to integrate the ci cd with quality like different uh tools that you would use so that's why it's important to learn quality so the thing is the scale of infrastructure here what i would recommend you all is do some google search on so different infrastructures or different system design patterns that you can find architectural patterns that you can find you have a lot of websites that are teaching this today so for instance if you want to find the find the in scale of infrastructure of like the netflix or you know any search e-commerce like amazon.com or google.com or study the case studies of those infrastructures and architectures how they are designed from right from user logging into a web browser till user checks out in the amazon.com or in from user logging into netflix until you watch the movie how the data is traversing and how they are securing it so this helps you to understand how complex the infrastructure and how complex the architecture is for those applications to have that skill so that's why understand this and then go through the case studies like same with netflix or any other company there are a lot of white papers and case studies how they have done like netflix has a famous case study on how they have uh used micro services to scale their infrastructure so those are the important things and this is all the theoretical part uh in the in all these slides you would see both theory and as well as practicals meaning you have to practice a lot in the future slides but as far as this slide is concerned this is all theory to help you understand different key words that are important again caching is one important thing as part of your infrastructure you know vertical scaling versus horizontal scaling this is most commonly asked question even till today in cloud interviews so understand this and cdn again is important there are companies that do cdns so understand that and as part of your scale of infrastructure and case studies also try to see how they are doing the availability like you know how netflix maintains the availability if one data center goes down or one zone goes down how they do that like how are they achieving through caching you know how are they achieving through high levelability design patterns that they're following so with that this is the most important thing this is where you're going to get your hands on stuff going on and i think i've said this in most of my videos whenever people have asked me what are the important skills to develop for devops and cloud so linux is the most important operating system i think everybody should learn i mean if you are windows it's an exception you can learn windows but if you are coming from a different background to learn the option cloud i highly recommend learning linux so the way you want to learn linux and this is again one of uh my subscriber has asked this question because when i say learn linux you don't have to go and do red hat certification i mean nobody would ask red hat certification any devops interviews as far as i know or in cloud interviews but the reason why linux is important is because whenever you create infrastructure or whenever you do pocs as an architect or even if you are working as a support engineer you have to have these commands and everything back of your mind uh whenever you're practicing these and also it's us the interviews as well for both from junior support engineer operations engineer or even developer sometimes still solutions architect they ask these questions and that's why so the way you want to do this is you know if you if you want to spend some money or if you want to create a free account i would highly recommend getting a free account in google cloud or aws or azure and then create an rh or centos basically companies use rhl if you want to have a freer version of that like like free distribution of rhl then the decentralized install centos if you do not want to get into cloud install it on your virtualbox on your pc and then just keep practicing the basic commands you know all like get familiar with all the basic commands like cd mv if you are new to linux and if you are not new to linux then you should be fined with this uh with this topic and then coming to the most important comments so these are the commands that are often asked in the interviews especially the top in the top you have to know how to look at the process how to do look at the load averages and the free is important command so top fs tab fdisk ls off are the important commands and vms at iostat not very important unless you are into the system administration but in the terms of important commands top fdisk and ls of are very important comments so once you are good with linux right so the next thing that i recommend is start working on the bash scripting as well so play around with your bash shell so this is like in continuation with your linux you know how you create uh a shell variables uh how to manipulate uh the shell variables you know what are the default path variables that you get using four cleases and file descriptors like standard output standard in so what are different uh standard inputs and standard output and in terms of batch scripting the normal batch scripting just create few scripts uh play around with like file manipulations especially if you want to you know sort the files using a bash script or if you want to archive a log or if you want to you know go into the file and search for specific word uh using the vi vim or you know so do all that thing and come up with some bash scripting programs like basic programs you have lot of websites for it and i highly recommend going into some websites that provide best scripting interview questions and don't spend more than on this topic more than two hours or three hours i mean especially on on the bash itself so you should be fine with this learn whatever you can and then get into the crown tab the reason crown tab is important is just try to understand the basics of cron tab how you set time in the cron tab because you would see it is pretty much used in most of other tools as well like for example in the scheduler of google cloud they follow the same cron tab scheduling methods and even in jenkins you can use the same scheduling way so understanding crown tab is important and then the other thing is basics of python programming now how deep you have to go in the python i would highly recommend going till writing functions so you should be very proficient with writing functions and oops it's important you learn it's always good to learn but if you don't want to do that at least write you should be able to write functions and you know you should be proficient in writing any python code for any specific scenario so this topic will help you and gives you confidence in the terms of having at least one programming language and one scripting that would help you to attend interviews and crack interviews so this topic the common infrastructure services or servers now dns is the most important in this slide and even when i was attending interviews after like 10 years of experience or you know 11 years of experience they would still ask me like what is dns and how does dns work so you don't have to install and configure dns if you want to do that by all means go and do it in your linux server but you know you don't have to set up the dns servers and stuff but at least understand have the foundations of dns and understand how it works and here also i haven't added it here but i would highly recommend try learning how ssl works when you are trying to learn http and when you're trying to set up a web server try how does ssl handshake work in how you are securing your data in transit and http codes 1 100 200 or 403 or 404 or 503 so those those are important status quo just you don't have to remember all the status codes there are some important status codes that you would like you want to remember again like i've said before the reason why they ask this is not to not to scare you off but it is just to one to see your understanding whether you have worked on uh you know http based even for rest apis when you're trying to program you would know this because these are the common status codes that you that you would get so moving on in the terms of web servers any application today you know it it has web server for a front-end component right so understand the web server at least install nginx or apache and iis is optional because i'm not a huge fan of microsoft so if you are microsoft fan then by all means go with is but you know at least have install apache or nginx and play around with that and see different web server configurations uh you know how to set up virtual hosts and all those things with respect to apache and it's fairly simple and now moving on understand the concept of reverse proxy and and try to do a tutorial with nginx with reverse proxy and once you are done with this go into the road balancers understand the concepts of load balancers how they work and the most important and this is very important is understand the difference between layer 4 and layer 7 and if you want to know other levels of the networking layers then by all means study all those layers and just just have a glance at it but layer 4 layer 7 are the most important topic that are frequently asked in interviews so to practice load balancers you can try with ha proxy or nginx so these are the software load balancers and this will help you to build the foundation when you are trying to learn google cloud or even aws because they also use software load balancers right you're not going to use any hardware load balancers there so ha proxy would help you there and nginx will also help you there so either you can learn one of them or you can learn both if you have time so learn them and try to create a scenario where you have a web servers you have nginx sitting in front of it as a load balancer it is trying to connect to two web servers in two different virtual boxes or you know two different vms and shutdown one vm and you know connect to the other vm how the traffic is working when you're hitting http if you have some time do apache benchmarking meaning you know run some load tests and also when you're trying to load the traffic see what algorithm does does the load balancer use for instance if nginx is using a round robin or if it is using an ip hash based algorithm or if it is using some other sticky session or anything so so learn those algorithms so that would help and most commonly round robin is is used unless there are requirements like you know you want to stick have a sticky session for workloads that are heavily depend on the databases but otherwise you know ron robin is most commonly used algorithm so this is where all the fun starts from your devops tools perspective so start with git so in the terms of continuous integration and if you remember my video where i have talked about the ci cd pipeline so have that cicd pipeline in your mind and if you do not know what is ci cd i like i've said in my first slide get the concepts of devops ci cd and all those things sorted out there itself all the theory so all the theory would be uh you know you would be done by now with all the theory part in first two slides so when you're talking about these slides it's all about practicals uh meaning you're going to know all the git commands in this you know you're going to create a sample github account or a bitbucket account you know push the code there like for example if you have configured anything previously or if you have created any load balancer configurations or anything just push it there try to understand what is the difference between git pull and git fetch which is most important question by the way and understand how merge conflicts work how to resolve merge conflicts whenever you have three or four or more users in your team and try to simulate that scenario between yourself by creating two different you know linux users and try to simulate a much conflict scenario and resolve that so this gives you a good confidence in practice like how git works so now with respect to jenkins this is the most important tool as you all know it's most famous tool for ci there are other tools as well like go cd travis ci and all but still most of the companies use jenkins so as far as jenkins is concerned if you can install install jenkins or if you have a free jenkins lying out somewhere you know practice there but i highly recommend installing it once at least that way you'll also get more hands-on with your linux environment when you're installing on lx uh if you can install work you can install war if you want to install using m repository do that so once you install jenkins so integrate with git so as soon as you make a commit to the kit you know you pull your or rather you push something to get it it should immediately trigger a jenkins job and in the jenkins job you will create all the steps that you would want to do as in if you want to build your java code you know it's like how would you configure your maven build system in jenkins or a build server in jenkins to build the code and if possible if you have unit test run the unit test and then you know send that jar file or war file that you get out of it to a artifactory or you know any other server basically and then deploy the server using ansible or any other any other tool which we're going to talk about in the next slide so this is where your jenkins i think once you learn jenkins here any any tools that we're going to discuss in the next few slides you're going to integrate that with jenkins so you're going to go back and forth and come up with scenarios that you can try to integrate with jenkins and jenkins being an orchestrator you will try to use it as much as you can to automate your things so in terms of configuration management again know the definition of what is configuration management and ansible is the most famous tool so ansible is very easy if you are new to ansible you can try my video on how i have used ansible to create a google cloud compute engine but it's a very simple tool so use try to learn ansible and chef so this is an agent list tool and this is with agent so you would know the difference of two tools and any other tools either fall into one category or they they support both like puppet these days it supports both ansible like agentless and agent with agent configuration previously it used to be just agent based but now they started supporting uh after ansible became more famous so in this category you can learn ansible and one chef chef is very famous again so get used to using these two tools and go back to jenkins again try to build the java code and deploy the java code deploy your service into a vm into compute engine or into a aws ec2 or into even for for example your own your own vm that you install on your windows so this completes your configuration management so by now you have learned some of important ci tools like jenkins kit and now you're learning ansible and chef this is all hands on and here i'm not teaching you anything in depth because this i want to keep it very short but i want to give you like a easy way step-by-step way of learning topics so as far as virtualization is concerned understand what is virtualization again this is a bit of theory here and types of virtualization like what is bare metal like what is hostile virtualization type one type one hypervisors type two hypervisors and then when you know those things you would know what docker is trying to solve but that's the perfect segue from learning the virtualization to getting into docker so that's why it's important to learn a bit of theory here to help you to get into a proper foundation and then in the docker um try to install docker play around with docker by installing whatever you have learned before for example if you have to create a scenario you have learned uh nginx before or you have learned apache before try to create a sample website and containerize that and then install it in docker containers and configure that with the load balancer so install nginx in another container and try to balance them so you can all you can do all these things in one vm so that's where you can see the beauty of docker working in just one vm instead of creating multiple vms so now if you want to do this in a much better way obviously learn gke or eks which is a managed cuber community service but basically understanding how kubernetes works for docker and swarm is not that required because these days everybody is trying to use kubernetes more than swarm for docker clustering and stuff so you can park gke and dks aside for now if you want but focus more on getting foundation right with the docker and then once you have this sorted out you can start working on gke and dks whenever based on the cloud that you are planning to choose so monitoring and logging this is not only important for operations engineers but also this is very important for a solutions architect because whenever you design a system you have to keep all these things in your in your mind like you know your networking your security logging monitoring day one operations data operations so in terms of logging understand the basics of login in linux how it works and start with syslog look at the logging levels like debug info what are those how can you configure those and try to set up at least one remote login with the default syslog dr6 lock so you can have two vms and you can consolidate all the locks from each vm to one place so this gives you a very good foundation because any other logging system that you see in the market or in the like currently they pretty much follow the same client server communication you know like elk stack or any logging technology or any company that they are doing so this helps you to understand how they do it and pretty much it will be easy for you to understand any other logging platform that's out there and once you have this stuff done try to set up elk which is elasticsearch logstash and kibana on your vm if possible this is optional but if you have time i recommend doing this and learn at least one monitoring tool and understand the monitoring tools how they work and the reason why i made nagios as uh optional is because these days most of the companies are trying to use sas based monitoring like you know they're not installing any monitoring servers or systems on the infrastructure so they either use cloud-based monitoring services that they get by default for example aws has cloud watch and google cloud has stackdriver now they are calling it as cloud logging which is not stack there anymore and so these these two or if companies are using a better monitoring tools or uh you know better come they're using neuralic or app dynamics or other you know sas based monitoring platforms if you can get one of the free account in those you can get but if you want to install it install it but main important thing out of the takeaway out of this monitoring is so how companies monitor their systems so that's the important thing understand how cloudwatch helps you to monitor the ec2s or vms like how stackdriver helps you to monitor the gc instances and how does an application performance monitoring works you know so those things are important and try to invest some time and go and look out for the tools and practice around one tool at least so last and most important thing once you have done all those things now spend some time on brainstorming which cloud you want to pick and pick one cloud either it is aws azure or google cloud and i have made a video so pick one cloud and then go into depth of networking and security aspects of cloud and rest of the things whatever you have learned so far in the terms of foundations it will be very easy for you to learn cloud now and with devops so you can you can do a lot of good things and i'm sure this will help you to you know make a good career out of devops and cloud so like i've said this whole course can be done in 30 days or 30 hours or max 35 40 hours if you spend time if you can create a structure and if you can prepare notes and i have i've seen people doing that you don't have to spend like post graduation programs around this trust me you can do it absolutely free by yourself and if you have any questions let me know in the comment section i hope this gives you at least structure around how you want to start and where you want to start with devops and cloud in 2020 so with that thank you so much for watching and if you like this video give it a thumbs up and share it with your friends and let me know in the comment section if you have any questions thank you
Info
Channel: Cloud Advocate
Views: 285,752
Rating: undefined out of 5
Keywords: Google Cloud, Cloud Computing, Cloud Technologies, GCP exam, GCP Associate exam, Google Associate exam, Cloud Engineer, DevOps specialist, AWS Cloud, Amazon Cloud, Cloud Career tips, cloud advocate, DevOps Career, Step by step to learn Devops, step by step to learn cloud, DevOps foundation topics, devops training, devops 2020, cloud 2020, devops basics
Id: -bFvC1_Utj0
Channel Id: undefined
Length: 26min 21sec (1581 seconds)
Published: Sun Sep 27 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.