Amazon provisions a broad array of services as discussed in our previous article (An Introduction to Amazon Web Services) but of all the services offered, three key services stand out among the rest with regards to popularity of use and broad industry adoption.
In this article we look at and consider the three services that are utilised more than the rest, looking at them in more detail and considering the benefits that these services have to offer.
The three most popular AWS seem to be Amazon Elastic Block Store (EBS), Amazon Elastic Compute Cloud (EC2) and Amazon Simple Storage Service (S3).
The three popular services were also some of the first AWS to be launched with Simple Storage Service (S3) launched in early 2006, followed by Elastic Compute Cloud (EC2) mid 2006 and Elastic Block Store (EBS) in 2008, which doubles up as the persistent storage service for EC2.
The services are probably the most popular because of adoption and due to the length of time these services have been available and also due to their maturity, they have grown and scaled with the users of the services. It stands to reason that the most popular services are the ones that receive the most investment and the ones that have become the most advanced and adopted.
Because EBS was developed as the storage service for EC2, some may see it as an extension of the EC2 service but it is so much more than simply a feature of Elastic Compute Cloud.
The three AWS addressed here are compatible with each other and can be used along side each other however they can also be utilised independently.
The three services were designed to be extremely efficient for developers; S3 and EBS were designed with developer requirements in mind as the storage services needed to address the application of a diversity of storage patterns.
EC2 was one of the first services to be offered by AWS. A cloud computing service aimed at simplifying web-scale cloud computing for developers.
Together EC2 and EBS form the ideal environment for developers to build applications that are both scalable and reliable.
Let’s look at the three services in more detail and consider why they prove so beneficial to their users.
Amazon Elastic Compute Cloud (EC2)
EC2 is an Amazon web service interface, which aims to make cloud computing simpler for the developer. The interface provides the environment, functionalities and tools needed to build applications in an efficient and cost effective way (Pay-as-you-use).
The computing takes place in the cloud and is thus scalable according to your needs. Capacity configurations are undertaken in no time at all for fast scaling as your requirements change.
EC2 is compatible with both S3 and EBS expanding in opportunity and functionality.
Benefits of EC2:
- Increased scalability- increase or decrease your capacity as required within minutes
- Maintain complete control- complete control of your instances
- Flexible hosting in the cloud- make the computing environment fit for purpose with a choice of resources and services available
- Compatible with other AWS- helps provide a complete computing solution with the compatibility of a variety of services
- Increased reliability- proven infrastructure and data centres, Amazon agrees to 99.95% availability
- Secure- various provisioning options to control your security and maintain a level of security that is suited to your requirements (policies, access controls, encryption, virtual private clouds)
- Simple to use
- Cost effective
Amazon Elastic Block Store (EBS)
EBS delivers persistent block storage volumes for use with EC2. It acts like a virtual hard drive and can be used with EC2 instances in the AWS cloud. When you require more storage or storage that persists beyond the life of the EC2 instance, the EBS can be utilised.
The data remains separate from your computing instance and persists independently so that if a computing instance fails, you will not lose data as it is located on the block storage volume. Multiple volumes can be created, sizes ranging from 1GB to 1TB but only one volume can be mounted to an instance at any given time.
Developers are not restricted to a particular file system, after initially mounting the volume you are able to format it with any file system or use it directly if your environment allows. Furthermore you can use it the way you would use any other physical hard drive.
A snapshot of the EBS Volume can also be taken. It can then be moved from one instance to another.
A snapshot can be stored in Amazon S3. From here many more opportunities arise. The volume can be recreated; S3 is available in all Availability Zones (unlike with the creation of a volume of EBS, which is specific to the particular Availability Zone it was created in), now you can create a volume from the snapshot and in any zone.
There are three volume types offered through EBS, they are requirement dependant.
- General Purpose (SSD)- supports a broad range of workloads
- Provisioned IOPS (SSD)- supports I/O intensive workloads
- Magnetic- where cost is a major deciding factor and data is seldom accessed
Benefits of EBS:
- Developed to be compatible with EC2
- Increased availability of data, data is automatically replicated to prevent data loss through failure of hardware when an EBS volume is created
- Data persistence, off-instance storage that persists independently
- Security of data with the data EBS encryption feature
- Flexibility and functionality achieved through snapshots, migration of data and incremental backups
- Long-term backups, rollback strategies, fault-tolerance and volume recreation
Amazon Simple Storage Service (S3)
S3 provides developers and information technologists with highly scalable object storage and is suited to both small and large repositories of objects. The low cost service can be utilised for online backup and archiving of data and application programs and for content distribution as well as for big data analytics and disaster recovery. Storage is available in the form of any file or object and supports downloading, uploading and storage from across the web.
S3 can be utilised with other AWS services, like Elastic Cloud Compute however can also be used independently or with other third party storage entities
The data is secured in a manner that suits user requirements. The data can be stored privately or publicly and encrypted.
Benefits of S3:
- Cost effective- pay for what you use, no minimum fee or set-up cost
- Reliable- data redundantly stored in multiple locations and on multiple devices.
- Increased availability- designed for availability of 99.9% of objects
- Secure- use policies to control access, transfer of data is over SSL and data is encrypted once in the store
- Highly scalable- increase and decrease storage capacity as required
- Increased performance- choice of data location allows your to control latency and S3 users high data transfer speeds
- Integrates with other AWS- simplifying use across the range of services
- Easy to use- web based management console and mobile management application
Developers require services and providers of the services that are forward thinking and innovative and easy to use and develop into, the services should be compatible and have cross-platform capabilities, most of all developers are motivated by market trends, they want to use the tools and services that other developers use. It seems that Amazon have these ‘wants’ covered.
All three of these services can be successfully tied together to work efficiently and according to unique requirements. By utilising these three services you are able to benefit from the combined functionalities and tools offered through each service improving the user experience and performance.
These three AWS services (EC2, EBS and S3) are amongst some of the fundamental constituents for a developer computing in the cloud. The ease and compatibility with which they work together and the combined myriad of benefits afforded through their combined utilisation may be the reason as to why they are such popular AWS.