This Total Seminars course covers the exam certification topics. For information on additional study resources—including practice tests, lab simulations, books, and discounted exam vouchers—visit totalsem.com/linkedin. LinkedIn Learning members receive special pricing.
This course was created by Total Seminars. We are pleased to offer this training in our library.
- EC2 instance types
- EC2 pricing
- Configuring an EC2 instance on Linux and Windows
- Dedicated EC2 hosts
- AMI virtualization
- Managing EC2 instances
- Using security groups to control EC2 access
- Managing EC2 with Elastic Beanstalk
Skill Level Intermediate
- If you've been watching this course in the sequence of chapters and episodes, you've been learning a lot of information already about AWS. And what we've done is we've given you a foundational knowledge set that will help you grasp the concepts we're about to dive into. Because we're about to look at really the second most important area of AWS. The most important is storage. You've got to be able to put stuff in the cloud in order to use it. The second most important area is compute, that works against that storage. And that's what we're getting ready to look at. We're going to understand what EC2 is, what instances are and what all of this is about in order to get a virtual environment up and running within your space. So in this particular episode, we're going to be getting a functional overview of compute services and what they actually are inside of AWS. Now this begins with an understanding of EC2 itself. So EC2 is going to give you the ability to perform compute services within the cloud, through the process of launching instances, which are going to give you the ability to run various operating system services and applications in the cloud. And EC2 is going to take advantage of Elastic Blocks Store, which we've learned about another episodes. It's going to use that as the storage mechanism within the cloud. So with this understanding, you're ready to begin looking specifically at what an EC2 instance is and how they all work. So what really is an EC2 instance? Well, it's a virtual machine in the cloud. So if you've worked with virtual machines using Hyper-V or VMware or even something like VirtualBox, anything that virtualizes something. You've already worked with the concept of a virtual machine. If you haven't, a virtual machine is basically software emulated computing. So what you're doing is you're emulating a computer in software. Now, let me give you a little fun example of this. My absolute favorite computer of all time, because it's the best computer ever released in any single window of time in computing history. In my opinion, is the Commodore 64. The Commodore 64 is the one that I cut my teeth on. I learned about assembly language programming and basic programming and hardware programming, all of that fun stuff on the old Commodore 64. Well today you can go to the internet and download an emulator for the Commodore 64. So you can actually emulate a Commodore 64. What you're doing is you're running a virtual Commodore 64 on top of your PC or Mac. And in that virtual Commodore 64, you can run all the old software. You can type in your own basic based on the Commodore basic. You can type your own assembly language code. You can still do the same stuff you used to do on the Commodore 64 because it's a virtual Commodore 64. And that's really what it amounts to. In the same way, on our systems today, we can virtualize PCs and when we virtualize a PC, we can then run on top of that server operating systems, client operating systems. And then on top of those operating systems, we can run various applications. That's what we mean by a virtual machine. We virtualize the hardware and then we run any operating system or application on it that we want. Now the beauty of EC2 is it uses a pay as you go model, so we can launch one of these virtual machines and then just pay for it as we need it and as we use it. It can range from pennies per hour to dollars per hour, depending on what kind of instance you're running. And we'll get into all of those different classes or kinds of instances later in this chapter in another episode. It's going to control storage, networking and security. So it's going to impact the way all of these things work together. You're going to use the instance to access storage, to utilize networking, to configure security, all of this is going to be part of what you do with your virtual machine which remember is called an instance in EC2. Now one of the great things about Elastic Cloud Compute or EC2, is that it's fast, it's amazingly fast. What do I mean by that? Well, in the past, if we wanted to launch a new server, we had to spec out the hardware, make sure that it supported the operating system we wanted to run, make sure that it had the memory capacity and so forth for the applications we were going to run on that operating system. So we had to do all of that. And that alone could take a few hours. We still have to do that with an EC2 instance, but that's where things change from that point forward. Once you specked out all of that hardware in the old way of doing it, you had to order it, have it shipped into your facility, once it gets to your facility, someone had to unbox it, rack and stack it we call, and so what it meant was we were going to put it in the rack, we were going to configure it, get the OS on, get everything done that we needed and finally get it up and running. So it took weeks or months with EC2 instances we can go from idea to inception in minutes. The legacy mode took a whole lot longer, so this method gets you into production, into operations to use a West Virginia term lickety split. Very quickly, you're up and running. Now, what operating systems are supported on these instances? I thought you'd ask that question, so I want to answer it. You can run Windows 2003 R2 through to 2016. Any of those operating systems are supported by AWS. You can use Amazon Linux, which is a special set of machine images that Amazon has created that are pre-built to work especially in the AWS cloud and works really well. You can use Debian, SUSE, CentOS, Red Hat Enterprise, Linux, and Ubuntu all of these are supported right inside the cloud. Now let me say very clearly, you can also build your own instance images so you don't have to be constrained to these OSs. But these are the OSs is that if you're having a problem, you can contact AWS support and saying, you know, I've got my Amazon Linux instance running and this is happening can you help me out and they'll help you out. If you run some odd or very distribution of Linux inside of a custom image you created, you're not going to get direct support from AWS. The only thing they're going to support is that lower level stuff that is the AWS cloud infrastructure, because they didn't really authorize that image if you will. So you'll be on your own from that perspective. But think about it, if it was a hardware server that you ordered from Dell and then you installed that odd unusual distribution of Linux on it. Dell didn't support it either. And so you were still in the same situation. So things don't really change there. Well, what are the benefits then of using EC2? First of all there's time to market, if you've got an idea to launch some type of a Web based business or application, you can literally get it up and running in days instead of months. It's also very scalable, so we have the ability to scale out as we grow, rather than having to start out really big like we think we're going to be in 12 months. We can start out smaller and then scale it as we grow over time. And we'll be learning how we scale these different instances as we go along. We also have reliability, so built into the AWS cloud is the ability to have different instances and different availability zones and therefore accomplishing reliability. We have security capabilities built in. So AWS gives us the ability to secure the virtual infrastructure and then of course, whatever the operating system supports, we can use that internal to the instance to secure it as well. We have full control. So you have the ability to build your entire infrastructure in the AWS cloud and then fully control what's installed or running on your instances. We also have services integration. So there are many AWS services that are managed by AWS, like AWS RDS, the relational database service that allows you to launch different databases. So you can launch those external to your EC2 instances that need the databases and then have the Amazon cloud just take care of all the management of backup of those database instances and everything else you have there. And finally, all this comes down to cost efficiency, because of the fact that you can deploy what you need today and not what you need tomorrow. You can spend a lot less money to get things up and running and then grow it as you need it. In other words, as you're growing it to increased costs, you're doing it because there's increased use of whatever this solution is you've deployed. And with increased use of the solution, you most likely also have increased revenue. So you can now justify the costs. So things flow in scalability together. As you increase revenue, you increase costs and everything works together. Now, finally, what I'd like to do is, summarize the process for you that will actually be looking at in a later episode. And that is the process of EC2 deployment. How do we actually deploy an instance? The first thing we want to do, is select an Amazon Machine Image or AMI. Now we'll be looking at AMIs, for now just know that an AMI is basically a snapshot of a virtual machine at a particular configuration state with certain services on it, the operating systems already installed, that kind of thing is already there. That's an Amazon Machine Image. And we'll talk about the different sources of these images later on in this chapter. The second step is to configure the networking and security. So we actually choose the AMI as we go through the launching process, we can figure networking and security to our needs. Then we choose the instance type. This is what class of instance am I running? Am I running one that's low performance and low cost? Or super high performance and possibly super high cost? Then we choose the availability zone in which we want to deploy. This allows us to put it in the right area of the world for our operations. We attach storage, which is an Elastic Block Store, so that we have a volume to boot from and maybe other volumes to store data on. And finally we start the instance. This process might seem long, but it can literally be done in one or two minutes. And then you wait three or four minutes, and your instance is up and running, ready to use in the cloud. As you can see, EC2 gives us a lot of powerful capabilities, even just in this brief overview we've had in this episode. What we're going to be learning about in later episodes is, how do we really apply all of this? How do we take these concepts, we've just briefly explored here and employ them for specific scenarios where we need particular services, applications, OSs, and so forth in the cloud in order to perform the functions we need them to perform. So now you have a good foundation of what EC2 is really all about. (upbeat music)