In this lesson, you will learn the key concepts that give cloud infrastructure its edge.
AWS trades capital expenses for ongoing variable expenses, mitigating a huge amount of financial risk when starting a new business.
When you lose traffic, you eat the costs of both your servers and your reduced revenue. When you get an unexpected spike in traffic, you can lose a huge amount of potential revenue if your servers can't handle the traffic. Elasticity mitigates these risks by giving you the ability to acquire and release resources on demand.
The advantages clearly explain why the cloud market has become a $100 billion dollar industry.
Sam Julien: [0:00] Let's talk about some core Cloud concepts that you're going to need to understand as you get started with AWS as a developer. What is the Cloud, anyway? The Cloud is, basically, servers in a warehouse. Instead of you having to set up servers yourself, you get to rent servers from someone like AWS.
[0:22] It's not just servers, it's also other pieces of infrastructure, like networking hardware, and database storage, and hard drives, and things like that. Essentially, instead of you having to do all of this yourself, if you are running a website, you would just rent all those things from AWS.
[0:38] What is the Cloud really for? What is AWS for? AWS is meant for building systems. At its most core, that's what AWS is for. Instead of you having to set up servers in your garage to create a company, you just build these systems through AWS.
[1:00] Let's say, for example, that you were creating an artisanal dog toy business. These were physical objects that you wanted to create a store for on a website, and you needed to do all this in AWS.
[1:15] As the artisanal dog toy store grew from just a shop that you ran out of your garage to a multinational billion-dollar industry, you would be able to scale up that entire time with AWS. As you grew, so first and foremost, you would need somewhere to host the site, and you would also need somewhere to store your customer data and things like that.
[1:40] You would need some sort of inventory management system or software to know that when somebody bought something on the site that it then gets shipped out to them, and then the tally would update in your inventory.
[1:52] As you expanded, you would want global delivery, not of your physical objects but of the actual site. You want to know that somebody in a different country than you is going to be able to access the site at the same time as somebody else and that it's going to be fast and responsive, and you're going to get the same inventory count and all of that stuff.
[2:12] As you grow and grow, you might have big sales or might get some press or something that causes big traffic spikes. You need your servers to be able to handle that stuff. You also, as you grow, want to be able to analyze all of your data. There's some big fancy data analysis tools that you would want to be able to have as you grew and expanded your dog toy business.
[2:35] You would also need some sort of disaster recovery plan. What if some natural disaster happens in one country? You don't want to take down your site for the entire world.
[2:46] Then let's just think outside the box. What if over time you want some AI engine that's noticing the patterns and who's buying what dog toys and makes predictions about what people will buy? Well, you could do all of this with AWS instead of having to do it all yourself.
[3:03] Instead of having to go and buy all this hardware and set it all up in your garage somewhere and then rent a warehouse and move it all over there. You could do all of this with AWS. This is one of the fundamental concepts of AWS that you'll hear about called capital versus operating expenses.
[3:19] A capital expense is a big upfront cost. You'd have to go and you'd have to buy all these servers. Whereas an operating expense is an ongoing expense like your phone bill or your Internet bill. This is one of the key revolutionary concepts of platforms like AWS.
[3:35] The other revolutionary concepts that AWS and other Cloud providers do is scalability and elasticity. Scalability is the ability to grow based on demand. This alleviates both the cost and logistics of scaling a service or a business. We go back to our online dog store example.
[3:57] The server that you had when you were first getting started might have been just a bare-bones server. As you grow and you need more storage, you need more computation power, you'd want to be able to scale up that server and have a bigger server.
[4:10] At the same time, as your traffic grows to the site, you wouldn't want to just have one server that was carrying all of the traffic that you were getting around the world. You'd want to be able to scale that out to multiple servers around the world. This is scalability.
[4:26] The other concept that is revolutionary about AWS, since you don't have to go buy all of your own servers, is elasticity. Elasticity is the ability to shrink and grow based on demands. This means that it's flexible and it's scaling.
[4:43] If we had our server, going back to our example of the artisanal dog toys, let's say we had just one server that was responsible for all of our traffic. It was just sitting in our garage somewhere.
[4:54] Then one day, the Thoughts of Dog account with millions and millions of followers comes across our dog toy business and tweets about it. All of a sudden, we've got just millions of people around the world hitting our dog toy website and wanting to buy things for us.
[5:11] If we just had one little server that was controlling all this, it'd probably go down. Couldn't handle that much traffic and we'd be in a real terrible situation. With AWS, what's cool about this is that if you were trying to do this with physical hardware, it'd be really hard to go out and predict something like this.
[5:31] You wouldn't want to buy hardware based on the possibility that Thoughts of Dog is going to tweet about you, and you're going to need millions of users. That's going to be expensive because you're going to need way more capacity to handle a spike in traffic like that than if you were just doing it on your own.
[5:50] What's magical about AWS is that you can set it up so that, in that situation, it would grow the servers for when you need a big demand like that. Then it would shrink them back down for when traffic dips back down to normal. This is incredibly valuable, incredibly important, and saves people a lot of money in the long run. This is elasticity.
[6:13] Scalability and elasticity are two core concepts that you need to understand with working with the Cloud and with AWS. This is the lightbulb moment of why this Cloud industry is $100-billion industry.
[6:29] Now, we've got the concepts under our belt. We're going to go through some key AWS services for developers. What we're going to do is, I'm going to mix in some of these slides with demonstrations of these services throughout the rest of the course. Let's go ahead and jump in.