Amazon EC2

Amazon EC2 is the most advanced and popular cloud computing platform

aws-logo-01Amazon Elastic Compute Cloud commonly referred to as Amazon EC2 is the core of the Amazon Web Service (AWS), the most advanced and popular cloud computing platform. The platforms allows users to rent virtual machines hosted in Amazon data centers and scale the number of instances on demand. Another part of the platform is a variety of web services supporting hosted applications (storage, database, cache, management and many others), which are also available to external applications.

Amazon EC2 runs a virtual machine from the image provided by the user, giving him a full control over the environment. While it’s beneficial for users who demand customized environments, it imposes a burden of maintaining the environment. Amazon EC2 is different from Windows Azure which goes one level up and relieves users from the need to maintain the environment, allowing them to focus on the application itself, but at the price of locking the environment to clean Windows operating system. It’s worth mentioning that Amazon arms users with a large library of pre-configured machine images to facilitate deployment process.

Since EC2 allows hosting an arbitrary virtual machine image, moving applications to the cloud is straightforward and doesn’t require any code change. However, to take full advantage of cloud computing and to make the application scalable it should employ Amazon Web Services (AWS) provided by the platform.


Amazon Web Services (AWS)

Here we list major services provided by the Amazon cloud platform grouped by category. Detailed information is available on Amazon web site.

 

Storage

Simple Storage Service (S3) store and retrieve large amounts of data
Elastic Block Store (EBS) block level storage volumes for use with EC2 instances
AWS Import/Export move large amounts of data into and out of AWS

Database

Simple DB run queries on structured data in real time
Relational Database Service (RDS) set up, operate, and scale a relational database in the cloud
ElastiCache deploy, operate, and scale an in-memory cache in the cloud

Messaging

Simple Queue Service (SQS) hosted queue for storing messages
Simple Notification Service (SNS) set up, operate, and send notifications from the cloud
Simple Email Service (SES) highly scalable bulk email-sending service for the cloud

Networking

Route 53 highly available and scalable DNS web service
Virtual Private Cloud (VPC) set up VPN, firewall, security to AWS resources in the cloud
Elastic Load Balancing distributes incoming traffic across multiple EC2 instances
CloudFront distribute content with low latency via a global CDN

Management, deployment, monitoring

AWS Elastic Beanstalk deploy and manage applications in the AWS cloud
AWS CloudFormation create and provision a collection of related AWS resources
CloudWatch monitoring for AWS cloud resources
Auto Scaling automatically scale EC2 capacity as per predefined conditions

AWS Application Development

Developing cloud applications for Amazon EC2 implies integrating with AWS which are available via REST API. There are many tools and libraries available for different languages. Amazon provides AWS Toolkit for Eclipse which includes a plug-in for Eclipse Java IDE and AWS SDK for Java to make the development easier.

Princeton Web Systems gained experience in developing Java and LAMP applications designed to run on Amazon EC2 cloud platform through a series of successfully delivered enterprise-level projects.

[sc:sharethispage ]

Scroll to Top