Amazon Ec2
WHAT IS IT? [Azure Virtual Machine / Google Compute Engine]
The godfather of cloud computing services for the better half of its 2 decade span. Elastic Cloud Compute (EC2) is a hosted version of the virtual machine that you might already be running in your data centre - but backed by the power of Bezos’ billions.
Amazon EC2 reduces the time to obtain and boot new server instances, allowing you to increase or decrease capacity as your needs change quickly. Hence the elastic part {get it now?}
WHAT FLAVOURS CAN I GET MINE IN?
But there's more than just one kind; in fact an entire alphabet soup of instance types that are great for specific kinds of scenarios. You can use FPGA hardware for flexible machine learning problems, memory-optimised instances that are great for running databases, all the way down to those little baby A-series servers that are right for experiments in the cloud. But since you insist:
1 : Storage Optimised - Designed for workloads with high sequential read/write access to data sets on local storage. Tens of thousands of low latency with random IOPS.
2 : Memory Optimised - Designed for fast paced performance workloads that process large sets of in-memory data. This is different from high read/write handling capacity on local storage.
3 : Compute Optimised - Ideal for compute bound applications that benefit from high-performance processors, such as batch processing workloads & media transcoding.
4 : General Purpose - Most basic, most general, the one to otherwise fall upon. Designed with a balance of compute, memory and networking resources for a variety of workloads.
WHAT’S THE FUSS?
Unlike many cloud services, EC2 can feel deceptively *familiar*--it’s not that hard to “lift and shift” workloads from your data center to EC2 without makinga lot of changes along the way. And therein lies the problem: if you’re not careful with spend management, EC2 can turn out to be less of a bargain than you hoped for, becauseyou’re renting the compute capacity you used to own.
You’ll have to consider pricing and how to maximize your efficiency while keeping your costs as low as possible. All this requires a clear understanding of what every team is working on; you’ll need cross-functional collaboration as you consider the multifarious EC2 pricing options:
1 : On-demand: pay a fixed rate by the hour (or second). On-demand EC2 is useful for flexibility and avoiding long-term commitments.
2 : Reserved: you can reserve capacity on contracts for 1 or 3 years, which can save you a lot of money. So if you think you can accurately predict how quickly you’re going to scale up or scale down, you’ll be able to cut your costs.
3 : Spot-pricing: dirt-cheap server time based on AWS’s excess capacity. But the price will move around just like the stock market—it’ll go up and down. And spot instances can be yanked out from underneath your application with just a two-minute warning! A mate of mine has had his trundling along for a few months without issues though, but enter at your own risk.
4 : Dedicated hosts: Physical EC2 hardware dedicated to you - no virtualized time-sharing with other AWS customers. Sometimes necessary if you have specific licensing or regulatory requirements.