Amazon's EC2 scalable hosting service - What you need to know
Whether you’re planning an online project, are up and running with a growing digital enterprise, or finding that your online hosting solution isn’t delivering you the kind of performance you were expecting; if you’ve got an application that’s already been through a period of growth or has the potential to scale over time, there’s plenty of ways to deliver a cost effective and reliable service.
From understanding the physical capacity and performance characteristics of your solution to keeping to an eye on the overall monthly cost of your hosting, you can’t afford to run a service that’s a constant headache. This is where a cloud-based service such as Amazon EC2 can really help.
In this post we’ll walk you through the capabilities of Amazon’s EC2 scalable hosting service, the pricing, and the scenarios where EC2 is most applicable to you so you can make an informed decision about the future of your digital application’s hosting.
Amazon EC2 core product details
If you're looking for a hosting service that has what seems like an almost limitless array of configuration options that can scale with your application as needed, then EC2 is a great place to start. The core product details of EC2 include:
- Elastic computing: From elastic IP addresses to elastic load balancing, you can automatically distribute incoming traffic to an array of EC2 virtual instances depending upon your users' location and traffic volumes.
- Auto scaling: Server running hot...need more traffic? Maybe you’re expecting a peak in traffic over the Black Friday period? EC2 allows you to scale your application with the click of a button to handle your incoming traffic volumes as needed.
- Multiple locations: Is your customer base split between multiple locations? If so you can choose to configure an EC2 instance that will handle local and overseas traffic, reduce load time, and increase availability across your application.
- CloudWatch: Amazon’s CloudWatch service is a tool that allows you to monitor the load and up-time of your EC2 instances. Capable of managing applications that have literally hundreds of EC2 instances in place, CloudWatch can be an incredibly handy tool to have at your disposal when maintaining high volume applications.
- Instance types: Depending on the needs of your application, you can configure your EC2 instances exactly as you require. From CPU, to memory, to storage oriented instance types, EC2 lets you construct a purpose-built instance ecosystem tailored to your application.
Amazon EC2 instances in detail
At the time of writing this article Amazon offer 13 different instance types that you can use to tailor your applications. Whether it’s a combination of instance types, an array of various levels of instance types, or a single locally based instance, EC2 offers a wide variety of instance types suitable for almost any application.
Below we’ve provided a brief summary of each instance type and their intended purpose:
General Purpose Instances:
- T2: Amazon’s T2 instances offer an affordable means of scaling your applications across 7 tiers of service with an increasing number of vCPU’s (Virtual CPU’s) and memory. T2’s are a great service if you’re starting out with a basic application that you’re likely to grow over time whilst adhering to a tight budget.
- M4: M4 instances are the next-level up in Amazon’s general purpose range with increased levels of vCPU’s and memory. Similar to T2’s, M4’s come with EBS storage (Elastic Block Storage).
- M3: Looking for SSD storage across a small to mid-sized application? If so an M3 instance may be the way to go. If your application has small to medium sized data processing and storage requirements, M3’s are a solid general purpose performer.
Compute Optimised Instances:
- C4: C4 and C3 instance types offer a combination of high performing processors at low cost. The C4 instances are EBS storage only with a solid array of vCPU’s and memory suitable to applications looking to provide intensive compute oriented calculations.
- C3: Moving up from the C4 instances, C3 instances offer similar base functionality except with SSD storage for speedy file retrieval and access.
Memory Optimised Instances:
- X1: Amazon’s memory optimised instances are suited to those looking for enterprise based services that require large numbers of vCPU’s, sizable memory resources, and multiple SSD’s. With enterprise X1 architecture you can look forward to receiving enterprise pricing with the X1 range, offering the lowest price per GB for memory of all EC2 services.
- R4: Optimised for memory based pricing, R4s offer affordability to those looking for EC2 instances with a focus on RAM.
- R3: Similar to R4s, R3s offer the same great memory optimised service with the addition of SSD storage. Although slightly more expensive than an R4, you get the power of SSD with this great EC2 instance.
Storage Optimised Instances:
- I2: Looking for instances with high I/O storage capabilities? If so the I2 and D2 EC2 instances are what you’re looking for. With multiple 800 GB SSD storage drives, I2 EC2’s offer excellent value for online storage and file retrieval.
- D2: Amazon’s Dense Storage Instances deliver huge online storage capability and offer Amazon’s best value per GB for storage. With instances starting at 3 x 2000 GB HDD and ranging up to 24 x 2000 GB HDD’s, it’s all about storing large volumes of data with D2 instances.
Accelerated Computing Instances:
- P2: P2 instances are intended for general-purpose GPU compute applications and are useful for developing machine learning applications, high performance databases, computational fluid dynamics, computational finance, seismic analysis, molecular modelling, genomics, rendering, and other server-side GPU compute workloads.
- G2: G2 instances are optimized for graphics-intensive applications such as 3D application streaming, video encoding, and other server-side graphics workloads. If you’re looking to deliver visually stunning material online, then a G2 EC2 instance may be for you.
- F1: F1 instances offer customizable hardware acceleration with field programmable arrays (FPGAs). F1 instances are suited to genomics research, financial analytics, real-time video processing, big data search and analysis, and security and are one of EC2’s more fascinating services.
EC2 Pricing...the all important variable
Considering that Amazon’s EC2 service is all about flexibility, it’s logical to assume that their pricing would have a massive array of options for you to choose from...and they do.
From the Sydney data centre you can start with a super affordable t2.nano service at $0.008 per hour at $5.76 USD per month, all the way up to a high powered d2.8xlarge at $6.96 per hour at close to $5010 USD for a single On-Demand instance. What a range!
Looking for a Spot instance? Pricing starts a bit higher for short-term instances due to their short-term availability ranging from $0.0721 per hour for an m3.medium instance at $51.92 per month, way up to a massively powerful x1.32xlarge at $7.822 per hour at close to $5,632 USD per month for a single instance, although the power of Spot instances do start and finish at much higher levels than that of the On-demand product range. So you do get what you pay for.
How many instances can I have?
With Amazon EC2 you can have as many instance types as you need and as many different kinds provided you pay your bill on time. For each instance type you’ll pay the same amount for each type, yet as you utilise more instance types and an increased number of availability zones you’ll be able to offset the cost as you become more experienced managing EC2 instances.
Scale up, scale down, it matters not. Amazon’s EC2 pricing model is incredibly flexible and often decreases the price per service depending upon uptake and product availability. So if you’re looking to maintain multiple availability zones, chances are the price you pay today may decrease in the future on a zone by zone basis.
Amazon EC2 Availability Zones
Amazon currently has fifteen availability zones across the globe. What this means is that if half your customer base is coming from the U.K and half from Australia, you can setup an appropriately sized instance to direct your U.K traffic to, whilst maintaining your current customer base across your Sydney instance. This allows you to serve your applications with less lag time by utilising shared instances instead of having customers on the other side of the world access your server in Australia. In doing so you’ll not only be able to provide a better user experience to your customers by way of application performance, but may actually be able to save cost by decreasing your instance levels to handle a distributed traffic volume.
See below for a list of Amazon’s current availability zones:
- U.S East (North Virginia)
- U.S East (Ohio)
- U.S West (Oregon)
- U.S West (North Carolina)
- Canada (Central)
- EU (Ireland)
- EU (London)
- EU (Frankfurt)
- Asia Pacific (Singapore)
- Asia Pacific (Tokyo)
- Asia Pacific (Sydney)
- Asia Pacific (Seoul)
- Asia Pacific (Mumbai)
- South America (Sao Paulo)
- AWS GovCloud (US)
Should I provision an AWS EC2 service myself?
Like most online technical solutions, EC2 is best left to professionals who have experience in setting up cloud based hosting services for application development. However if you’re comfortable installing the necessary software required to run your application on your EC2 instance, then certainly give it a try!
If you’re looking to setup an EC2 instance we recommend talking to one of our experts for advice on the best EC2 service for you, how to save costs when using Amazon EC2, and how we may help you to grow your application’s presence over time using the full suite of Amazon AWS cloud technologies.