AWS Tutorial For Beginners | AWS Certified Solutions Architect | AWS Training | Edureka

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Hey guys! This is Hemant from Edureka. Today in this session, we will be talking about Amazon Web Services, so without wasting any more time let's move on ahead and see what is our agenda for today. So, we will be following a top-down approach, we will start off with what is cloud and then move on to what is AWS. After that we will be discussing the different domains which are there in AWS, followed by the AWS services. So, I will be briefing you guys up on all the AWS services, which are out there, after that we will be discussing the AWS pricing options. So, we will be discussing all the key points which are there in AWS pricing. Once we are done with all the learning, I will teach you guys, how to migrate your applications to AWS infrastructure and in the end, we will be solving a real-life problem using the AWS knowledge that we will be getting today. So guys, this is our agenda for today, are we clear? Alright. I am getting yes's. Michael says yes, Sandeep says yes, Neeraj says yes; alright guys, let's go head then. So, before starting off with what is cloud, let us see what were the problems that people faced before Cloud computing? So, before Cloud computing, if you had a used case, if you had to host a website, 'How would you do that'? So, first of all you have to buy a lot of servers. Why servers? Because obviously you will be hosting a website on something, right? So, you have to buy a lot of servers, and every website has a peak time. So, keeping that peak time in mind, you have to buy some more servers. Thirdly, you have to monitor and maintain these servers, since these are your own servers. You have to continuously monitor them, so that your application does not experience any down time and once you encounter a problem, you have to maintain it, right? These are things that you have to do. Now, these things led to problems. Now, what were those problems? Let us refresh them. So, first of all this set-up was very expensive since you are buying a lot of servers, and guys, servers are not cheap, they are very expensive, right! So this set-up was very expensive. Secondly, since you had to troubleshoot problems, they used to conflict with their business goals, because your aim should be making your application better, right? But if you are also thinking about, whether your application is or is not facing any down time or if your server hardware configuration is up to date or not, you are not investing that much time on your application as you may need to, right? So, it used to conflict the business goals. Thirdly, since your traffic is varying, your servers will be idle most of the time. What this basically means is, since you bought a minimum number of servers keeping the peak time in mind, now, what about the time when the peak time is gone, right? Let's take an example, say suppose your peak time is between 4 p.m. to 6 p.m. and when I said peak time, its time when a website is experiencing the most traffic, right? So, if your website is experiencing the most traffic between 4 p.m. to 6 p.m. and you are placing say 5 servers to handle that kind of traffic, what about the time which is there after 6 p.m.? After 6 p.m. when the traffic goes down. You say you need only 2 servers, which can handle that traffic. Now, what about those extra 3 servers? Right? They become a liability on your investments because since you've invested a lot on those servers, but you cannot utilize them now because you do not have the need for them after 6 p.m. Right? So, it becomes a bad investment, hence it was a problem. So, these are all the problems that people faced before cloud computing. Now we have to fix these. So, let's see, how do we fix them? So, we came up with Cloud computing. So, now in Cloud computing, instead of buying servers, you actually rent them, right? So, instead of burning a lot of your investment on buying servers, you can actually invest it on some other things, may be, a better idea or may be hiring more people, right? So, first of all, the foremost things that you are renting servers cuts on your cost into a fraction. Secondly, scalability was a problem. So, now with Cloud computing, you can scale up or scale down according to your needs. So, you don't have to foresee what kind of future your application will have or what kind of traffic will be coming in the future, as and when the traffic comes in you can scale up or scale down as and when required, right? So, scalability was again an issue, which has been solved with Cloud computing. Thirdly, now, you don't have to manage your servers, all of that, all of that tension will be done by your Cloud providers. You just have to focus on your application. So, your Cloud provider will manage all the updation, which is required to secure the patches, to ensure that your application is not facing any down time. Only thing you have to do is, choose a right Cloud provider, because, if you choose a new player which is out there in the market, just for saving a few dollars maybe, your application may not become that much successful because new Cloud providers are not equipped to handle the kind of problem that you might face. Right? So, you have to be very careful when you are choosing a Cloud provider. So, guys, this is how we address the problems that we faced before Cloud computing. Now, any question until now, any question that you have that should be answered before we move ahead? Alright. I have a question from Michael, so Michael is asking me, 'On which parameters we should decide to choose which Cloud provider?' Alright, Michael, good question. Michael, you have to consider in a lot of things, say, suppose let us talk about AWS. So, AWS came into Cloud computing market in 2006, right? And if you compare it with other Cloud provides, say suppose Azure. So, Azure came in 2010, right? So compared to Azure, AWS has a more mature model of infrastructure and if I was you, I would choose AWS than Azure, because AWS has seen a lot since it has started, it has become better in terms of handling problems, which come up when you are hosting someone else's application. Apart from that, you also take into account what kind of server capacity does a Cloud provider have and what kind of companies are associated with the specific Cloud provider. Say, suppose if you talk about AWS, AWS is hosting application for Netflix, which is a very successful video application. So, if Netflix is not facing any downtime, you can be assured that your application is in safe hands as well. Right? So, these are all the parameters that you take in mind when you are choosing a Cloud provider. So, Michael, does that answer your question? Alright. Michael says yes. Any other question guys, anything related to Cloud computing? How cloud computing became important, when or why Cloud computing came in to the picture? Alright, since, it is a yes from all of you, let's move ahead. So, since now we have understood what was the need that led to Cloud computing, let us understand what Cloud computing exactly is. So, 'What is Cloud computing'? So, Cloud computing is the use of remote servers to store, manage and process data. So, you do three things; you store, you manage, and you process data. So, when I say store, you are storing a file, say on a file system on the Cloud. So, when I say manage, you are managing a data using databases there on the Cloud. You process your data, so you are using computing power on the cloud to process your data. Say, suppose you have a huge chunk of file that has to be processed, right? And you don't have that kind of machine in your own infrastructure. So, you can always rent a server from AWS, with the right kind of configuration and you can use that machine to process the data or process the file that you want to process, right? And once you are done with that you can always terminate your machine and you will pay AWS according to the number of hours that you have used this for, and that is the power of Cloud computing. You don't have to buy that computer, exclusively to process that file. You can rent that server from AWS, use it and pay them according to your usage, right? So guys, this is what Cloud computing is all about. Any questions, any kind of doubts that you have regarding Cloud computing. So, Michael is asking me, so is it pay by use. Yes, Michael you pay according to your usage. Yes, you bang on, its pricing model is pay by use. Good to know that you know about Cloud computing now Michael. Any more questions, any more suggestions guys, any more thing to add, which I just told you Guys? Alright. Michael says, no. Sandeep says all good. Alright. I am getting confirmations. Alright guys, let us move ahead then. So, we talked about Cloud computing and how it is a successful model. Right? So, it is bound to have competition in the market. So, if you want to become a cloud provider, you will have a lot of competition in the market. Because this concept is huge, it's pretty advantageous, it's very successful. A lot of people are trying their hands-on Cloud computing, but it's a fact that there are a lot of Cloud players out there, but why are we discussing about AWS? Why are you learning about AWS? Why do you want to become a solution architect for AWS? Right? So, let us put a light on to that and discuss why AWS? So, these are three parameters that we will be discussing. So, first off, we have AWS global cloud computing market share. So AWS has a global cloud computing market share of 31%, as compared to its competitors, which have a cloud computing market share of 69%. Now you would say, 31% is nothing is compared to 69%, right? But, then the thing here to understand is that AWS alone has a share of 31% in the global cloud computing market share, and no one, not even Azure, which is the closest competitor to AWS has a number even near to 31%, so this number is huge. AWS is leading by a very huge margin. Let's talk about the second parameter, which is the server capacity. So let's consider that all of its competitors combined, when I say it, I mean AWS. So all of AWS's, competitors combined say have a server capacity of 'x'. AWS alone has a server capacity of 6x, which is 6 times the server capacity of all of its competitors combined, right? So if you have an application which is very successful and if you foresee that there is going to be more traffic in the future, your safest bet would be on AWS, because they have that kind of infrastructure for your application to grow, and that is why AWS has such a large user base. Let's come on to the third point, which is flexible pricing. Now, any enterprise big or small wants flexibility in its pricing, right? They want to cut down their cost. They want value out of their money, right? And that is what flexible pricing is all about. So, AWS charges you for the hours, right? So, when you use AWS servers and suppose you use them for 3 hours, you don't have to pay for the whole day, or for the whole month. You just pay for 3 hours and with this kind of flexibility in the pricing, it has attracted a lot of customers, right? So, this is the reason that AWS is so successful today in the market and that is why you guys are learning about AWS, but that does not mean that the other Cloud providers are not performing well. If you look at Azure, which was just launched in 2010. It is the closest competitor to AWS, but if you see the current scenario, if you take in mind the current scene, AWS is still leading. AWS has more job opportunities and AWS is more successful than any other Cloud provider. Maybe 3 years or 4 years down the line, other Cloud providers will start coming at par with AWS, or maybe they'll surpass AWS. Like I said, if you see the current scene, AWS is the thing and that is the reason, we are learning about AWS. That is the reason you are here, that is the reason I am teaching you guys about AWS. So, guys are we clear why are we learning about AWS or why you guys are obtaining AWS training rather than some other Cloud provider? Alright. Michael says, yes. Others Neel, Sandeep, they say all good. So, everybody is giving me a "Yes". So, let's go ahead. So since, now we have understood the 'why' of AWS, let us understand the 'what', so 'what is AWS'? So, AWS is a secure Cloud Services platform. It's a platform on which Amazon offers its Cloud services and it offers its Cloud services in Compute, Database, Content Delivery and other Domains. So, AWS is a secure cloud services platform, so it is a platform on which Amazon offers its Cloud services and what it offers as its Cloud services? It offers Cloud services in Compute, it offers cloud services in Database, and host of other Domains. So, having said that, let us discuss the different domains in which AWS offers its services. But, before that guys, any questions that you have regarding what AWS is about? Alright. Neel says No, Sandeep says No, Michael says, No. Alright guys, let's move ahead then. So, let's now discuss the different domains in AWS. So, these are all the different domains in which AWS offers its services. So, first off we have Compute. So, in Compute, there is a service called EC2. EC2 is an Elastic Compute Cloud. So, its just like a raw server. So you can configure this server to be anything. You can use it to host a website. You can use it as work at your environment, its a clean state. Its just like a new PC that you buy. So, install a fresh operating system on your PC, and then you can configure it to be anything, and solve any software you want, and then it can serve you as you require. Right? And that is what EC2 does as well. Right? So, this is the Compute Domain. Next up, we have the Migration domain. So, Migration domain is when you want to transfer your data to the AWS infrastructure or you want to transfer your data back from AWS infrastructure. Next up we have the Migration Service. So, this Migration service is used to transfer data to and from the AWS Infrastructure. So, if you have petabytes scale of data in your data center and you want to send it to AWS Infrastructure, you will be using services in migration. Now, there is a service called Snow Ball in migration, which is used to physically transfer your data to AWS Infrastructure. Right? So, basically what AWS does is, it sends you a physical device which is just like a hard drive, to your premises and you transfer your data on to it, then AWS sends it back to the Infrastructure. Now, this is Snowball. So, it offers similar services in the migration services. Now, you would ask me, why are we sending our data physically to AWS Infrastructure? Why not through the Internet? So, like I said, if you have petabytes scale of storage in your Data Centre, and you have to send it to AWS Infrastructure, it is better to send it physically rather than sending it on the internet. You can imagine it, just like giving some data to your employees, would you give it on a hard drive, on an external hard drive, if the data is large? Or would you send them an e-mail regarding that? Right. So, just like that you can imagine this scene. Next up, we have the Domain : we have security and identity compliance. In security and identity compliance, you have services like IAM, which is used to authenticate users and define user rights to them. Say, suppose you are running a company and you have a root AWS account. Now, you want other employees to work on AWS account as well. But you want them to have restricted access. Say, suppose you want user 1 to maybe just launch instances and user 2 can only edit instances, but not launch instances, maybe user 3 can only review the instances, and not launch or edit these instances, right? So, all of these granular permissions can be given to your users using IAM and that is was what Security and Identity Compliance domain is all about. Next up we have, the Storage Domain. So, Storage Domain would include services like S3 which is Simple Storage Service. So its a file system, it's an object-based file system, in which you can store your files and access them as and when required, right? People usually get confused between Storage domain and Database domain, because basically they are storing data, right? So, why 2 different domains? So, storage like as I said, would include services like S3, so its a file system. Now, what is the difference between a file system and database. So, a database cannot include your executable files. So, say suppose you have an image file. So, that image file would not be stored in a database, its better to store that image file in a file system and hence, access that image file using a path, which can be stored in the database, right? So, this is the basically the difference between a file system and a database. So, like I said, it includes services like S3, so S3 is an object based file system in which you have buckets and objects which we will be discussing further in our slides. Moving on, we have the Networking and Content Delivery domain, so it includes services like Route 53. So, Route 53 is a domain name system which basically redirects your traffic from the URL that you purchase, say a domain selling website like GoDaddy and redirects it to your instances or your servers which are hosting your web application. Why do we do this? Because you cannot remember the IP addresses, right? You need something solid, you need something simple and that is what domain name system is all about. It translates the simple into the IP address and redirects your traffic to that IP address, right? So, this is about Route 53. Next up, we have the Messaging Domain. So, this messaging domain is all about services like, say suppose simple email servers. So, it is used to send emails in bulk to your customer base, right? So, if you have an application where you have to notify your customers about new update. So, rather than sending emails to each and every customer, with the click of a button, you can send it using SES, and you can also handle the replies that customers gives, right? So, all of that can be managed using SES, which is Simple Email Service, which comes under the Messaging domain. Next up, we have the Database domain, so Database domain would include services like RDS, which is a Relational Database Service. So, a relational data service basically manages some databases for you. Its not a database in itself. But its a managing service, which manages databases for you, so it can manage databases like, MySQL. It can manage databases like PostgreSQL. And when I say manage, they can automatically update the DB engines or they can automatically commit to your changes. All of that is managed using a management service in Amazon, which is RDS, which comes under the database domain. Let's move on to last domain, which are Management tools. So, management tools are basically tools using which you can manage your AWS resources. So, in this domain, you have services like Cloud Watch, which is an all-in-one cloud monitoring tool. So you can use these tools and monitor all the AWS Resources that you are running in your AWS Infrastructure. Right? So guys, these are the different domains in AWS. These are the different areas in which AWS offers its services. Any doubt regarding, any of the domains that we just discussed? Alright, I have a question from Neel. So, Neel is asking me 'What is content delivery'? So, good question Neel, I mentioned content delivery and not explained what content delivery is actually about. So, Content Delivery is basically a caging service. So, what it basically does is, if there is a user which is far from a server, which he is trying to access. So, they call that server is caged to a location near the user. So, that the latency becomes low, so that the response time is faster, right? And that is what content delivery is all about. I will be recovering content delivery in detail in the coming slides. So, just have a little patience, I will explain everything in detail. Any more question guys, anything related to the domains that we just discussed? Right. Neel says, all clear. Michael says no. Sandeep says no. Alright guys, let's move ahead then. So, since now we have discussed in what areas AWS offers it services, let's discuss the AWS Services. Right? So, the first domain in AWS service is AWS Compute Domain. So, let's discuss the services under Compute. So, the first service is EC2. So EC2 is the most important service in the whole of the Compute domain. So, why do I say it's the most important service? Because EC2 is the base and the other services which are, Lambda and Elastic Beanstalk are just advanced versions of EC2. How? Let's discuss that. So, E'2 like I said before, is just like a raw server. Now you can configure this raw server to be anything, right? You can configure it to be a web server like I said or work at your environment or something else. Now, and this web server can be resized according to your needs. The instances or the server that you have launched, they can be replicated, as in, you can launch multiple servers of the same configuration or you can also increase the configuration as well, right? So this is the kind of resizeability that you get with EC2 and this is what EC2 is all about. So guys, are we clear with what EC2 is? So, the first service in the computing domain is EC2. So, EC2 like I said is just like a raw server. You can configure EC2 service to be anything. So, it can be configured to become a web server, it can be configured to become a work at your environment. The softwares that you require can be installed and the server can be configured anywhere required, right? And that is the kind of independence you when you are using EC2. But what is the difference? You can re-size the server as and when required, it can be re-sized according to the number of servers that you are using. As in, if you are using, say suppose a particular configuration and you wanted to ploy the same configuration that you want to host or you want to serve your application through these number of servers you can do that. Otherwise, you can increase your configuration on your particular instance. Now the way to understand this is. Say, suppose you are using the i3 configuration right now, you are using the i3 processor on AWS and you want to go on to i5, you can do that; you can do that kind of resizeability as well. So, this is the kind of flexibility you get when you are using EC2. So guys, are we clear with what EC2 is all about now? Right, people are giving me a yes. So, let's move ahead. So, let's move on to a second service now, which is AWS Lambda. So, AWS Lambda like I said is an advanced version of EC2, so its based on EC2, but the difference between EC2 and Lambda is Lambda cannot be used to host your application. Lambda can be use only to execute your background tasks. Now, what are your background tasks? Say, suppose you have an application, right. Your application is all about images, so when you upload an image, the image is compressed and it is stored on a file system, right? So, your image first will be uploaded to the file system, right. So when the image is uploaded, that is performed by a application. Now, the tasks which have to be done in the background like compression, maybe you have some more tasks like applying filters and everything, these tasks are background tasks and these tasks can be executed using AWS Lambda. Now, how does AWS Lambda functions is like this: AWS responds to events. So, there are triggers that you set up in AWS Lambda and in response to these triggers AWS executes the code, right? So, in this case in our examples that you took that we are uploading a file, right, or uploading an image. So, the moment that image gets uploaded to say, suppose S3 which is the file system for AWS, a trigger is generated and that trigger is being listened by AWS Lambda. So, when that event is listened by AWS Lambda, it responds to that event using the code that you provide, it executes that code and then sits again and waits for another event to happen. Right? Now that code would include your code for compression, applying filters etc. and that is how AWS Lambda functions. So guys, are we clear with how AWS Lambda functions and what AWS Lambda is all about, and what is the difference EC2 and AWS Lambda? Right. People are saying, yes. Alright guys, let's move to next service now. So, next service is Elastic Beanstalk. Elastic Beanstalk is again an advanced version of EC2. But with this the difference between Lambda, and EC2 and Elastic Beanstalk is, that first of all Elastic Beanstalk is used to host an application. So, if you compare it with AWS Lambda, this is the difference. Elastic Beanstalk is used to host an application, Lambda is not used to host an application. So, this is the difference between Lambda and Elastic Beanstalk. Now, let's talk about EC2 and Elastic Beanstalk. So, Elastic Beanstalk is an automated form of your EC2. How? With Elastic Beanstalk, you don't have to configure in all the details, or you don't have to set up your environment. Say, suppose you have PHP website that you want to host on EC2. Now, for your PHP website to be hosted, you first have to create a PHP environment in your EC2. Right? But with Elastic Beanstalk, you don't have to do that, you just have to select what kind of environment do you want, and AWS will install all the configuration files required and will give you the environment on which you just have to upload your code and your application or your website will be deployed. Right? So, this is how simple, Elastic Beanstalk is. You create your environment, and then you upload your code, that is it. Nothing else is required. So as you can see in the diagram, say suppose you have a PHP code. So, you create a PHP environment. First, launch it, once that environment is created, you upload the PHP code, and your application is deployed. As simple as that. So, guys, are we clear what Elastic Beanstalk is all about? Right. People are saying, yes. Neel has a question, so Neel is asking me, 'When would you use EC2 and when would you use Elastic Beanstalk'? Very good question Neel. So, Elastic Beanstalk has a limited number of environments. Right? So, if you have an environment or an application, which has to be hosted and the environment is listed in Elastic Beanstalk, you should go ahead with Elastic Beanstalk. But, say, suppose your environment is not there in Elastic Beanstalk, maybe, Elastic Beanstalk is not ready to host your environment yet, may be your used case is not about hosting an application, in that case you will be using EC2, right? You would not be using Elastic Beanstalk. So, these are the differences, Neel. Any doubts in what I just explained or do you need anymore further explanation on this? Alright. Any other question guys regarding the differences between EC2, Lambda and Elastic Beanstalk, any confusion that you guys have? So, Michael is asking me, 'Does this mean that configuration is easy in EC2'? No, Michael, I mean it the other way round. With Elastic Beanstalk, the configuration is easy because you just have to select like I said right, if you want to host a PHP website on your server using Elastic Beanstalk, you have to select the PHP environment. But if you were to do that in EC2, which is a raw server, you can do the same thing in EC2 as well, but you first have to install the PHP software in EC2 and by PHP software, I mean you have to install the PHP environment in EC2, so that your machine is now ready to understand PHP, right? And you also, since you have to host a website, you have to configure your firewall to be secure, you have to configure your firewall to allow incoming traffic on to your server. Right? So, all this configuration has to be done in EC2. But, with Elastic Beanstalk, you do not have to do all these configurations, everything is done automatically. You just choose whether you want a work at your environment or you want to create a server for website hosting. You select website hosting, you choose your environment, and you upload your code, you don't have to deal with the firewalls. Everything is managed automatically. So, does that answer your question Michael. Alright. Michael says yes. Any other question guys, any doubts that you have? Alright. People are giving me a go. Ok guys, so let's go ahead. So, let's discuss what is elastic load balancer. Elastic load balancer is basically is used to distribute your work load among a number of instances, right? Now, the traffic which will be coming on to these instances has to be distributed equally among these 5 or 6 instances, right? And this is what, Elastic Load Balancer does. Now, why is this important, say suppose you have 4 or 5 servers running and all the traffic is directed to your first instance, right? So, it doesn't make sense, because all your other 4 servers are idle. You have the capacity with you, but you have not installed the protocol using which the traffic can be distributed to these 5 instances, and that protocol is Elastic Load Balancer. So, Elastic Load Balancer distributes the work load equally among the instances, so that the work is done efficiently and also the work is consistent as in, if I am using say suppose, a website which is being hosted in AWS, I should experience the same kind of response time as you are experiencing using the same website, right? Say suppose, my request is going to the 5th server, which is less busy and your request, is going to say the 1st server which is more busy. In that case, your response time and my response time would become different. That is why we use Elastic Load Balancer. So, if I am using your website and you are using same website, you and me will experience the same kind of response time, because it being distributed equally among the instances and the instances are busy on the same level. So, this is what Elastic Load Balancer is all about. Any questions guys regarding Elastic Load Balancer, any kind of doubt that you have regarding this service? Alright. Let's move on to our next service, which is AutoScaling. So, AutoScaling is a service which is used to scale up and down automatically, without your manual intervention. Now, how do you do that? You set up matrix. Now, say suppose you have a website running and that website is running on 5 servers, okay? And you configure a matrix that whenever combined CPU usage goes beyond 70%, launch a new server. Right? So, whenever your CPU usage will go beyond 70%, it will launch a new server and then, focus guys, then the traffic will be distributed among the 6 instances, right? I said distributed. So, this work is done by Elastic Load Balancer and that is why AutoScaling and Elastic Load Balancer go hand-in-hand. They have to be used together. So, if you are using AutoScaling, you have to use Load Balancer as well, right? And like I said you can scale up using that matrix and you can also set a matrix for scaling down, say suppose your combined CPU usage goes below 50% or goes below 10%, so, you can configure your AutoScaling to decommission a server in that case and hence you can scale down from the number of instances that you are running and again, your work load will now be distributed to, if you have 5 servers before, it will now be distributed to 4 servers, which again incorporates Elastic Load Balancer. So, like I said AutoScaling and Elastic Load Balancer have to be used together. So guys, any question regarding any other services that we just discussed? Alright. Neel says all clear. Sebastian says all clear. Michael says, all clear. Alright, guys, let's move ahead. Before moving ahead, let us make an interesting study, lot of theory, let me deploy a new EC2 instance for you guys, let's go ahead and deploy a new EC2 instance. So, I will go on to my AWS Console and Sign in. So, this is how your AWS dashboard looks like, these are all your services, right? So, since we have to deploy a new EC2 server, we will be clicking on EC2, which you can find under the other Compute domain. So, let's click on EC2. Now, this is the EC2 dashboard, over here you can monitor your EC2 instances. As you can see I have two running instances as of now and 4 snapshots, 4 volumes and 51 key pairs. Right? So, you can monitor your EC2 services from over here. Since, we are launching a new instance, we will click on 'Launch Instance'. Alright, now you have to choose an AMI. So, AMI is nothing but an operating system that you would want on your EC2 server. Right? For now, let's launch a Windows server, so let's click on 'Windows'. Now you would be asked for the kind of instance that you have to select, alright. You don't have to worry about the instances, as of now you can select the t2.micro. And don't worry because we will be discussing everything in detail as we move ahead in our journey and when we come down to the EC2 Module, we will be learning all about these different instances. So, for now, just click on t2.micro and click on Next. Now its asking me, 'How many instances do I want'? Okay, since its a demo option, since its a demo, I will launch only one instance and then it is asking me the networking settings and everything. Okay guys, don't worry. Everything will be discussed in detail in the EC2 Module. For now let us just focus on deploying this instance and click on Next. Ignore if you don't understand, I will explain everything to you guys. Alright. Now we come on to add storage, so with Windows by default, you have to launch with a memo of 30GB, you can also expand over here, as per your requirement. So, I am okay with 30 GB. Let's click on Next. So, now we have to Add Tags, so what do you want your instnces we named, right? So, you can give your name over here, So, Key is name, the value could be window-server, right? Let's click on Configuring Security group. Alright. Security group is basically like a firewall on your instance, it is used to control the inbound and outbound traffic, which comes on your server. So, how to do that? We will do that in the modules that will be coming in the coming weeks. For now, just understand what Security Group is all about. So, it is used to control the inbound and outbound traffic. If you do not understand that as well, it is okay. We will just click on Review and Launch. So, we will review all the settings which we have just done. Everything looks fine to me, let's click on Launch. Alright. This is a very important step. Now, the way you get authenticated to your instance is with a private key and a public key configuration. So, its called a key pair. So, basically you can create a new key pair, as in, a new public key and a private key or you can use an existing one. So, the public key is kept with AWS and the private key you can download, and whenever you want to connect to your instance, you will be using the private key. You will be uploading a private key to the console that you have for launching your instance and the private key will mashed against the public key and you will be given a password and using that password you can connect to your instances, right? Whenever you are creating a new key pair you to keep your private file handy and you have to keep it safe, because once you lose it, you cannot connect and your data is gone, right? So, you have to be very careful with your private keys. So, for now, let me create a new key pair for you guys. So, let's click on create a new key pairs and give it a name say, aws-demo. Right? So, let's download our private file, it says that aws-demo already exists. Okay, let me give it aws-demo1 and click on download key pair, right? My private file has now been downloaded. Cool. Let's now launch my instance. So my instance is now launching. Meanwhile, let's go back to the EC2 dashboard and check if you can see if all instances are being listed there. So, we will go to EC2. So, as you can see we had 2 running instances before, but now we have 3. So, since you have launched a new EC2 server, we can see 3 running instances, right? So, let's click on it and it will list you all the services, which are running. So, we named our instance to be 'windows-server', so here it is, then instance type is t2.micro, you can also look at the key pair that we have launched it in, so it is called aws-demo1, you can see the time stamp here and you can see the security group here. So, once you click on your instances or once you select your instances, you can see all the details attached to your instance. Say, suppose the public IP. So this is the IP that you will be using to connect to your instance, so your instance type, your instance ID, your VPC, subnet, everything can be monitored over here. So, the way we will be connecting this windows instance is using a remote desktop connection. So, once you open your remote desktop connection it will ask for IP address. Right? So, that IP address has to be copied from here. So, this is your IP address that you will be copying, so once you copy this IP address it will ask you for the user name and password. So, by default, Windows uses a user name called Administrator and for the password you have to upload your pem file, which is over here, on your launch console and it will decrypt the passes for you by matching the private key with the public key, which is there with the AWS and then using that password you can connect to your Windows instance. Sound simple right? So, let's do it. Its still initializing, let's wait for it to initialize and then will start with the demo. Meanwhile, guys, do you have any questions, as of now any services, the EC2 services which are just launched? You have any doubt, in whatever steps I just tell? Right, people are saying no. Alright, guys. Let's just wait for the instance to be launched then. So, our window server is now running. We can see that it says green over here and it says running. Alright, guys, let's launch or connect to our instance now, so you will be clicking on actions and you will be clicking on Connect, right? Then you will be prompted on further screen and then you click on get password. Once you do that, you will be asked for a key pair path, let's choose our key pair now. So, we will go to desktop and we will choose the key pair, which is aws-demo1. We will click on open and we will click on decrypt password. So, I can see the password here now, and I can see the user name, right? Let's now connect to our instance, so let's copy the password to somewhere. So, this is our IP address. So, like I said we will copy this IP address and we will launch the remote desktop connection. So, it is asking me the IP address. I will paste the IP address over here and click on Connect. So, its asking me for my credentials. So, since my user name is Administrator and then I will copy the password that I decrypted. Then click on 'OK'. So, as you can see it's now connecting to my server, which I have launched on the AWS Infrastructure and this is it. So, this is your desktop guys, this is the server that you have launched on AWS Infrastructure. So, just like a fresh operating system, you can click on Start. You can see the way you would see it on your machine, now you can install any software over here and you can configure this server to be anything. Pretty cool, right? So, guys, this is what EC2 is all about and this is how you can connect to your EC2 server once you launch it. Alright, guys, let's come back to our slide. So, we just learnt how to launch EC2 Server on AWS Infrastructure. We learnt how to connect a Windows Instance on AWS. Right guys? Any kind of doubts, that you had in the demo session or any doubts in the services which we just saw? Alright, Michael says no. Neel says no. Sandeep says all ok. Alright, guys, let's move on to our second domain which is AWS Storage Domain. Alright. So, let's discuss the services in the Storage Domain, so first half we have the S3, which is Simple Storage Service. So, S3 is a file system, so it is an object-oriented file system, which basically means that all your files that you upload on S3 are treated as objects, right? And these objects have to be stored in a bucket. Now, what do you mean by a bucket is, you can consider the bucket to be a folder. So, the root folder has to be a bucket, right? You cannot just upload files on to S3. You have to first create a bucket and inside this bucket, the secondary folders are called folders as in the normal lingo, but the first folder, the folder in the root is called the Bucket. Now, once you create a Bucket, its very simple, you can upload your files and these files in the AWS lingo are objects. Alright. So, you can upload your objects and these objects will have a certain path, which you can incorporate in your application and that is how you can access your file from your file systems. This is what S3 is all about, pretty simple. Let's move on to our next service which is Cloudfront. So, Cloudfront is that content delivery network that I will explain to you guys. So it's a caging service like I said, so as you can see in the diagram if a user wants to connect to a website which is very far from the user's location, that website can be caged to a location which is near the user and from that location the user can access that website. Now, why would you do this? Its because the response time becomes less in this case. So, say suppose if you were using that website from that far-off server, you were getting a latency, says suppose around 0.7 seconds or 0.8 seconds. Now with this caging, you can get the same website for around 0.2 seconds or 0.3 seconds. Now, this is very huge when you compare it at a global level and that is what Content Delivery Networks are all about. So, guys, any question on the Content Delivery Network or Amazon Cloudfront which we just discussed? Alright, Michael has an interesting question. So, Michael is asking me, 'What are Edge Locations'? So, someone has done their self-study. Alright Michael, so this server that we are talking about, this server that has been used to cage your website that is a web server which is near your location is called an Edge Location, right? So, when the user is trying to access the website which is far off and if they have enabled Content Delivery Network in them, that website is caged to a location which is near the user and this location is called Edge Location. So, basically this location would comprise of a group of servers on which the data is caged, and Edge Locations are nothing but name given to these group of servers. So, Michael, does that answer to your question? Alright. Any more question guys? Alright, everybody is giving me a go, so let's move on to our next service. So, our next service is Elastic Block Storage. So, Elastic Block Storage is basically like a hard drive to EC2. So, when you are using EC2 instances, obviously your operating system or your software is being stored somewhere, right? So, EC2 is backed by EBS for that matter, so EBS basically acts as a hard drive for EC2 and it cannot be used independently, it has to be used with EC2 only. Another interesting fact about EBS volumes is that one EC2 instance can be connected to multiple EBS volumes, but the vice-versa is not true. One EBS volume cannot be connected to n number of EC2 instances or more than one EC2 instances. Each EBS volume can be connected to only one EC2 instance and why that is because you can imagine it like this: so if you have one hard drive and at one time that hard drive can only be connected to one computer or one mother board, right? You cannot connect that same hard drive to 2 or 3 mother boards, correct? And that is the same case with the EBS as well, so its pretty logical when you think it like that. Any question guys, regarding EBS? Let's go head. Let's move on to our next service, which is Amazon Glacier. So, Amazon Glacier is a data archiving service. So, basically when you have to back up data from your say, suppose S3 or EC2 instance, you back it up on Amazon Glacier. So, why would you back it up on Amazon Glacier is because they use magnetic tapes and these magnetic tapes are cheap and hence your data storage on Amazon Glacier becomes cheaper, right? Now, why would you store on Amazon Glacier? Which data would you store on Amazon Glacier? So, you would store data which is not that frequently accessed. Your use-case will be something like a hospital, where in you have to store test records of all your patients, right. But, what about the test records which are more than 6 months old? Those patients are not returning, right? So, you can store that data on Amazon Glacier and if tomorrow, may be in sometime when that patient returns, it can always be retrieved from Amazon Glacier. Obviously since its cheaper, the retrieval time will be more if you compare it with S3 or with EC2, but then its worth it because it is cheaper, so this is how you would use Amazon Glacier. Any doubts guys, about 'What Amazon Glacier is'? or 'which data would you store on Amazon Glacier'? Alright. Michael says no, Sandeep says no, Neel says no. Alright guys, good going. Let's move on to our next service, which is Snowball. So, Snowball is a way of transferring your data to the AWS Infrastructure or transferring your data back from AWS Infrastructure. Now, how do you do it is like this. So, you have your data in your datacenter, right? Your Snowball device is connected to your data centre and all of your data is transferred to the Snowball device. Now, this Snowball device is then shipped back by AWS to its infrastructure and then your data is uploaded. Now, 'When will you use it'? When you will have large amount of data or you have petabytes scale of data, which if you are trying to send it across using the internet, it will take a long time. But if you are using Snowball, using Snowball this data transfer process becomes more fast because you are physically transferring the data and the data is being transferring in bulk, right? And that is where Snowball comes in handy. So, guys this is what AWS Snowball is all about. Any question related to AWS Snowball? Alright, people are saying no questions, all clear. Alright guys, let's move ahead then. Okay Michael says, can you explain me once more time, alright Michael. So, our next service is Snowball. So, Snowball is basically a physical device which is used to transfer data from your datacenters to the AWS Infrastructure. Now, say, suppose you have an application and you decide to make a move to the Cloud, right? You are hosting your application on your own for now, but you have decided okay, I want my application to be on the AWS Infrastructure, right? Now, your application is already running, it is very successful, it has a huge data set that is being served by your servers on your own datacenter. Now, this data set has to be migrated to the AWS Infrastructure, right? Now, the way you can do it is in 2 ways, you can either transfer it online using the Interne or; you can do the transfer using a physical device. Right? Now this physical device is Snowball. So, when will use Snowball and when not the internet is when you will have huge amount of files, right? When you have say, data at the petabyte scale. In that case you would use Snowball to transfer your data, right? Now, how this process happens is like this. AWS, you have to request for a Snowball device, right? So, that Snowball device will come to your premises, you transfer the data on to that Snowball device and then that Snowball device is shipped back to the AWS Infrastructure, where the AWS experts will upload the data to their own datacenters, right? Now, if you were to use internet for a petabyte scale of transfer, it could take a lot of time. But with Snowball, all of this can happen within 10 days, so you are saving cost on your internet. You are saving a bandwidth and your process is happening faster. So, this is how Snowball comes in handy. Now, any question guys regarding what Snowball is? Alright. People are saying all clear. Let's move on to our next service, which is Storage Gateway. So, Storage Gateway is a service which is used between your datacenter and your Cloud. Alright. It can be used between your datacenter's resources as well. Now, how is it used is like this. Say, suppose you have database servers and your applications servers, right? So, now your storage gateway will sit in between your database servers and your applications servers and it will keep on taking snapshots of your database and will keep on storing it on S3. Now if you have say, suppose 3 or 4 database servers and you have Storage Gateway installed, and your 4th database server gets corrupted because of some reason. Now, what Storage Gateway would do is, it will recognize that a failure has happened. It will take the related snapshot of the respective snapshot and restore your server in which the snapshot was taken, and that is how Storage Gateway works. This is about your private resources when you are using your own database server and your application server, the same can be done in AWS Infrastructure as well when you are using EC2 and RDS which is a database service. So, storage gateway can sit in between these 2 services and can serve the same purpose. So, this is what Storage Gateway is all about. Guys, any questions related to Storage Gateway? And also, we are ending with the storage services. So, any questions related to the services which we just discussed? Alright. We were seeing all clear. Alright, guys. Let's go ahead then. So, let's move on to the next domain, which is the AWS Database domain. So, the Database domain would include all of these services, so the first service in the Database domain is RDS, which is a Relational Database Management Service. So, the thing here you understand is that RDS is not a database it is a database management service, so it manages databases for you. Now, which database does it manage? It manages relational databases for you, right? So, it manages databases like MySQL, manages database like Oracle, MariaDB, PostgreSQL, Microsoft SQL server or Amazon Aurora, right? Now, what are the management tasks that we are talking about? So, it updates the DB engines automatically, it installs the security patches automatically, so everything that had to be done manually or will be done manually if you are hosting a database server, it does that automatically for you and that's why it is called a Management Service, right? So, this is RDS. Now, the difference between RDS and a service that we will be discussing some time later, that is DynamoDB, is that they both are management services, but RDS is for Relational Databases and DynamoDB is for non-relational databases, so we will see that in detail later. So, for now, let's move on to our next segment, which is Amazon Aurora. So, Amazon Aurora is a database, which has been developed by Amazon itself. So, it is included in RDS, i.e., it is relational database which is also managed by RDS. But, what is the difference between Amazon Aurora and the other databases which are already out there is this. So, Amazon Aurora is actually based on MySQL. It means the code that you are using MySQL will work with Amazon Aurora as well. But then Amazon claims that Amazon Aurora is 5 times faster than MySQL. So, if you are using MySQL and you replace MySQL server with an Amazon Aurora Server, you will experience 5 times boost in your performance, and this is what Amazon claims and that is what Amazon Aurora is all about. So, if you are using Amazon Aurora and you were using MySQL before, you don't have to change your code because it will work exactly the same with the code as it was, when you were working with MySQL. Because there is no change in the code when it works with MySQL and Amazon Aurora, but you will get a performance boost when you are using Amazon Aurora. So, guys, are we clear about what Amazon Aurora is all about? Okay, so Michael has a question. So, first I need to host a database like MySQL and then I can take the RDS service to manage it. No, Michael it's not like that, I will actually launch an RDS database, just have patience for a while and then everything will be clear to you. Alright Michael? So, for now you can understand, for usual understanding, that RDS is database service. What all tasks are performed by RDS that is auto-updating security patches, auto-updating the DB engine, updating rollback, everything is done automatically by RDS, alright? Any questions related to Amazon Aurora guys, what Amazon Aurora is? Any doubts? Alright, people are saying all clear. Alright guys. Let's move ahead then. So our next service is DynamoDB. So, like I said, DynamoDB is also a management service, but it manages non-relational databases for you. So, when I say non-relational bases, I mean NoSQL databases. So, if you have unstructured data that has to be stored in a database, so where will you store it? You cannot store it in a relational database; you have to store it in a non-relational database, and the non-relational databases are managed by DynamoDB, right? So, DynamoDB is actually a NoSQL database, which also gets managed automatically. Alright? So, when I say managed, its gets updated, the security patches are installed automatically, everything is done by DynamoDB itself and there is no manual intervention required. Also, the thing with DynamoDB is that you don't have to specify the amount of space that you will be needing, the moment more data comes in, the database automatically scales, right? So, it grows automatically. Your manual intervention is not required. If the storage is coming low, nothing is required in DynamoDB, you just go to the DynamoDB console and you start creating new tables, it doesn't ask you for anything. You don't have to configure any storage property or anything like that. It grows automatically and shrinks automatically as well. So, this is about DynamoDB guys. Any question regarding DynamoDB? Alright. The next service in the database domain is DynamoDB. So, like I said, RDS is a database management services for relational databases, right? DynamoDB is a database management service for non-relational databases. So, when you have unstructured data, you store your unstructured data in non-relational database. You cannot store your unstructured data in the relational database, because relational databases consist of data that can be structured in a table, but when you talk about unstructured data, say, suppose, let's talk about something random, let's talk about your post on facebook, they are all random, right? So, if you have to analyze your posts on facebook, you just have to take that data and you feed it into a non-relational database and it makes sense out of it. This is the power of a non-relational database, and DynamoDB is a non-relational database management service. So, its a service which manages a non-relational database for you. The other thing with DynamoDB is that you don't have to specify the storage space that you will be needing. As and when the storage requirements increase, your database scales automatically. So, if you have a storage requirement of 10GB today and tomorrow you are feeding data of say 5GB more, so your database will grow automatically and you will be charged according to that. If you are using 15GB, you will be charged for 15GB and so forth. So, you don't have to manually intervene to increase your storage. DynamoDB does that automatically. This is about DynamoDB guys. Any questions related to DynamoDB? Since you guys are all clear, let's move on to our next service, which is ElastiCache. So ElastiCache is a caching service, so it is used to set up, manage and scale a distributed environment in the cloud. What that basically means is, say suppose, you have an application, right? Now the way databases works is like this. You query something from database, the database processes that query and in turn give you a result. But, what if there is a lot of demand for a specific kind of result set? So, the same query is running again and again and again, so it increases the overhead on your database in getting the same results again. So, with ElastiCache what you can do is, as you can see in the diagram, the user was first accessing this query from database, but now since it has analyzed that this query is being asked very frequently, it stores the result set in ElastiCache and whenever that query comes in, it directly feeds in that result. So, the DB's overhead or the database's overhead is reduced, because the request never reaches database because it has already been processed and it is stored in ElastiCache and the ElastiCache in turn, serves the user with the result and hence this process becomes faster. And this is what ElastiCache is all about. Any question guys regarding what is ElastiCache is? Alright, people are saying all clear. Alright guys, let's move on to a last service in the database domain, which is RedShift. So, RedShift is a data warehouse service, so, it's a petabyte scale data warehouse service. So, it gets data feeded from RDS, it gets data feeded from DynamoDB and it does analysis on its own. Its an analysis tool; it is a data warehouse service which can be used to analyze all the data that you have stored on your database, say like RDS or DynamoDB. Alright? So, its an analytic tool. So, guys, any question related to RedShift? Its a data warehouse service, like I said, which is used to analyze data and you can feed the data from RDS and DynamoDB as well. Any question guys? Alright. Michael says no, Neel says no, Sandeep says all clear, Sebastian says all clear. Alright guys, so this is end of database service on RedShift. Let us now launch an RDS Service and let like Michael asked he had a doubt. So, let's see if we can clear his doubt when we launch an instance in the RDS. So, let's go back to our AWS Management console, let's go to the dashboard for AWS. So, under the database domain we can find RDS over here, we click on RDS. Alright? We will click on instances, so there are no instances as of now, so let's launch a DB Instance. So we have to select which database do we want to be managed, right? So, Michael was asking me first we have to host a database and then we incorporate RDS, is it like that? So, no Michael, the moment you click on RDS and you try to launch an instance, it will ask you which database do you want to manage, right? If I say, suppose I want to manage MySQL or I want my databases, say suppose hosted under MySQL server or my local host, right? If I wanted to be migrated to AWS Infrastructure, I would want the same database over there as well, right? So, I will choose MySQL over here and click on Select. Now it will ask me which environment do I wanted to launch it. So, there are two kinds of environments, one is the prod environment and the other is the Dev/Test, that is the development or the test environment, since ours is a demo, so we will launch it in a test environment and click on Next. So, over here we will be figuring our instance, so it will ask me for DB Instance class, let's select the minimum which is db.t2.micro, so we will be discussing all of these instance types when we reach the database modules, so don't worry about it, just go with the flow. Select db.t2.micro and then it will ask me for Multi-availability zone deployment, so multi-availability zones deployment is something related to availability, so if you want you database to be there in different availability zone, so that if one availability zone goes down there, you would choose option "Yes" as option over there, since ours is a demo we'll select "No" and it is asking for the storage type, so it SSD, Provisioned IOPS, Magnetic, basically the options here is given according to the use case, so if you have an application, if you low latency, so you would choose accordingly and we would discuss all of these in the database domains, don't worry. Let us discuss click at default for now and let's go in the settings. So, it is asking me how will a database be identified, so let's give it the name as 'edureka-demo', alright? Let's give the master username as �Edureka�, master password as "edureka123" and let's confirm the password again. Alright guys, let's click on the next step now, so it is now asking me for VPC, now guys this is a step which is very important. If you have an application that you want to deploy in AWS and you want that application to interact with database section as well, you have to include both these services, say suppose - you host an application on EC2, now EC2 and their RDS or whatever source you are using for your database has to be included in the same VPC so that they can interact. This has to be kept in mind when you are trying to deploy an application on the AWS infrastructure. So, let us keep it at default for now. So, I have a VPC called 82a742e5, so let's keep it at that, and it's asking me VPC Security Group, so let's select the default security group, DB name let's leave it blank, we will launch our own DB or we will create our on own DB, okay so over here you can select which version do you want, which is 5.6, everything else looks fine, you don�t have to change anything here because we have not studied anything of this yet, so once you do that I will explain you guys all of this, right? Let's click on launch DB now, Launch DB instance, so it says my DB instance is being created. It will take a while for my DB instance to be launched, let's see if we have our instance listed in our RDS Dashboard. Alright, so my instance is created now, so it will take a while, let's look at the things over here. So, once you click here, you will see all the data associated with your RDS instances. Now the way you will connect your RDS instance is using your command line, right? So using a command line, you will use a command called MySQL, so for using that command you first have to go to the bin directory of your MySQL installation, so yes you should have my SQL installed on your local server from which you were trying to connect your RDS instance, so you will enter the command MySQL once you are in the bin directory in command prompt and space - h, so h is your hostname, right? And hostname is the nothing but your end point. I will show you guys exactly what to do, but since it is being created I'm explaining you guys the process. So the endpoint is basically the host name that you will get, so you will get that once this is created, right. So, when I say MySQL space - H followed by the endpoint, space - P which is the port number using which you will connect to RDS, so you have to mention the port number that will also be mentioned in the end point and then you have to enter the username. So, if you guys remember, I entered the user name as Edureka and it will be followed by " - small p" which is just a password, click on Enter, the next line it will ask you for the password and you will enter the password that you have specified while launching your instance, in our case it was "edureka123", so we will enter "edureka123" over there and then hit Enter and if everything goes fine we would be able to connect to our RDS instance. So, guys this is the whole process, in a few minutes I will explain you guys how we will be doing that. We are just waiting for a DB instance to be created, so let's wait a little longer. Alright guys, our RDS instance is launched, lets now try and connect to our RDS instance, so for that let's launch a command prompt and navigate to my MySQL directory, for me it's in wamp64, bin directory, alright. Now I'm in the bin directory from my SQL installation, now I will get the following command to connect to my RDS instance, so the command is my "SQL - h" which is the host name, so now I will be entering the host name that is the end point that AWS provides me on the console, so you will select your RDS instance and you will click on your end point, and you will hit copy, alright. So, once you have copied it, go back to command prompt and paste it here, so the 3306 is actually your port name, so you have to enter it separately, so just delete the 3306 part and enter - P, remember guys it is capital P, it's not small p, small p is for password, capital P is for your port number, alright. So you'll enter P and enter 3306 which is your port number, once you have done with that then you will enter your user name, so for that you will enter the tag as -u which is the username, so if you guys remember it's edureka followed by -p which is the password which we will enter in the next line. So, you will hit enter just after -p now, so in the next line it will ask you for enter password, right? Over here you will enter your password which you have specified in the installation, hit Enter and if everything works fine you will be connected to MySQL instance, yes, so we are connected to our RDS instance now, so you can enter the MySQL commands as you enter in your normal MySQL, so we will enter 'show databases', so these are all the databases which are there for now on my RDS instance. So this is how you connect to your RDS instance once you have launched it. So, Michael, like I said, you had a question whether you have to host the MySQL service first and then launch an RDS instance to manage it, so Michael, does that answer your question? Does this practical explain you what your doubt was? Aright guys, so Michael says yes. Any doubts that you guys have other than Michael. Alright. Everybody is giving me a go. Alright guys, so let's move ahead, let's come back to our presentation. So we are done with all the database services now. Let me give you guys a recap what we just learned, so RDS is a relational database management service, Aurora is a database which is built by Amazon which is based on my SQL, which performs 5 times faster than my SQL, alright. DynamoDB is a database management service for no sequel database, ElastiCache is a cache-in environment, it is used to cache results which reduces the latency and reduces the overhead on databases as well. RedShift is a data warehouse service which can be used to do analysis on data and the data can be fed from RDS and DynamoDB as well. So guys, these were the database services. Any questions with any of these services which we just discussed? Alright, you guys are giving me a thumbs up. Alright guys, let's move on to our next domain. Our next domain is the Networking domain, so let's see what all services are offered by the networking domain. So, Networking domain basically offers 3 kind of services, the VPC, Direct Connect and Route 53. Let's discuss each one of them. So, VPC is a virtual private cloud, so it's a virtual network. If you include all your AWS resources that you have launched inside one VPC, then all these resources become visible to each other or can interact with each other once they are inside the VPC. Now, the other use for VPC is that when you have a private data center, and you are using AWS infrastructure as well, and you want your AWS resources to be used as if they were on your own network, in that case you will establish "virtual private network" that is a VPN connection to your virtual private cloud in which you have included all the services that you want on your private network. You will connect your private network to the VPC using the VPN and then you can access all your AWS resources as if they were on your own network and that is what VPC is all about. It provides you security, its makes communication between the AWS services easy and it also helps you connect your private data center to the AWS infrastructure. So guys, this is what VPC is all about, any doubts in what VPC is. Alright, people are giving me a heads up. Let's go ahead on to our next service which is Direct Connect. So, Direct Connect is a replacement to an internet connection; it is a leased line, a direct line to the AWS infrastructure, so if you feel that the bandwidth of internet is not enough for your data requirements or networking requirements you can take a leased line to the AWS infrastructure in the form of the Direct Connect service, so instead of using the internet, you would now use the Direct Connect service for your data stream to flow between your own datacenter to the AWS infrastructure and that is what Direct Connect is all about, nothing much further to explain. Let's move on to a next service, which is Route 53. So, Route 53 is a domain name system, so what is a domain name system. Basically whatever URL you enter has to be directed to a domain name system which converts the URL to IP address, the IP address is of the server on which your website is being posted. The way it functions is like this, you buy a domain name and the only setting that you can do in that domain name or the setting which is required in the domain name are the name servers, right. Now, these name servers are provided to you by Route 53. These name servers that Route 53 provide you are to be in the entered in the settings of that domain name. So, whenever a user points to that URL, he will be pointed to Route 53. The work and the domain name setting is done. You will have to configure Route 53 now. Now that your request has reached Route 53 it has to be pointed to the server on which your website is hosted, so on Route 53 now you have to enter the IP address or the alias of the instance to which you want your traffic to be directed to. So you feed in the IP address or you feed in the alias, and it's done. The loop is now complete. Your URL will now get pointed to Route 53 and Route 53 in turn will point to the instance on which your application or website is being hosted. So, this is the role which Route 53 plays. It's a domain name system, so it basically redirects your traffic from your URL to the IP address of the server or which your application or website is hosted. So, guys any question related what Route 53 is? People say all clear. Alright guys, so we are done with the networking domain. Let's move to our next domain which is AWS Management Domain. So the management domain includes all these services. Let's start of with the first service, which is CloudWatch. So, CloudWatch is basically a monitoring tool, which is used to monitor all your AWS resources in your AWS infrastructure. Now, how you can monitor them is, let's take an example - say suppose you want to monitor your EC2 instance, you want to be notified whenever your EC2 instances CPU usage goes beyond say 90%, right. So, you can create an alarm in CloudWatch and whenever your usage will cross 90%, it will figure an alarm and that alarm in turn will send you a notification maybe by an email or maybe whatever parameter that you set, you will receive an alarm in that scene, so this is what cloud watch is all about. You can set alarms and turn to reactions that you get from your AWS resources. So guys, any questions related to CloudWatch? Alright. Let's go ahead. So, our next service is CloudFormation, so CloudFormation is basically used to templatize your AWS infrastructure, now why would you templatize your AWS infrastructure is when you have different environments and you want to launch the same infrastructure in different environments, right? So, if you create infrastructure and you don't want to create that again, you can always take a snapshot of it using the CloudFormation and then you can templatize this infrastructure and use it in other test environments. Say, suppose you have Test Environment, Product Environment, and Debit Environment, and you want the same Infrastructure in all of these 3 Environments. We can do that using CloudFormation. So, CloudFormation is a tool using which you can templatize your AWS infrastructure. So, nothing much more to explain. Let's go ahead and see our next service which is CloudTrail. So, CloudTrail is a logging service from AWS. So, you can log all your API requests, and API responses in CloudTrail and why would you log them is because when you want to troubleshoot a problem. Say suppose you get some error while you are using an application and since there can be countless cases, where in you don't get error, but in a particular case you get an error, now you have to track down the problem. So, how will you track it down? You will track it down using the logging service. So, since every request is logged using CloudTrail, you can go to that particular log where the error occurred, and hence jot down the problem and jot down the line where the error is occurring and then solve it. So, this is what CloudTrail is all about. Now, how are the logs stored? Now, say suppose you have CloudTrail enabled on a particular service. So, CloudTrail will generate logs and will store those logs in S3, which is a file system provided by AWS. So, this is how the whole process happens. So guys, are we clear why would we need an AWS CloudTrail service? Or why do we need a logging service in that matter? Alright, people are giving me a go. Alright guys, let's move on to our service now, which is AWS CLI. So, CLI is a command line interface, which is just basically a replacement to the GUI interface that you have. I showed you guys the AWS dashboard, right? So, that is the GUI. But, say suppose you are comfortable with command line. So you can also use command line to deploy instances and the way to do that is by using AWS CLI. Right? So, there is nothing here to explain, it's just a replacement to your GUI that you use any request. So guys, any questions, any confusions in AWS CLI? Alright. You guys seem to be pretty smart understanding everything. Alright guys, let's move ahead to our next service which is OpsWorks. So AWS OpsWorks is a configuration management tool. So, it consists of two parts. It consists of stacks and it consists of layers, right. So, layers are basically different AWS services that you have combined together and when you combine them together this whole system is known as a stack. Now, where would you need a configuration management tool. Now, imagine a scene like this. You have an application which is using a host of AWS service, right. And you want to change something very basic. Now, one way to change this thing is by going to each and every service particularly and changing that setting. The next way to do this is using OpsWorks. If you have deployed your application using OpsWorks, one basic setting that you have to change in all of your infrastructure can be done at the stack level. So, basically all your resources, all the services that you are using and different layers in that stack and that combination is known as stack, right? That AWS infrastructure as a whole would be known as a stack and if you have to change the setting, you will have to change it at the stack level and automatically it will be implemented to all the levels. So, this is how OpsWorks function, right. It's a configuration management tool. So, any question related to OpsWorks guys, any part that you don't understand about OpsWorks? We are good to go. Alright, let's move on to our next service, which is the Trusted Advisor. The Trusted Advisor is just like a personal assistant to you in the AWS infrastructure. So, how does it advise you is like this. So, it advises you on your monthly expenditure. So, say suppose you have the best practice and if you use that practice you can reduce your expenditure. So, Trusted Advisor would advise you to do that thing. It would advise you for using your IAM policies, if it recognizes that a lot of users, a lot of different peoples are using your AWS account and you have not set up any IAM Policies on your AWS Account, it will advise you to create those IAM policies and hence this will enable you to create your AWS account better. Right? And these are the kind of advises that the trusted advisor will give you in AWS. So, guys, are we clear with what Trusted Advisor does? Alright guys. So you guys are giving me a go. Alright guys, so we are done with the management services, any doubt in any other services, which we just discussed. Alright. So let's move ahead. So, our next Domain is the Security Domain. So, let's discuss the services in the Security Domain. So, the Security Domain includes 2 services. The first service is IAM. So, IAM is Identification and Authentication Management tool. So, what this basically does is, like I said if you have an enterprise and your users are using your AWS account to control the AWS infrastructure. You can provide them with granular permissions. Say suppose, you want a user to just review what all instances are there, so you can give him that access. If you want a user to just be able to launch instances and not delete them, you can give that particular user that access, so these are the kind of accesses that you can give using IAM and that is what IAM is all about. It authenticates you to your AWS account or in this case your employees do the route AWS account in a fashion that you want. So guys, any question related to what IAM does? Right, Michael seems pretty clear. Neel says all well. Alright guys, let's move on to the next service, which is the Key Management Service. So, AWS KMS is Key Management Service. So, basically any instance that you have launched in an AWS is based on this infrastructure that there will be a public key and you guys will be provided with a private key and the public key is with the AWS. Whenever you want to connect your instance, you have to upload the private key or you have to get the private key and then AWS will master private key with your public key and if it matches it will authenticate you to your AWS instances. So there is nothing more to explain. This is what basically KMS does. So, KMS basically assigns you with the private key. You can create a new key pair or you can use an existing one, but guys, you have to be very careful with your private keys. If you lose your private keys in any case, there is no way you can gain access back to your particular AWS resource, which will be using that private key. So, guys are we clear with what KMS is. Alright. Michael says yes, Neil says yes, Sebastian says yes. Alright guys, so we are done with the security services. Let's move on to our next domain, which is the AWS Application Domain. Right? So, the Application Domain includes 3 services. The first service is Simple Email Service. So, like I said, if you have a large user base and you want to send emails to them, you can do that on a push of a button using the SES, also if you want the replies to be automated that can also be done using SES. So, it's a very simple service, nothing much more to explain. Any doubts in this particular service guys, SES. Alright. Let's move ahead then. The next service is a pretty interesting service is called the Simple Queue Service. So, a Simple Queue Service acts as a buffer. Now the way it functions is like this. Now, say suppose, you had that application, you had that image processing application, right? Now, whenever you upload an image. Say suppose you have to do 5 tasks. Now these 5 tasks will be listed in your Simple Queue Service or your simple queue, and a server will keep a reference with this queue and see what all tasks are left to be done on the image. Now, how does this help? This helps when you have multiple servers running for your processing, right. And say, suppose, your first 2 operations are done by the first server and the next 3 operations are may be to be done by the some other server, right? So, the next server should know what all operations are already done, and this knowing is actually referenced through your SQS. So, whenever a task is done that task is removed from the queue, and the next task is queued and that is what SQS basically does. So guys, are we clear with what SQS is and how it functions? So, Michael is asking me does this works on priority basis. Michael, when you will be listing those tasks those will be on priority. The first task that you have listed will be executed first. So, yes it is based on priority. The priority is first in first out. So, the first thing that you list has to be executed first, right? So, say suppose you have 5 images pending, so the 2nd image is after the first image, the third image is after the second image, so the first image will be processed first according to the queue, and then the second image will be processed and then third image will be processed, so it works like this. So, Michael are we clear with what SQS is? Anymore question guys, regarding the SQS services? Right, you guys are saying all clear. Alright. So, let's move ahead. So, the next service is SNS, which is the Simple Notification Service. So, it basically sends notification to other AWS services. Now, how can it be used, it can be used like this. Say, suppose that application that we just discussed about image processing, you upload the image, right? And now you also want it emailed whenever an image is uploaded. Right? Now, how will you do it using SNS? So SNS will send a notification through SQS and SES that an image has been uploaded. Now when the notification is sent to SQS that notification can also include the number of tasks or the task that have to be done on that image, right? So SNS sends a notification to SQS with the details that have to be added in the queue and SNS can also send a notification to SES that an image has been added, so sent the respective email to the respective person, right? So, this is how SNS functions, it sends notification to different AWS services and this is what SNS is all about. So, guys are we clear about all the services that we have discussed so far, such as SES, SQS and SNS. Any doubts in any of these 3 services. Alright. Sebastian says no. Michael says no. Neel says no. Alright guys, so we are done with the services now. So, let's move on to our next section which is, AWS Pricing. So, we are done with all the services. We have learnt what all AWS has to offer us. Now, let's see how we charge using these services. So AWS has these models. So, the first model is, 'pay as you go', so it means you pay what you use. So, let's take an example of a file system here, so you don't have to force your requirement and buy a 50 GB junk for yourself, even if you are using say only 10 GB out of it. If you are using some other service if you are not using AWS and they don't follow 'pay as you go' model. You have to foresee what your requirement is, you have to foresee say suppose you might need 50 GB in a month, right, but you end up using sat only 10 GB, but since you asked for the 50 GB you have to pay for that whole 50 GB, right, even if you are using 10 GB out of it. But, with AWS, this is not the case; you pay according to your usage. So, if you are using S3 and you have just 6 or 7 GB of data on it, you will be paying for that 6 or 7 GB, and in future if you upload more data on to it, you will be charged according to that data or that storage that you are using. Alright, so this is what the 'pay as you go' model means. The next model is pay less by using more. So, this is a very interesting concept. Let's understand this. So, we have included for pricing S3. So if you are using S3 up to 50 GB of storage, you are charged at 0.023$ GB per month, right? If your usage goes beyond 50 GB and it lies between 51-100 TB of storage, your rate reduces to 0.022$ GB per month. And if you use 500 TB plus of storage on S3, you will be charged at 0.021$ GB per month. Right? So as you are using more, your prices are dropping down, the rates are becoming less and this is what 'pay less by using more' means. So, let's move on to our next model which is, 'save when you reserve', now this is again a very interesting model, save when you reserve. When you reserve any instances in AWS, you have an option to reserve them for one year or a 3 year term. So, if you have that kind of usage, you can reserve your instances and you can save cost up to 75%. So, as it evident in the picture or in the diagram below, a lady who didn't know which servers and for how long she will be using that service. If she ends up using that service for say one year, she will be entitled to pay this much amount, but in the other scene she knows she will be using it for say one year or 3 years whatever and what instance she wants, she can save cost up to 75%. Now this is the power of reserving, but it makes sense for you only when you know when your used cases like this that you might be requiring that instances for a term of 1 year or 3 years, right? For example, our company, Edureka has it website called edureka.com, right? So, it makes sense for us to reserve the instances because our website will be there as long as our company exists, right? So we can reserve instances and host the website on reserved instances, but then since I am giving you guys some demos today, right? So, these demos should not be reserved, I might delete them tomorrow, I might not be using them maybe after a week or month. So, it doesn't make sense for me to reserve instances and that is what reserving instance is all about. So, if you know that you will be using your instances for a minimum of 1 year or maybe 3 years down the line, you can reserve them and you can save up to 75% on that. So guys, this brings us to the end of the AWS pricing section. Are we clear with all the pricing models that we just discussed? Alright guys, I am getting a yes from you guys. So, let's move to our next section. So, this is the fun part guys. We are done with all the theory, let's now discuss a problem and let's see how we can solve it's using the knowledge that we have gained today, right? So our problem would be hosting a website and we will be hosting it on the AWS infrastructure. So, let's see how we will go about it. So, let's first discuss the problem. So, we have to host a website on which we can upload images and these images should be displayed on the homepage once you have uploaded them this website should also auto scale and should be highly available, right? So this is our used case and we have to host this application on the AWS infrastructure. So, let's see how we will architect the various website we function. So, the user will point to a website address that website address will point to the website and that website will actually be dealing with the files a file server and a database. Why the file server? Because you will be uploading our images on something, right? So that's why the file server and you have to remember the parts of those images and for that you will be using database, right? So, guys this is our architecture that we will be constructing using the AWS resources. So guys, do you have any doubt in this architecture, which we just discussed. Alright. Shubham says no. Michael says no. Neel says no. Alright guys, so if it's clear with you let's move on to the AWS services. Alright guys, so let's see how we will architect this architecture which we just discussed using the AWS resources. So, user had to point to a website address, which will point to a website. Right? So, like we said, we will need a domain name system here, so will be incorporating Route 53. So, our user will be actually interacting with Route53, which will in turn point to a server. So, our server is actually the place where we are hosting a website, right? Now, my application or my website is a PHP application, so like I said if you have an environment, which is there in Elastic Beanstalk you should always go for it. Right? So since PHP is listed in Elastic Beanstalk, I'll be using Elastic Beanstalk instead of EC2, right? Now, what is Elastic Beanstalk exactly under the hood, let's discuss that. So, Elastic Beanstalk will have EC2 instances under the hood which are automated, so you will have the PHP environment automatically configure on your EC2 instances and your EC2 instances will be controlled using the Auto Scaling and Load Balancer. So, whenever there will be a requirement for more number of instances, more number of EC2 instances will launched and the traffic will be distributed accordingly using the Elastic Load Balancer, so this is how it functions under the hood, but you don't have to worry about that. If you're not understanding what I just said, let's consider Elastic Beanstalk as a black box. Right? Now, your website has to interact with RDS and S3, so why RDS? Why S3? S3 is a file system which we discussed in the architecture above and RDS is the database that you are trying to connect with. Now, since you have to store the paths to the file that you are uploading, those paths can be actually stored in a structured manner, right? And since it is a structured data, you will be using RDS which is Relational Database Management service. So, you can store your data in say suppose MySQL database, right? That is why we are using the RDS service. Also if you are connecting a third party application to your S3 file system, you need to authenticate that application to S3 and for that, you would be needing access keys and those access keys are provided by IAM. Alright guys. So these are the AWS services that we will be requiring, so any doubt in why we are using these particular services and why not others, any doubt guys. Alright, people are saying all clear. Alright guys, so let's move on to fun part now. Let's create this architecture and let's host our website on the AWS. So, first let me go back to my browser and let me show you guys the website. So guys, this is my website. I click on upload files. I click on upload image. I have this folder called images on my desktop. I'll go to that folder, let's upload this image. Click on open and click on upload image. So, it says S3 upload complete that means my file has been successfully uploaded. Let's see if I can see it on the home page. So yes, I can see it on homepage. Now what basically happened here is that the entry to the database is made on my local host for now. So, let us see if the entry has been made. Let us launch my MySQL. So, this is my local host MySQL. My database name is Edureka. So, let's use that database and my table name is image. So, let's 'select * from image' and let's see if we have our image listed here, so yes there is an entry, so let's go back and see if we have a file named like this in my S3 bucket. Right, so let's go to the S3 service. So, you can find S3 under the Storage domain. So I have configured my code to interact with the bucket called Edureka RDS. So let's go to this bucket. So yes, it has a file. Let's compare the file name and see whether the same file is there in my bucket. So, this is my MySQL. This is my local host MySQL. So, this is the filename 1486720933, let's compare it with file name over here, 1486720933, so this is the same file. So, let's see if it is the file that we uploaded. So, we will select the file, we will click on Properties and will click on the link now. Let's see if it is the same file. So yes guys, this is the file that I have uploaded. Let me verify it on my website. So, as you can see, this is the same file that we uploaded. So our website is actually working fine, for now it is updating my MySQL on local host and it is uploading file on S3 and this website is hosting on my local host as well. So, now I have to upload this website on the AWS infrastructure, that is Elastic Beanstalk and I have to migrate this database to RDS. Right. So first let's launch an Elastic Beanstalk environment, right? So let's minimize all of this and go back to our AWS dashboard. Let's select Elastic Beanstalk, so it should be under the Compute domain. So let's click on Elastic Beanstalk, so there are no environments which currently exist, so let's create an environment. Let's click on create environment, so we need a web server, so we will click on create web server. So we have to select a platform now, so ours is PHP, so let's select PHP and since we want load balancing and auto scaling enabled ,let's give it a default, click on next, select a source for your application version, let it be a sample application for now. We will upload a code later, and let us not touch any of this, because this we haven't taught you guys, so let us not touch this and click on Next. So, now you have to name your environment, let's name it as, edureka-demo. Right. Let's check the availability. So this URL is available, let's click on Next. Like I said, you have to create this environment inside a VPC, let's check that and click on Next. So, which instant type, let it be t1.micro. Let's select key pair, so we created edureka-demo 1, remember? So, let's select that, it should be listed here, edureka-demo1, sorry the key pair's name was aws-demo1, so let's select that, email address is not required, application, nothing else required here. Okay, everything seems done. Let's click on Next. Now you would have to enter the name for your instance, right? So let's name it as edureka-demo. Right? Let's click on Next. So, now you have to select that VPC, so like as I said you have to select the same VPC as your RDS instance, so let's check name for our RDS instance VPC, let's go to RDS , our instances, let's see which VPC is my RDS included in, so it's an 82a742e5, so let's select the same VPC here, it's 82a742e5, so let's check if the security group is same as my RDS, so its sg-91bb, so it should be same, sg-91bb. Alright guys, so this is same. Let's click on Next now. Alright, so you have to select all of these instances. I'll explain you guys later why you do that when we reach the EC2 module. So, now let's select all of this and click on Next. You don't have to touch anything here, click on Next. Now, you have to review it and launch your application. So everything seems fine to me. Let's launch our application. Now, this might take a while to launch. Let me teach you guys how to migrate your database to the AWS infrastructure, right? So for that before migrating my database, let me show you one more time that whether or not this is being updated or not. Right? So, let's upload a file, let's choose a file now, I'll choose a second image, click on Open, click on upload image, says S3 upload complete, let's go back and check whether our file has been uploaded, so yes our file has been uploaded, let's check in our database. This is my local host database guys, you can see the address, so let's check if an entry has been made over here. Yes, there are 2 images now. Now, let's go to our S3 bucket and check whether an image has been added over there. So, we will go to S3, we will go to edureka RDS bucket. Let's compare and check whether it's the same file, so it's 1486721420, 1486721420, so it's the same file, but then let's confirm it. So, click on Properties and click on the link, so this is my image, let's verify it. So, yes it's the same image that I have uploaded. So, once I migrate my database to the AWS infrastructure, this will no longer be updated, right? So, this is the thing that you have to keep in mind. So let's take a backup of this database first, so for that I have to close this and go to my command line. Open the command line, I will go to the bin directory of my MySQL installation. Alright. So, I reached the bin directory. Now for clicking the backup of my database, I have to enter this command, it is mysqldump -u, so you have to enter the username for the local host of your MySQL service which is root and then password, since there is no password, I will not enter anything and then you have to enter your database name which is edureka, right? And I have to export it, so you will be using the > symbol which basically means that you are pointing it out, that is, you are exporting the file, right? So you are exporting the file to a filename called edureka.sql, so this is it. Let's hit enter and if everything works fine, this will work without errors. Alright. The command executed successfully. Let's check if we have a file called SQL in my bin directory for my MySQL. So, I'll go to the bin directory from MySQL and I should have a file called edureka.sql, so yes it has the file. So, hence a file has been made. Now you have to connect your RDS instance and then migrate this file over there, so that the database is created over there, right? So, I have already told you guys how to connect your RDS instance, right? You have to write 'mysql<space>-h' the hostname, let's copy the hostname from the RDS console, so it is over here, let's quickly come back, paste it here, remove port number, its capital P, guys remember, then you enter -u that is the username which is edureka, -p, not required for now and then -p and then you will hit enter, so it will ask for your password, so let's enter the password, its edureka123. You are connected to your mysql instance. Now, let's create a database. So, you have exported the file that you want to be imported to RDS, right? Now, you have to first create a database here, where you want the details to be copied or where you want the database to be there, right? So you create the database name. Create the database name, which is create database edureka, right. So, my database has now been created, let's check if it is empty for our satisfaction. Alright, so let's say show tables, so there are no tables in my RDS database for now. Okay. So let's now exit RDS and let us now migrate my database file to RDS, right? So for that, you enter the same command as you do to connect and then you will enter the < which means you are now importing to RDS, right? And what file are you importing, it's called edureka.sql and where are you importing it, you want to import it to the database called edureka and RDS. So let's do that now. So, basically you understand till here. After that I have included the database which I had just created in my RDS MySQL which is edureka and what data do I want edureka.sql to be copied to the database, edureka. Alright guys, so now let's hit enter, it will ask for the password for the RDS, let's enter the password edureka123, hit enter and if everything works fine, it will not give me error. So, it will take a while for my file to be uploaded, so just be patient. Okay, so it didn't give me any error that means my file has been uploaded successfully. So, let's check if everything went well, let's connect to our RDS instances, enter the password, my database name was edureka, which I just created in RDS, right? Now let's check if our table is being listed over here. So I'll enter show table, so yes it has a table name called 'image'. So let's check if there is any data in my table, select * from image, so yes, it has the records which were in my local MySQL as well, so let's launch local MySQL and see if I can verify my data. So this is my local MySQL and this is my RDS. Right? So, as you can see, the data is same, the table name is same, everything is same, so I have successfully migrated my database on the AWS infrastructure. Now, I have to tweet my code. So, that it can connect to the RDS instances now, right? So let's jump to our code now. So my code is over here, these are my code files, so I'll have to change index.php, so the host name was local host. Now, I have to change it to the end point that RDS had provided me. So let's do that, so this is the end point. Let's copy this into my code, remove 3306. It is now asking me for the username. So the username is edureka and the password is edureka123. Right? Everything else seems fine, let's save our index.php and let's see what all other changes we have to do. So I have changed index, now I have to change the upload part as well, let's do that. So, I am connecting to the database over here, so let's correct this, the host name is this, without the 3306 part. The username is edureka and the password is edureka123, anything else, seems we configured it. Alright, everything seems fine. Let's check if it's working on my local host now. Alright. I am getting the home page which means my connection is working, but then let's be sure, let's choose the file. Let's upload this third image, click on open, click on upload image, it says S3 upload complete. Let's go back and check whether it's there on my homepage. So yes, I can see this image on my homepage, and see if we can see it in my S3, is yes the third image added? Let's check if I can see it in my RDS. So, yes there are 3 records added, so my code can now interact with the RDS instance and it scan successfully more records over here. So, the connection to RDS is working fine. Let's be double sure and see whether my local host MySQL is not being updated. So, this is my local host. I use edureka; I will check whether the image table has been updated, so no, since my code is not pointing to this MySQL anymore, the record have not been updated. So, I have successfully migrated my database on to the AWS infrastructure. My code is now interacting with the AWS infrastructure. Let us now do the final step that is upload my code to the AWS infrastructure, right? So I think our Elastic Beanstalk is ready now, let's check. So the health says ok. Alright guys? So, I can upload my code over here now. So for that, the way you can upload a code on to Elastic Beanstalk is by zipping your code. So let's go back over here, copy these files. Go to my desktop. Create a new folder. Copy the files here, zip this folder. Let's call it upload. Right? So, now I will be uploading this folder to Elastic Beanstalk, so let's do that. So, we will click on upload. Choose the file. Go to desktop. Upload this folder. Click on Deploy. So it will take a while for Elastic Beanstalk to deploy my application. So let's just be patient. Once my code is up and running, it will show a green sign over here and I can access my website using this URL. If my website works fine, our next step would be configuring our Route 53 to point to a specific domain name, basically found a website which provides a free domain name to use. So I'll be using that domain name to connect to my instance, so will do that, in a jiffy. Let's just wait for our code to be deployed here first. Alright. My code has been uploaded now, it shows a green symbol. Let's check if it's working. So, I click on this URL and if everything is working fine, my website, I can see my website, so, yes! I can see my website. So, I have successfully migrated my website as well to Elastic Beanstalk. So, let's confirm this, by uploading a file. Let us click on upload files. Choose a file. Go to desktop. Click on images and upload this file. Click on upload and it says your upload complete. Let's go back and check. So yes, my Elastic Beanstalk is now showing image. If I can see this image here, this basically means that my database has updated successfully. My S3 bucket has also been updated successfully. So, everything is working fine guys. Now, the next step is to get a URL. So, I have got my free URL from the site called 'my.dot.tk'. So, this website basically gives you a free domain name, right? So I have got mine. Login. Alright, so I will go to the mydomain first section and click. So, this is the domain name that I have got for free. So let's click on Management domain. Click on Management tools, name servers. So basically these are the default servers, which are there for now and you have to use custom name service, which will be provided to you by Route 53. So, let's do that, let's go to Route 53 now. So Route 53 can be found under the networking. So, here it is, let's click on that. So let's get started, create a hosted zone. So click on create hosted zone and you have to enter the domain name. For me it's edureka.tk. Right? So let's create, now you have to enter the Record Set. Now these Record Sets will point to your application. So before that, let's copy the nameservers to my domain name, right. So, these are the name servers that Route 53 provides us and these name servers have to be copied to my name servers section over here. Right, so let's do that. So let's copy the first nameserver first. So we are using custom nameservers and let's delete all of them. So let's enter the first nameserver and the second one as well. Let's check if these are been saved successfully. So yes, let us add the remaining ones. Let copy the third nameserver as well and the fourth one as well. So, let's click on change nameservers. So it says changes saved successfully. So my domain name is now configured to connect to my Route 53. Let us now configure our Route 53 to connect to my instances. So, let's do that. So, let's create a Record Set, which is asking me a name. Now, there is this concept guys. Now, any website that you visit, you can visit it in two ways. Say suppose you have facebook.com, right? So you can either go for 'facebook.com' on you can go for www.facebook.com. Same is the case here. So, if I go to edureka.tk, I should be pointed to the same website, if I go to www.edureka.tk, I should be pointed to the same website as well. Right? So we have to create both the record sets. So let's create a record set for edureka.tk only right now. So, we click on Alias. Now, when you are launching an application in your Elastic Beanstalk Environment, you don't get private IP addresses, you get Alias. Right? So, you click on Alias and you will select your Elastic Beanstalk Environment, so this is it. Click on it and click on create, so my record set has now been added. Let's add one more with www in it and let's select the same Alias. So guys, this is it. It has been done. I have configured my Route 53 to point to my servers, that are my instances and I have configured my domain name to point to my Route 53. Now let's check if our URL is working, so it was edureka.tk, so it's pointing to my website. Congratulation guys! This is your first website. Let's check if we are being pointed to edureka.tk if we enter this address as well. So yes, we have been pointed to the same website. Let's upload a file and check whether everything is working fine. Let's click on upload image, open, upload image, it says S3 upload complete. Let's go back and check whether our file has been added. So yes, our file has been added. So our website is functioning. Fine guys, congratulations! We have successfully completed our practical and we have migrated our application to the AWS infrastructure fully. Right? So let's go back to our slide and just recap what all we did. So we launched Elastic Beanstalk Environment and this environment is basically hosting our website. Route53 is pointing the URL to the servers or the instance that is hosting our website. RDS is MySQL server, which is hosting the path for our images and S3 contains images and IAM is giving our application or our website access to the S3 file system. So guys, any question related any part that we have discussed now? Sebastian says thank you, very nice session. You're welcome Sebastian. Michael says no. Michael says nice practical. Thank you, Michael. Right, Neel says all clear. Alright guys. Let's do a recap of what we just discussed. So, we started off with what is Cloud computing and then we discussed what is AWS. After that we discussed different domains which are there in AWS, followed by the AWS services. After that we discussed the AWS Pricing and in the end, we did a use-case, where we migrated our application successfully on to the AWS infrastructure. So, any part of today's session guys that you don't have clarity in, you can discuss right now, I will explain you guys again. Alright people are saying no. Neel says all clear. Sebastian says all clear. Shubham says thank you. Alright, since everybody is giving me a go, let's wrap it up. So first of all, thank you guys for being a part of this session, for being patient with me. I hope you enjoyed the session and I hope you learned something new today. For the next session, I will be handing you guys out the assignments, so they will be uploaded to your LMS. I want each and everyone of you to do those assignments and come back to me in the next session. Also, I want you guys to try out this practical at your own. If you have any problems, you have our support team at your disposal, you can contact them 24x7. See you in the next session guys. Alright, have a good day. Bye Bye!
Info
Channel: edureka!
Views: 2,121,031
Rating: undefined out of 5
Keywords: yt:cc=on, aws tutorial for beginners, aws tutorial, aws for beginners, aws training, aws cloud tutorial, amazon aws, aws, what is aws, aws tutorial edureka, amazon web hosting, aws tutorial series, aws certified solution architect, aws ec2, aws s3, amazon web services tutorial, aws certification training, aws training videos, aws training and certification, amazon aws training, aws edureka, edureka, introduction to amazon web services, getting started with aws, edureka aws
Id: IT1X42D1KeA
Channel Id: undefined
Length: 120min 22sec (7222 seconds)
Published: Mon Feb 20 2017
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.