What Is Amazon EC2: Everything You Need to Know
Renting servers? If your compute power isn’t matching your workloads, then Amazon EC2 instances can be a solution–a solution to a problem you may not even realise you have.
Resources are scarce! Great employees, computing power, big data storage, even office floor space. And everyone is always looking to lower their operating costs if it also means becoming more efficient and effective at the same time.
In this article, we'll introduce Amazon EC2, its benefits, AWS EC2 instance types and EC2 pricing.
What is Amazon EC2?
Amazon EC2 (Elastic Compute Cloud) is a service provided by the AWS cloud that allows anyone to rent servers offsite, at Amazon’s data centres located across the world. Why rent servers? Because investing in that infrastructure for your own business can be costly both in time and money, especially if you aren’t always utilising these resources.
What’s the Difference Between VMs and EC2 Instances?
So are AWS EC2 instances just virtual machines in the cloud? Not quite. While both options offer computing power that can power your core workloads, there are a few key differences:
Memory: Much like with VMs, when you set up an EC2 instance, you choose how much memory to allocate to it. Unlike VMs however, EC2 instances cannot “share” this memory with other instances when it becomes available. When sharing resources you increase the risk of “noisy neighbours” impacting your workloads, as there’s no guarantee that when you need it someone else isn’t already using the memory. Instead, with EC2 you get stronger performance guarantees and can always boot extra instance to share the load.
Storage: VMs can be turned on and off, safe in the knowledge that the data that’s stored on them will still be there if it stays on the same hardware, or the storage is located on the network. In the case of EC2, you have the following: an instance volume which will be cleared when the instance shuts down, EBS volumes which are persistent per instance storage, EFS which is network attached storage, and S3 which gives you long-term storage that’s cheap as chips.
Cost: Running virtual machines often comes with a fixed-term hardware commitment, you have to do time intensive capacity planning trying to predict the future and organise around funding cycles. EC2 machines by default come as pay-as-you-go; you can fit your cost directly to your usage, whilst still getting discounts by entering into fixed-term contracts for your minimum footprint. Keep reading and we’ll break down the different pricing options so you can select the ones that give you the best bang for your buck whilst maintaining the flexibility you need to be truly agile.
The Benefits of Amazon EC2: Amazon EC2 Features
If you don’t have your own servers already–for instance, you don’t have onsite racks or a contracted data centre you’re already happy with–then using EC2 simply makes sense.
We’ve listed out some of the key features of Amazon EC2 below that translate to real business benefits.
No hardware infrastructure maintenance
Rather than investing in hardware infrastructure that you’ll need to manage and maintain, you can leave this to Amazon, and simply use these server resources like they are your own. Renting cloud resources means less investment into both hardware and the experienced personnel needed to manage it.
Reduced need for expertise
Hardware and networking experts aren’t only difficult to hire for, they also come at a substantial cost. These administrative staff are often deluged with jobs to do and will have more pressing priorities further up their task list, like fixing things that are currently broken than routine hardware maintenance. EC2 instance management is a whole lot simpler than physical server management, which frees up your incredibly valuable systems and network administrator’s time to work on other, more important tasks. These administrators can be retrained to manage EC2 instances through the AWS portal, and even adopt standard tools to automate systems so they don’t waste time manually configuring instances.
Scalability
Perhaps you already have your own onsite servers and/or data centre server infrastructure with another provider. However, you may find a big job comes along that requires a huge amount of data and processing - and you simply don’t have the resources on hand to be able to complete it. By saturating your hardware, this one job starts to impact your other workloads and you’re forced to make trade-offs where there are no good answers.
This is where you can get on demand EC2 instances to do the job for you. You only pay for the time you use them, so when the job finishes you release the resources and the bill stops ticking. Simple, yet effective.
Time savings
Even if you do have the available resources for a particular workload, your servers might not be powerful enough to process the job in the sort of timeframe that you require. With big data decision-making becoming a normative business activity, stakeholders may expect results quickly - which can mean that you need a whole lot of processing power behind you. If this processing power isn’t readily available within your own resource pool, EC2 instances can be used to deliver the results you need and delight the business.
Easily connect to other AWS services
What else is in your AWS portfolio? Even if it’s looking quite slim, expanding into the cloud unlocks new levels of business agility. To best leverage other AWS services in the future, having EC2 instances as your backbone will allow everything to run more smoothly. AWS services are designed to be modular and highly interoperable. By combining services, they deliver value far outstripping their individual parts.
Your best friend for managing EC2 at scale is AWS Systems Manager, the one stop shop for your operational needs. It gives you not only the insights you need to thrive at scale, but also a holistic suite of production ready tools to automate away the manual toil that hampers your business agility.
Reliable
AWS EC2 instances are backed by a very reasonable SLA for each region - a “Monthly Uptime Percentage of at least 99.99%.” This means that you can be assured that your instances are up and running when you need them, and gives you the flexibility you need to maintain business continuity even in the worst case scenarios
Secure
AWS machines are stored in secure facilities with backups. By amortising the cost, AWS delivers world-leading security that is built into everything they provide. You better believe that their security measures are much better than almost anything you could organise yourself onsite.
AWS EC2 Instance Types
Taking a peek into EC2 instance types in AWS can be a little daunting. With over 350 flavours to choose from, you may feel besieged by choice. However, instance types can be broken down into categories suited to particular use-cases, each with a range of machines of various sizes:
General purpose: A1, T4g, T3, T3a, T2, M6g, M5, M5a, M5n, M4
Compute optimised: C6g, C5, C5a, C5n, C4
Memory optimised: R6g, R5, R5a, R5n, R4, X1e, X1, High memory, z1d
Accelerated computing: P3, P2, Inf1, G4, G3, F1
Storage optimised: I3, I3en, D2, H1
Each instance type has different sizes to account for different workload shapes. These come with, for instance, different CPUs, processor types, memory, storage types, network bandwidth, EBS bandwidth, and GPUs. There is also the option to choose from fixed performance vs burstable, or unlimited performance. Storage comes in three different types: General Purpose (SSD), Provisioned IOPS (SSD), and Magnetic. Cluster networking is available for select instances. Instances with Intel processors are available in various different flavours, optimised for things like encryption, heavy processing loads, and deep learning.
To ensure that you’re making the most of your instances, Amazon offers performance evaluation so that you can check you’re only using what you need - or if you need to switch up your instance types.
EC2 Pricing
Amazon offers different types of pricing plans, which can both be used to your advantage for both budgeting as well as your short or long term demands.
Free tier
The free tier allows you to run a t2.micro instance for 750 hours per month without costing you anything. This allows you to experiment with EC2 or potentially run something lightweight like a bastion for no cost.
On-Demand
On-demand instances are great for when you need resources fast and won’t need them for long, or have unanticipated workload demands crop up. Depending on the EC2 instance you need, these are available charged by the hour or by the second.
Savings Plans
Savings plans are recommended for those who intend to use a given amount of compute over a longer period of time, who are looking to optimise their costs. This requires a commitment to use a specific amount of computing power over either a one or three year period. It offers savings of up to 72% over using on-demand resources.
Reserved Instances
Reserved instances are exactly what they sound like - machines dedicated purely to your workloads. You can switch up instance types if necessary, but they are available on one or three year terms. The main benefit is they are always available in your availability zone at the capacity you need so you’ll never need to compete with others for resources, while also offering a hefty discount compared to on-demand.
Spot Instances
Spot instances are EC2 On Demand resources that haven’t yet been used and require bidding on to obtain the resource. While these can be tricky to set up and manage, they offer significant savings. If your workload can be stopped and restarted, there is no cheaper option than spot.
Combination
The best pricing option is often a combination of different types of instance pricing options depending on your resource demands. This is something that will need to be analysed to find the right combination for your business needs. You can read more about it in our article on How to Optimize Your AWS Spend.
Pro Tip: How to ssh into Amazon EC2 Instance
One of the questions we’re often asked is how to ssh into your EC2 instance. Connecting securely via ssh to Linux servers is one of the basic operations that almost every business performs.
For Amazon EC2 instances, you can use EC2 Instance Connect to do the job for you. This allows you to “use AWS Identity and Access Management (IAM) policies and principals to control SSH access to your instances, removing the need to share and manage SSH keys.” It’s simply a more managed, more secure and easily (AWS CloudTrail) auditable process.
Compared to older bastion boxes that presented a security risk, by using EC2 Instance Connect, it’s possible to allow your developers access whilst not opening anything up to the world, something that was previously only achievable with the complexity of VPNs.
AWS EC2 Instances as Building Blocks of a Modern Technology Infrastructure
We partner with AWS as we know that modern organisations require modern technology solutions supported by reliable cloud infrastructure. AWS offers customers a large suite of services, with EC2 instances one of the key building blocks. If you have any more questions on how these cloud servers can help your business, or what else you can achieve with AWS, don’t hesitate to get in touch with us at Contino.