Day-1/16 What is DevOps, Cloud, Agile, CICD and Azure DevOps | Azure DevOps Zero to Hero Full Course

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello everyone welcome back to my channel my name is p and this is day one of azure devop Zero to Hero Series so I Will Not Waste even a single minute and directly jump into the video all right so I have logged into to my GitHub repository which I have already shared in the previous video if not I will share again in this video as well so check out the description this video link is already there after going over there there are different folders for each of the day so uh do not forget to check it out day one should have been populated by now so if you scroll down this is what we'll be covering as part of day one is Introduction to Azure devops and basic concepts such as what what is cicd agile devops why do we use it what were the challenges with the traditional software development life cycle and how devop solves it and then finally we'll be doing a quick walk through of azure devops how to sign up and how to create an organization how to create in project and so on so let's start with the very basic what exactly is cloud computing before that we need to understand why do we actually need it imagine you are the owner of a small it firm and you want to scale your business however you would need a large number of resources to make that expansion possible such as office space more Hardware more furniture a lot of people to manage all these and a lot of money for everything these one time up front expenses are also known as capex or Capital expenditures then you would also have some recurring expenses such as cost of regular Hardware maintenance salaries to employees electricity bills of the office monthly building rentals and so on these recurring operating expenses are called Opex or operational expenses these are nothing but the roadblocks for this expansion and your goal is to minimize your capex and Opex and build a system that is highly scalable highly available and fall tolerant a system with built-in security and high performance enters cloud computing cloud computing is a way to access these Computer Resources and services over the internet instead of having to buy and manage it yourself imagine that you need to run a software program to store a large amount of of files instead of buying that hard disk drive you rent a storage service such as AWS S3 or Azure storage or gcp blob storage and it will provide you that access over the internet where you can store your files and make use of it remotely so buying Hardware is old school renting Hardware is what cloud computing is all about now let's talk about the difference between is Pas and SAS is as the name suggest infrastructure as a service pass is platform as a service and SAS is software as a service is Gives You full control over the infrastructure resources such as your virtual machine storage you can rent these resources from a cloud provider and configure them as needed to run your own application right you install your own operating system and you configure all your custom applications you take care of uh all the management task and administrative task and you have basically the full control over your operating system and your infrastructure but in pass they will provide you a runtime environment and a platform to deploy your application and development tools you do not get access to the underlined operating system you get access to their environment in which you can deploy your application and start using it and SAS they would provide you the application that you can consume directly as an end user so these uh software applications that are hosted on cloud and run by the cloud provider you just use them as the user in IAS you must take care of all the administrative tasks such as server patching upgrades backups patching is nothing but making sure all your softwares and your operating system system packages are up to date and have all the fixes of security and vulnerability um in pass and SAS Azure takes care of all your admin tasks right so as we said when you need full control your over your operating system you go with I when you do not want to take care of all your admin task you go with either pass or SAS is models are mostly paper use you pay pay whatever service you use for a particular duration services such as Amazon ec2 Azure VMS or gcp compute engine pass models are mostly service based models such as Azure web app SAS models are mostly subscription based such as your Gmail application your Office 365 subscription your Dropbox all these are SAS application where you do not deploy anything you just use the application the standard version of the application the lift and shift migration is uh nothing but uh when you have to move your applications hosted on premises to the cloud infrastructure so that you get all the benefits of cloud but you do not want to make any changes to your application so that is called lift and shift is would be the ideal choice because you get full control over your operating system and you can customize your application as you need as model is again the ideal choice where you do not want to take care of your admin task or you do not need the uh underline operating system access and you just want to focus on your application deployment and just start using it SAS model is the ideal Choice when you can use the standard version of an Cloud application without making any customizations like if you want to use a Google workspace applications such as Gmail you just start using it you just uh take the subscription and start using it you do not deploy your own version of Gmail on top of that you basically don't have access to do that so SAS is the choice in that case now the next one is a shared responsibility model shared responsibility model is nothing but an agreement between customer and Microsoft that there are certain responsibilities that will be taken Care by Microsoft there are certain responsibilities that will be taken care by you as the customer and some responsibilities will be shared among both of the parties so for example let's say you have an on Prime application when you work on that everything from your physical data center from your physical Network physical host your operating system networking application everything right everything is taken care of by customer that means you or if you have hired some third party uh organization to manage all that right so there is nothing that will be taken care by Microsoft or any cloud provider when you move to is you basically do not worry about the physical infrastructure so all the physical data center physical Network physical host these things will be taken care by Microsoft and you can just focus on your operating system and rest of the things right your application your network controls all of those things but when you move to pass yes Microsoft manages your physical aspects of the infrastructure but they also manages your operating system right so this is the main difference between I and pass in I your operating system is managed by you right in pass your operating system is managed by Azure right and these three responsibilities identity and directory service U like Azure active directory and or your applications or your networking control these are the shared responsibilities between you and the customer when you move to SAS right so again the physical responsibilities of the infrastructure will be taken care of Microsoft along with the operating system as it was there in past and on top of that your application and network control will also be taken care by Microsoft and you just have to focus on your information data your devices from which you will be managing the application and your accounts and identities like if you are configuring single sign on or o authentication or like Al that anything would be taken care by you only as the customer before we Deep dive into cicd and modern development philosophies let's have a look at the traditional software development life cycle and what were the issues with it let's say we have multiple teams working in a project such as developer operations team quality assurance team or testing team and then we have uh production support team which usually work on the production environments there could be much more multiple developers come with the the code to a Version Control System once the code is committed and approved someone from Ops Team would then create a build using the code base that was committed bill is then placed to a shared folder or a network drive or on an environment the Ops Team would then deploy the build to a lower environment such as quality assurance after transferring the build to that environment testing team uh is that notified and they start executing their test cases against the build reports are then provided to the developers and other stakeholders about the test cases developers would then fixes the bugs and defects and commit the code again and this process will continue for other environments such as set performance test environment there could be hundreds of more environment once the change management approv the changes someone from production support will then deploy the build to the production environment after transferring the build from other environment that was already being tested a traditional software development life cycle used to follow a waterfall model that usually starts with requirement gathering with all the parties involved like pre-sales team business customer and all the stakeholders followed by System designing and then there were several developers who used to code for hours and days to implement the entire software all at once followed by testing wherein testing teams were performing different test cases such as performance test integration test smoke test and so on and then finally operations team would perform the deployment on various environment including production and that is at this stage where your application is live and customers and end user starts using it and then ongoing maintenance for any bug fixes or Operational Support that customer might need as the name suggests waterfall model it depicts the features of a waterfall which is top to down and there is no going back to the previous stage this approach however had a lot of issues for example you start with one step and then you cannot go over to another step until the previous step is completed or you cannot move back to any previous step just like how waterfall works one step to another top to down and there were lot of other issues with this traditional workflow such as it was time consuming as you deliver the entire application at once and a long delivery time to make any fixes it was unproductive as you cannot go backward and different teams dependent on each other to complete their task for example testing cannot be started without the entire code is developed deployment team cannot do anything without the entire code bases tested by the testing team and so on so there were a lot of dependencies between each of these steps changes were costly as you have to follow the entire life cycle for a change and there were lack of transparency as the customer involvement is limited there were also management bottlenecks as there is no scope to Pivot or prioritize the task and everyone was sticking to the process well results unhappy customer over budget issues burned out team with a lot of work long delivery time or in making the changes well to fix the issue with the waterfall Model A lot of uh Advanced models were developed such as rad rapid application development and there were many more one of the most successful model that we follow these days is agile it follows the similar step with a mindset of improvement in each step how can we do better each time basically it works on the philosophy of continuous feedback at all the stages instead of delivering everything at once we deliver the product in small iterations so even if your requirement changes or any new bugs come up or any new feature that needs to be implemented on priority you can basically follow the same process and complete the priority item in the next iteration and so on result Happy C customer less time to Market more cost effective team is Happy customer is Happy product delivery is on time you can make the changes you can prioritize the changes as per your priority but this was agile so what exactly is devops and what problem does it solve let's have a look so you might have seen a similar image multiple times already so I will just spend a few minutes on this basically devop solved the similar problem of traditional software development life cycle but agile was limited to development of the application or the software with the introduction of devops it extends this to operation and production by bringing teams together and implementing the automation monitoring and feedback at all the steps in development life cycle so basically it starts with planning right then coding then building your code packaging it compiling it testing it from planning to test this is what's been referred as Ci or continuous integration then release deploy these two stages pin referred as CD which is continuous deployment and then finally operate and monitor which comes under continuous monitoring why we are saying continuous in each of these group of stages because you see it's been referred as infinity and we are showing that this is an ongoing and continuous process from one stage to another right with the help of devops we we bring teams together so that is why you know Dev and Ops plays an important role but it's not just developer and operations team there are different other teams as well such as you know your security team your uh business your QA team or testing team so these teams also plays an important part in the devops life cycle because as part of uh this particular cicd process we will also be doing continuous testing so we might need help and support from testing team or testing team will be helping us out in in creating the test cases or maybe automating those the same way we will be doing a lot of vulnerability scanning or container image scanning and all those we'll be doing with the help of security team and business will also provide the requirement and other different uh aspects of our sdlc that is why it is not just a combination of developers and operations this entire life cycle brings every team together so that we can work together without being in silo and achieve the organizational goal effectively and efficiently now we have covered till here okay now let's go to the next topic which is azure devops so what you can do is you can go to this particular URL again link is there in the day one folder itself and all the other steps as well so you can go to this uh particular link and then click over here which says start free once you click over there it will ask you to do the sign up once you do the sign up you will be redirected to this particular URL dev. azure.com and this is the default organization that it creates for you right so on the left side this is the organization and then a test project so you can have multiple organizations created and you can have multiple projects created inside these organizations so these organizations are logically separated that means resources from one organization cannot access access the resources of other organization unless the explicit access has been provided we'll see later on in the course how we can do that but for now just understand they are logically separated for example you're working for a bank a bank might have different line of businesses such as retail banking Commercial Banking foreign exchange and so on so you could have a separate organization created for each line of business because they are separate entity although Within in the same parent organization right so that's how you can separate those Resources with the help of an organization and within the organization you can have uh you can create different projects for let's say for Dev test prodad or within the different teams as well or you can divide based on the application as well so it it totally depends on the hierarchy structure that you are planning to follow as I said on the left side this is the default organization that's been created you can create a new organization by clicking over here and there are settings that's been applied at organization level and the project level as well so to check the organization level setting you go to bottom left corner which says organization setting click over there and all the settings will be present over here right which is applied at the organization level we'll see each of these in detail in the upcoming uh course but for now just understand this is how we maintain and manage organizational settings now I can go back and I can go inside the project by clicking over here or on the right side I can click over here to create a new project right let's create a new project I'll name it day one project because this is day one demo right you can choose this to be a public project that means it can be accessed by anyone over the Internet just like a public GitHub repository or you can make it as a private default is private so this is what I will go with right and if you hit Advance it will just ask you default options such as the type of Version Control that you want to use whether git based or tfvc I will also explain these two in the in the third day right but for now like these two options that it provides you and then different work item process like whether you want to go with agile basic cmmi or scrum right so you can select your work work item process these are just nothing but the uh project management framework uh that you can choose from Once you verify all the details you can hit create and the project is created for you which is similar to the test project that we had right on the bottom left side you will see the project setting similar to organization setting but now this is just for the project only and it doesn't have to do anything with the organization right so you click over there and the similar view that organization has it will have sort of similar view not everything is same but sort of similar view for the project setting as well right now you can go back to the project from here okay I'll click over here now let's see what all the different options are so first is the overview which is this page this is a sort of dashboard that we can set it will have project stat and some other wigets including the members currently I'm the only member in this project then we have dashboard these dashboards are nothing but um the wigets that you configure and that you want to have a quick overview of the project with right then we have Wiki so if you have worked with Confluence before this is just uh this is similar to that in which you can collaborate with your other team members and create uh your documents that you want to share across the project right so this is what it is then we have boards project board is similar to jira which is also a project management tool here we create work items we track our progress we you know usually have standups in which we discuss the progress blockers and update all the progress over here right we'll see that in the day two video then we have repos so repos is nothing but as the name suggest it's a repo what we have selected while creating the project we selected it to be a git based repo so that is what it is showing right now so you can create a new repository inside it and you can start working with it you can create multiple repositories the next is pipeline right once you click on the pipeline there are two type of pipelines uh first is the build pipeline which is CI and the another one is a release pipeline which is your CD pipeline right so we will use those as well in the upcoming uh course then we have test plans basically this is the service to do to perform testing in Azure devops then we have artifacts artifacts is nothing but an artifact repository such as Nexus or jrog artifactory we we can create our packages after the build has been compiled and we can store the packages over here in this artifact repository and then we can use those in the release pipeline to deploy the same packages in different environments so this is just a quick overview of what Azure devops is it's nothing but you know if you go to any of the project it's nothing but a set of tools that helps you um solve all the traditional development life cycle processes with the modern processes and tools you don't have to worry about integrating it with the different tools such as you know artifactory or or GitHub everything is integrated in one single Tool uh the way that we have just seen there are two type of Hosting solutions for Azure devops first one is azure devop Services which is uh Cloud offering which is what we we are using and what we have just seen then we have Azure devops server which is nothing but an on premises implementation of azure devops uh on your own data center right let's have a look at the pricing of each of those the first one aure devop Services if we see for the license we have a basic plan which is what uh we are using in this basic plan we have five pre users that means along with uh my default user I can create four more user which will be free of cost and any additional user on top of those five users will be $6 per user per month right so five user should be more than enough for us to complete this entire course so you don't have to worry anything about uh you know costing um It also says like if you want to use the test plan there is a upgraded license which is $52 per user per month but there is a 30-day pretrial so this is what we'll be using right um there are some service level limits as well so if you go on the left uh you see one free hosted Microsoft hosted cicd agent and one free self-hosted agent we'll see what that is and 2 GB of azure artifact storage but 2 GB is more than enough for us and then after that it'll be charged $2 per GB so this is the pricing and some limitations based on the plan that you are using so it'll be mostly free for us if you scroll down and it says aure devops is included with Visual Studio subscription so if you are part of any organization that has Visual Studio subscription then you can access it for free and there is no limit to the number of organizations that you create and that doesn't count against your five user limit right so you can start using it for free without any restrictions if you are a Visual Studio subscriber all right so that's it for this video I hope this video was somewhat helpful in understanding the basic concepts of devops agile cicd and Azure devops in day two we'll be looking into Azure boards work item and everything that is there in the GitHub repository so um let me know if you have any questions related to this video or you can ask your question in our Discord Community as well all the links are provided in the GitHub repository so feel free to check that out and I will see you tomorrow and um I hope you have a good day I hope you had a good learning
Info
Channel: Tech Tutorials with Piyush
Views: 39,479
Rating: undefined out of 5
Keywords: what is azure devops, what is devops, what is cicd, azure devops tutorial for beginners, azure devops zero to hero, azure devops tutorial, azure devops full course, azure devops pipeline, azure devops for beginners, azure devops complete tutorial for beginners, azure devops, azure devops ci cd pipeline step by step, azure devops ci cd, azure tutorial for beginners, azure devops end to end project, azure devops projects, azure devops realtime projects, azure devops course
Id: ME06qJ2VeXA
Channel Id: undefined
Length: 27min 32sec (1652 seconds)
Published: Mon Nov 13 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.