So you’ve finally finished your first big web app and deployed it. You’re hoping it’s successful, but this being your first attempt it might also be a total flop. You find yourself researching server space and…woof. Servers aren’t cheap…nor small. And how many do you need? Get too many and you might be wasting money…too few and you might be hampering your growth potential! Enter EC2; Amazon Elastic Cloud Computing.
With EC2 you get access to secure resizable cloud computing via virtual cloud compute instances. In other words, virtual machines, accessible from anywhere with either predefined or custom templates to suit your needs. No hardware, no maintenance and easy scalability as your needs grow. Let’s say you’ve made a new game and you deploy it. Those first couple of weeks you had friends and family logging on and playing, so maybe you need two little GPU optimized machines. Then it dies down, you and your friends forget it, and it no longer needs both machines, so you scale down to one. Then two years later some streamer falls in love with it and before you know it you need hundreds of machines to keep up with the demand! Without EC2 this would be a costly, unmanageable headache. But with EC2 you not only pay as you go for what you use, but you can automatically scale up or down to fit your apps ever-changing needs.
EC2 lets you customize your virtual machine or machines to your hearts content. The AMI, or Amazon Machine Image, is your software. You can choose your OS and choose from predefined Amazon templates, or customize the template yourself. If you have specific but perhaps commonplace needs not met by the Amazon templates, there’s also a marketplace of custom user-generated templates to pick from! Your Instance type is next, that being your hardware. You can choose hardware optimized to be better at computing, or with more memory, or storage, or a machine optimized for GPU needs. Then you can choose how many you need!
For your storage, you can choose the free and temporary Ephemeral storage, the paid and permanent Amazon Elastic Block storage, or Amazon S3. With EBS you can even set provisions to dictate a specific level of performance for your data! In all aspects of EC2, you end up paying only for what you need, much like S3. Plus, unsurprisingly, EC2 integrates well with other AWS technologies. So the next time you’re deploying your web app and considering server needs…look no further than EC2!