How I would Learn DevOps from scratch (if I could start over)

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
have you ever wished you could go back in time and change the way you learned something I did so as a devops engineer sometimes I wish I could go back to when I started learning devops and cloud and focus on Necessary Things rather than wasting my times on unnecessary things and tools that I don't use today my name is Nasi and today in this video I want to share with you how I would approach learning devops from scratch or what Google Map would I follow if I could start over so I started learning cloud and devops while I was in college and I used to do some freelancing tasks here and there but then I got an internship and a job as a devops engineer at a remote company when I learned all about devops I used all the different devops tools like kubernetes Docker ansible terraform Jenkins Prometheus grafana all of it and now as a full-time devops freelancer I use my skills to help people and make a living out of it so over the year I've gained a lot of experience now I know this tool is important which is not and learn some valuable lessons about how to approach learning devops effectively I want to share with you everything that I wish I knew when I started learning devops we will cover the roadmap and focus on necessary skills rather than wasting time on unnecessary skills or tools that you might never use in your devops career so whether you are just starting out or you are already in the field I hope that the insights and the tips that I share in this video will be helpful for you so without wasting any time let's see how to learn devops effectively and efficiently thing I would do is understand what the is devops and let me explain you this in the simplest version possible devops is a way of working where you bring the developers and the operation teams together to make software delivery faster better and more efficient this helps organization to get their softwares to the customers very fast with less bugs and better quality and to achieve this you need to understand three important things and these three things are what devops is actually the first is infrastructure automation monitoring if you understand these three things you will easily understand devops you can easily learn devops so what do you mean by infrastructure if you want to create an application if you want to create a software you will need a server server is an infrastructure you will need a database so database in is an infrastructure so what does infrastructure means infrastructure refers to the underlying system and the hardware responsible for software development and delivery second is automation so automation means automating the stuff that you do man for example if you were to create infrastructure manually through the console you can automate it through terraform through ansible so automation refers to this tools and the script to make work faster and easier so you need to understand automation if you want to learn devops third is monitoring monitoring means you need to check how is your application running is it too fast are my customers facing any issues monitoring means keeping track of how your application is working finding words or problems and fixing them right away so if you want to understand devops if you want to learn devops you need to understand these three terms it's not about learning all the different tools and stuff you need to understand these three basic things which is what devops actually is now that I understood devops I would start with Linux Linux is crucially important and you cannot do devops or Cloud without Linux and Linux is the most used operating systems for running web servers Cloud infrastructure databases mobile devices making it an important skill for every devops engineer to begin I would start with learning fundamentals of Linux like what is fi system what are permissions how to use text editor and Linux what are shell scripting basic commands if you want to know the important commands for a cloud and a devops engineer you can check out my this video where I have covered all the important commands that you might require as a devops engineer so first thing I would start is learning Linux and I would recommend you something that I did myself is to remove windows from your system and start using Linux women those start learning Linux if you want to work in devops so Linux is very important first thing I would start is with Linux I would just focus on basic and important commands not trying to master Linux because it is a vast topic by learning basics of Linux and all the important Concepts you can build a strong foundation for your devops journey so start with Linux it is very important after I know Linux I would start with networking networking is very important because many companies that use devops are very strict with their networking policies for example they want their database to be deployed in private subnet and you won't know what private subnet is unless you learn networking so in networking I would focus on topics like DNS or domain name system or different DNS records like a records cname record txt records all of these second I would cover TCP IP protocol and Port what is SSH Port what is RDP Port what is MySQL Port all these different things I will learn third I will learn different gateways and Route routing so what is internet gateway what is Nat Gateway what are route tables how is the traffic given out third I would learn subnetting or side arrange subnetting is a concept of Distributing your IPS in a particular Network so if you want to know what submitting is check out this video so networking is very important for deploying your applications and to troubleshoot networking issues so I would learn networking after I learn Linux moving on I would learn virtualization and operating system so virtualization is powerful technique of creating multiple virtual machines on one physical machine earlier this used to be a very important skill and now still it is so I would learn virtualization to start with I would recommend you to install VMware virtualbox or hyper-v or vagrant which can help you create virtual machines I would install any of these tools which allows me to create virtual machines on my physical machine and I would install Linux on it so when you do this you understand how to distribute resources like CPU Ram among all these different machines and this is very important when you launch servers on the cloud so you need to understand how virtualization work how to distribute resources among different machines and then after you create a virtual machine you need to understand how to install and configure operating system on it so I would install virtual machine configure Linux on it and then I would try my Hands-On on Linux so this is what I would recommend you start learning virtualization using tools like vagrant hyper-v VMware virtualbox install and configure Linux operating system on it you can configure Ubuntu Debian anything you like and then you will learn the concept of oscillation which is very important for any devops engineer so by learning this it will be very easy for me to manage and create infrastructure in the cloud once I have a solid understanding of what is Linux networking and virtualization I would start with programming and git earlier I should think that devops do not require any programming devops not required coding but I was absolutely wrong and I tried to answer this in a video where I talked about how much programming or coding do you require for devops engineer explaining what are different real life use cases and what programming language should you choose so you can check out this video so I think programming is very essential for any devops engineer as it can automate your task so I would start with learning programming which is python what are different data types in Python how to create a function in Python I would learn how to work with different python models like flask Django or Bodo 3 so that I can automate and create script for my devops task once I have understanding and knowledge of programming I would try to create projects and push it on my GitHub repositories and to do this I will start learning git so git is extremely important for any devops engineer companies are looking for people who have get knowledge so I would start learning it and get I would learn how to clone repositories and how to push to the repository I would learn how to create and manage different branches I would learn how to create and submit pull request merge requests how to write proper comment messages so all these different things are very important including all the basic commands like what is git commit what is git pull what is git clone all the different commands so I would start learning git as well by mastering programming and git I would have the knowledge to automate tasks and to save them on Version Control Systems like gitlab and GitHub after I learned all of this now is the time to learn cloud from any top three cloud provider AWS Azure or gcp you can choose any of them and if you want to see what is the difference between all these three different Cloud providers you can check out this video where I have explained the difference between AWS Azure gcp and which one should you choose for me I would go with AWS and I would start with the foundational certification I would recommend you this course which is AWS Cloud practitioner Essentials which I did myself when I was learning cloud and this is the foundational course which can help you learn what is AWS how it works what are the different Services I would do that course do Hands-On and sit for foundational certification which is AWS Cloud practitioner foundational so giving this certification can help me build confidence which can help me in the next certifications which are associate level certification along with giving me the knowledge required to get started with using Cloud so I would learn cloud in a way to achieve certifications I will start with foundational certification then go ahead with associate level which is Solutions architect associate developer associate or CIS of social yet and similarly by if I have time I can get more certifications or if not associate levels are enough for you to work as a devops engineer in which you get to learn services like ec2 S3 RDS VPC SNS sqs secret manager all those important core Services you don't need to learn all the 200 Services I've seen people who try to learn everything but when you work as a devops engineer you need only 20 to 30 Services which are required for you to do everyday devops activities you don't need to learn satellite services or robotic services in AWS that is not required for devops so you just need important services like Lambda ec2 ECS eks VPC S3 all of those by mastering Cloud I will have knowledge to deploy infrastructure and deploy my application on that infrastructure so after I learn cloud and have knowledge of creating servers databases load balancers vpcs in the cloud manually I will try to automate it using infrastructure as code concept so infrastructure as code is provisioning and managing of infrastructure using Code rather than doing it manually and for this you will require knowledge of yaml or Json language and it's very easy you don't need to give separate time learning apple and Json because it's very easy compared to other programming languages like python so I will learn infrastructure as code and in that I will start with tools like terraform I will learn what is terraform how does terraform automate the infrastructure provisioning how what is resources what is provisioner what is provider what are variables what are outputs and terraform then I will once I master terraform I will set for certification and try to get get the terraform associate certification next after learning terraform I will go with ansible ansible is a configuration management tool which is used to configure multiple servers at time so till now whatever you have we have seen is enough for you to get any devops shop but I would also spend my time learning two more things one of them is CI CD or continuous integration and continuous deployment cicd automates the process of building testing and deploying applications software changes to learn cicd I would start with the understanding the principle of Automation and continuous Improvement I will also learn the different stages of pipelines which are build stage test stage and deploy stage I would get Hands-On training on CI CD tools like gitlab Jenkins or Circle CI I would learn I will also learn how to set up pipeline maybe do a project where I will set a pipeline that automatically builds and tests your code every time it's changed and how to deploy it on production safely and efficiently so when I have this knowledge I can make the work of developers very easy and it is a great skill for any devops engineer to get a job or to grow in their career I will learn cicd next thing I would learn is containerization in today's market every application is deployed on containers using Docker and kubernetes so I will spend my time learning what is controlization how is it different from virtualization what is the docker container how is the docker container created what is Docker image what is Docker file what are different Docker commands I will also spend time learning what is kubernetes how can you deploy an application on kubernetes how can you manage them or namespace what is the architecture of kubernetes having this skill can help you grow in your devops career and I would definitely spend my time learning Docker kubernetes and microservices all of that so I would not recommend you spending a lot of time because learning kubernetes is a hard skill so just understand the basics and while you work in your devops job you can learn more and more because devops is all about continuous learning you cannot learn a lot of the things at once I will just do the basics and understand the concepts and see how Docker and kubernetes is used in application deployment after I learn all of these tools I will showcase my skills by creating projects contributing to open source or creating a Blog creating a video anything so if you showcase your skills or learn in public recruiters will come to know that this guy has knowledge of Docker this guy has knowledge of kubernetes and they will hire you so you have more chances of getting hired when you showcase your skills on social profiles like LinkedIn YouTube or blogs I would do that and I would also recommend you to do that try to Showcase your skills for example this video you can take a screenshot and post on your LinkedIn that today I learned this skill from cloud Jam this way recruiters will get to know that this guy is learning every day and devops is all about continuous learning so you should showcase your skills and try to learn public last but not the least soft skills soft skills are as important as technical skills you cannot become a good devops engineer if you don't have good soft skills so when you work as a devops engineer you will work with different team teams like developers managers all of them you need to be a good communicator to collaborate with different teams so you need to have good soft skills to develop soft skill I would attend a devops seminars or events or communities having in my in my city or maybe online so that I can learn how to communicate network with different people and to collaborate with them which can help me in my own devops Journey to summarize if I could ever start learning devops again from scratch these are all the skills I would do along with them I would do Hands-On and create projects so do as much Hands-On as you can you cannot become a good engineer if you don't do Hands-On do Hands-On great projects showcase on your LinkedIn and I encourage you to learn as much as you can devops is all about continuous learning so don't forget to share your experience in the comments below and as always thanks for watching please like share and subscribe have a good day
Info
Channel: Cloud Champ
Views: 296,190
Rating: undefined out of 5
Keywords: devops roadmap, devops roadmap 2023, devops roadmap for beginners, how I would start devops, How to learn devops, learn devops, devops career, devops for beginners, devops full course, how to learn cloud computing, how to start learning devops, how to learn devops step by step, how to start devops career, how to start devops from scratch, how to get devops job, how to become devops engineer, devops tutorial, cloudchamp, how to learn cloud, learn aws, devops from scratch, devop
Id: EAXdnPWUCcc
Channel Id: undefined
Length: 15min 15sec (915 seconds)
Published: Sun Mar 26 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.