AWS DevOps Tutorial For Beginners | AWS DevOps Training | AWS DevOps Integration | Edureka

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
[Music] with technology evolving over time the ways to handle it has also evolved in the past decade we have all seen a great shift in computation and software development life cycles we have also seen a huge demand for devops and its need to bring development and operations team together to create and improve products at a faster pace and in a more efficient manner in these fast-paced times we see more emphasis being laid on faster delivery of software deployment and in order to stay competitive in the market companies are expected to deploy quality software in defined timelines this is where aws comes in as one of the best cloud service providers to create this very popular amalgamation hi all i welcome you to this session on aws devops and today we are going to talk about everything that you need to get started with it but before we begin let's look at our agenda for today so first of all we're going to start off by introducing you to both the concepts of devops and the platform aws then we are going to move on to an important component of devops methodology which is a ci cd pipeline we are going to talk about continuous integration continuous delivery continuous deployment and a series of steps that must be performed in order to deliver a new version of software which is of course the pipeline then we're going to discuss a very important feature from the aws suite which highly simplifies the way you manage your ci cd tool set which is the aws code pipeline which basically helps you integrate with tools like github jenkins and code deploy and enables you to visually control the flow of your app updates from build to production then we're going to move on to discuss some other aws devops components which will help you through the way in constructing your pipeline before we move on to the demonstration where we build a ci cd pipeline on aws and finally we are going to summarize everything we learned before we conclude the session with that i come to the end of our agenda for today meanwhile do take up this time to subscribe to us and don't forget to hit that bell icon to never miss an update from the edureka youtube channel also to learn more about aws or devops do check out our training page the link to which will be given in the description box below so without much to do let's get started so first of all let's talk about devops so what is devops now as most of you all might know by now devops is basically a methodology it's a set of practices to ensure faster delivery of software deployment to stay relevant in the market these days companies are expected to deploy quality software in defined timelines hence the roles of software developers and system admins or the dev and the ops team have become extremely important and a lot of juggling of responsibilities happen between the two teams programmer or software developer is responsible for developing the software so basically he's supposed to develop a software which has new features new security patches or upgrades and bug fixes from the previous installment but a developer may have to wait for several weeks for the product to get deployed which is also known as time to market in business terms so this delay may actually put pressure on the developer because he or she is forced to readjust his dependent activities like pending or old code new features and products also when the product is put into production environment the product may or may not exhibit some unforeseen errors this is because the developer writes code in a certain development environment which might be different from the ones of the product environment so from the point of view of an ops person or the operations team who are basically responsible for maintaining and assuring the uptime of production environment something that has been sent to them to test which has been confirmed runs is not running on their systems when the code is deployed the operations team is also responsible to handle these minor changes or minor errors on the code at time the ops team may feel pressured and it may seem like the developers have pushed their set of responsibilities to the operation side of the responsibility wall but as we all know it's all happening due to the inconsistencies in the environment and no team is actually up to blame now as the company keeps investing more time and money into products and services the number of servers admins have to take care of also keep growing and this gives rise to even more challenges because the tools that were used to manage the earlier amount of servers may not be sufficient to cater to the needs of the upcoming and growing number of servers so we all are in a fix right but what if these two teams could work together they could break down the sellers share responsibilities erase inconsistencies in the environments start thinking alike and work as a team well this is exactly what devops does it helps you get software developers and operations teams in sync to improve productivity and if i pull out an official definition devops is the process of integrating developers and operations team in order to improve collaboration and productivity and all of this is achieved through automation of workflows and productivity and basically continuous everything starting from development to delivery to deployment as well as monitoring of an application devops focuses on automating everything and lets developers write small chunks of code that can be tested monitored and deployed in hours which is different from writing large chunks of codes that takes weeks to test and deploy now that was all about devops now let's talk a little bit about devops and cloud or devops on cloud why do we need devops on cloud now understand that devops and cloud go hand in hand they can be implemented individually of course but devops becomes twice as much efficient and beneficial when clubbed with a cloud it can help an organization deliver new software features much faster in a more effective manner many organizations try to fix their application development processes by shifting from waterfall to devops now they have this understanding that devops alone won't be that effective so public and private cloud solutions are now evolving together with devops this brings in products at a faster rate the market through quick access to development environment and streamlined developer processes infrastructure as code and automation together reduces the cloud complexity and maintenance of servers and resources which our ops team previously was very concerned about the security also highly increases with automated repeatable processes that serve to eliminate error that can cause further issues and even more importantly it builds security controls from the very beginning to the very end of the process now because you don't have any servers and your continuous operations are cloud-based it also eliminates a lot of downtime and last but not the least scalability which is one of the most important factors for applications as they are developed when devops and cloud are clubbed together it reduces the cost of infrastructure and global reach also increases with this now that you know why you need a cloud platform let's go ahead and look at our cloud platform of choice today which is aws so what is aws now back in the day handling and storing data was way different than it is now companies preferred storing data using private servers and that was obviously for security reasons but however with better usage of the internet the trend has seen a paradigm shift for industries as they are moving their data to the cloud now this enables companies to focus more on core competencies and stop worrying about storing and computation for example back in the day if a streaming platform or a search engine platform anything with a high volume database suffered a corruption it would take days before their operations resumed they would face problems scaling up and only then would they realize the need for a highly reliable horizontally scalable and distributed system is what they need but now with cloud services and public cloud platforms this wouldn't be a problem now since every company has started to adopt cloud services it can be claimed that the cloud is the talk of the town and aws in particular is the leading cloud service provider in the market aws which stands for amazon web services is an amazon.com subsidiary which offers cloud computing services at an extremely affordable rates therefore its customer base is strong and it targets everyone from individuals to startups to tech joints running the iit landscape if you might wonder what cloud computing is is basically the use of remote servers on the internet to store manage and process data as opposed to an actual physical server or a personal computer to do the same as we are talking about aws it is kind of an iaas or infrastructure as a service which basically gives you a server in the cloud that you have complete control over in ias you are responsible for managing everything starting from the os completely up to the application you are running so now that we have discussed about devops in aws let's move on to our ci cd pipeline now what is a pipeline or ci cd pipeline it's nothing but a series of steps that must be performed in order to deliver a new version of the software at its bare bones at its most basic you have your build test and deploy stage the ci cd basically stands for continuous integration and continuous deployment so ci is basically continuous integration which basically means bringing together all the developers working copies to a shared main line all the developers working on parallel branches of a certain upgrade of an application merge their changes into one main branch and cd stands for continuous delivery and deployment now while the ci includes building and testing of your application continuous deployment is about the processes that have to happen after the code is integrated for the app to be delivered to the users these processes involve testing staging and deploying the code so at the end of this session what we aim to do is build a ci cd pipeline for our demo app on aws so for that we will have to look at a few components of aws so devops when implemented on aws becomes a lot more efficient and effective for a productive life cycle and the steps that are involved in aws devops are code commit code pipeline code build code deploy and optionally code star so first of all we have aws code commet which is a fully managed source control service somewhat like github that hosts secure and highly scalable git based repository without the need of operating the system it's mainly designed for developers who are supposed to store and version their code securely and reliably for example you have your it administrators that store their scripts and configurations and your web designers who can store their html pages and images etc the code comment is fully managed as great availability is secure scalable and fastens up your development lifecycle for people not aware of code commit think of it as versioning in your s3 but how it's different is that s3 supports versioning but not collaborative file tracking features which code commit obviously does it manages batches of changes across numerous files made by multiple developers parallelly how it works is that you create a repository in aws code commit service via the console or cli and later using git from the development machine you can run git clone to connect the local repository and the aws code commit repo you can then modify your files on your development machine via the local repository and then run git add git commit and push it to the aws code comment repository as you do with github again like git even a git pull can be used here to synchronize the files in aws code comment repository with your local repo which ensures that you're working with the latest version of the files next on our list we have aws code pipeline which is a combination of continuous integration and continuous delivery services for a quicker and more reliable infrastructure and application updates it automatically builds tests and deploys a user code whenever there is a code change and it is completely based on user-defined release process models it also integrates with aws services like aws code commit amazon s3 code deploy elastic bean stock opsworks and aws lambda you can configure the pipeline either with your cli or your graphical user interface and like most services on aws even with pipeline you only have to pay for what you use all of this is great and all but why should you use code pipeline simple by automating your software build test and release processes aws code pipeline enables you to increase the speed and quality of your software updates by running all new changes through a consistent set of quality checks it automates your release process it speeds up your delivery with quality it allows you to choose your tools of choice establish consistent release processes and provide a pipeline history detail as your source of truth code pipeline basically breaks up your workflow into a series of stages like your source build test and deploy and gives you a revision option as a deployable content each stage can process only one revision at a time even though multiple revisions can be processed in the same pipeline and each stage will have at least one action to be performed which is some kind of task performed on the artifact once all of the actions that are configured in a stage is complete the stage is considered as complete after stage is complete it transitions the artifacts created in that stage to the next stage of the pipeline where you can manually enable or disable it so it prevents changes from running through an entire pipeline an approval action is granted only by the iam user and if an action fails it does not transition to the next action or stage at all so when a developer completes her working on his code he or she commits it to the source repository and code pipeline automatically detects the changes and builds those changes after that the build code is deployed to the staging server for testing and then additional tests such as integration or load tests are run by the code pipeline once all of the tests are run if the code receives manual approval then aws code pipeline deploys the tested and approved code to the production instances also every time when a user creates a pipeline the code pipeline creates a folder for that pipeline in an s3 artifact bucket in that particular region to sort input and output artifacts next on our list we have aws code build now this is a fully managed build service in the cloud which compiles your source code runs unit tests and produces artifacts that are ready to deploy it eliminates the need to provision manage and scale your own build servers it provides pre-packaged build environments for the most popular programming languages and build tools and scales automatically to meet your peak build requests now one prerequisite is that you must provide the aws code bill with a build project which should include information as to where to get the source code from build environment build commands and where to store the build output how it works is that the code bill will use the build project to create a build environment aws code build then downloads the source code from the build environment and performs tasks that you would specify in the build specifications if there is any build output the build environment uploads its output to the s3 bucket and while the build is running the build environment sends information to code build and cloud watch logs you can use the code build console aws cli or aws sdks to get summarized bill information from code build and detailed build information from cloudwatch logs as well now that was all about code build now finally let's talk about code deploy now aws code deploy is a service that coordinates your application deployment and updates across the fleet of aws ec2 of any size it automates your code deployment to any instance handles the complexity of updating them it also avoids downtime during application development and rolls back automatically if failure is detected apart from that it also integrates with third-party tools and aws to make your job easier it has six primary components to be specific you have application revision compute platform deployment group deployment configuration and the code deploy agent now the basic skeleton of how your deployment workflow pursues is as you can see on your screen you basically create an application with a unique name and set up a deployment group by specifying the instances to which you want to deploy your application and the deployment type if you're using the lambda platform you just deploy your deployment group's name followed by which in your deployment configuration you specify the success or failure condition of deployment and to how many instances you want to deploy parallelly then you upload the application specification file to the s3 and deploy your application as specified with the help of your code deploy agent which is running on each instance on an ec2 platform or as specified in your specification file to the deployment group when you're using a lambda platform and finally you check your deployment results and if you face any bugs or issues you can always roll back and redeploy finally let's discuss a little bit about codestar which is basically a cloud-based development service that provides tools that you need to quickly develop build and deploy applications on ews it's basically a very templatized format where you start developing on aws in certain minutes and you could choose from a variety of project templates all of the software delivery is easily managed and you can work across your team very securely using the codestar and apart from all of this you also are provided with a project management dashboard to monitor your application continuously all you have to do as an aws code star admin is create a project and add users your users or team members will come at changes which in turn will be built and deployed and through consistent monitoring of the application if there are any updates required or any bugs the developers take a decision make updates fix bugs and then the loop closes back in on the team and that's about it the development process takes little to no time using codestar now that we have spoken about all of these different components of aws devops i hope building the cicd pipeline would seem a tad more tangible to you if you're new learners you can always sign up for a free tier which is free for the entire year obviously there are limitations to all of the services beyond which you shall be charged but that rarely happens so if you're starting out with aws and want to try out all of its features and services the free tier is a pretty good idea we already have a video on how to create a free tier on the aws console if any of you want to know how to create a free account you can just go ahead and check that out so we're going to be building a ci cd pipeline using aws using code pipeline and i'll try to be as slow and verbose as possible as comprehensive as possible so as to help you guys to follow me each step of the way so what we'll be doing here is that we'll be creating a demo application platform as a service application and we shall be deploying it using the code pipeline so let's go ahead and create our application first so to create an app we will be using the amazon elastic beanstalk which basically has a bunch of templates ready for you now since this is a demo about code pipeline and not web development we'll be creating a pretty rudimentary app so let's go ahead and type elastic beanstalk using elastic beanstalk we can make simple apps very very quickly and if you have already created an application created a few applications they are going to appear right here on your screen but since we have created no applications using this particular account this is a screen that will greet you so we're going to go ahead and click on create application so let's call this deployment app if you're not very original are we you're not going to put in any application tags you could put them if you like but currently they are completely unnecessary on platform let's pick php and it automatically fills up the platform branch and version with the latest ones available then i'm just going to be using the sample application code and click on create application now this is a platform as a service app so basically once i click on create application i wouldn't have to worry about any background processes or creating the infrastructure elastic bean stock is going to do that for me on its own and here it's going to show you all of the steps that are taking place like create environment is starting using elastic bean stock as amazon s3 storage bucket for environment data so on and so forth now this will take some time so let's go ahead and parallely do something else i'm going to open another tab now the aws console okay thankfully he did not ask me to sign in again so while my app gets created what i'm going to do is i'm going to create the pipeline so i'm going to type in code pipeline and the funda is simple even here guys you're just going to put in certain details and your pipeline will be created for you now this is your dashboard this is where you all of your recent pipelines will appear since in this free tier we have no pipelines created hence you have no results to display so first things first i'm going to create a pipeline so click on this big orange button which says create pipeline i'm going to give the pipeline a name let's just call it demo pipeline so as a default i'm just going to fill in a role name aws code pipeline service role us east demo pipeline then click on next so for source provider i'm going to use github and for that i'll have to connect to github and last me to authorize the code suite okay okay once you have successfully authenticated the account you can go ahead and search for the repository here i'm going to choose the demo hyphen code deploy app which is actually a sample app i have forked from the aws code pipeline repository you can go ahead and look for it as well it will be available in the aws code pipelines github account yeah and in the branch let's select master branch and click on next now we move on to the build stage because i have nothing major to build i'm just going to go ahead and pick skip build stage then you will be prompted with a notification which will ask you if you're sure to skip your build stage now since i have nothing major to build yes i am going to skip this build stage and for deployment here we are going to choose a deploy provider so here i'm going to use elastic bean stock and put in my application name and my environment name now our application name was deployment app and our environment name would be deployment app environment this is something which gets created automatically so we're going to go ahead and click on next and finally we are at the review stage where you can go ahead and review all of the details that you have just put in for your code pipeline and i'm just going to create this pipeline it's pretty simple to do now this might take a few moments so kindly be patient and then you are greeted with a notification which says success congratulations your pipeline has been created now here you can go ahead and release changes if you want our im role is in place that we had created earlier our pipeline is a success now all we have to do is wait for our application to get created and then we can go ahead and deploy our application all right with that our application has been created it has ok health and you can see the platform here you can see the running version you can see all the details all the recent information regarding the app now this is a platform as a service it basically runs all of your processes in the background now if you would have gone ahead created this app configured your im user configured everything else that was needed this would have taken you a lot of time but because you are using a platform as a service feature of aws this entire process is automated and your work is simplified so if you go down and look at the recent events one thing you can see is your instance deployment is completed successfully just in the line above that you can see that your new application was deployed to running ec2 instances so basically an instance is running on ec2 so let's go ahead and go to ec2 click on instances running there is one instance running obviously we all know which one that is and this is your deployment app now we go ahead and click on it here you can see the instant state it's running and your pipeline your source has succeeded your deployment has succeeded you go here you can go down take a look at your im role your subnet id so with that your instance has been deployed and you realize that your demo pipeline has worked all in all i would like to say that aws provides a set of flexible services designed to enable companies big and small to rapidly and reliably build and deliver products using the aws suite and devops practices these services simplify provisioning and managing infrastructure deploying application code automating software release processes and monitoring your application and infrastructure performance devops is a little combination of cultural philosophies practices tools and technologies that increase your organization's ability to deliver applications and services at a very high velocity which is consistently evolving and improving products at a faster pace than organizations would have using traditional software development and infrastructure management processes this speed enables organizations to better serve their customers and compete more effectively in the market i would like to leave you with that thought my name is abasa thank you and have a great day i hope you have enjoyed listening to this video please be kind enough to like it and you can comment any of your doubts and queries and we will reply them at the earliest do look out for more videos in our playlist and subscribe to edureka channel to learn more happy learning you
Info
Channel: edureka!
Views: 20,309
Rating: undefined out of 5
Keywords: yt:cc=on, aws devops tutorial, aws devops, devops aws, devops aws training, aws devops training, aws training, devops training, aws training videos, devops training videos, aws tutorial for beginners, devops tutorial for beginners, aws devops tutorial for beginners, devops using aws, devops with aws, devops aws cloud, devops aws tools, aws devops tools, aws devops certification, aws devops professional, devops on aws, devops online tutorial, edureka, edureka training
Id: FhLu0ASUrzA
Channel Id: undefined
Length: 30min 15sec (1815 seconds)
Published: Mon Dec 14 2020
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.