Cloud Computing with Amazon Web Service
– Muhammad Furqan, Routing, Switching, and Security Consultant, says:
Cloud computing is an umbrella term used to describe a range of on-demand computing services offered online, usually through a Web interface. The idea of cloud computing is simple – instead of buying every server and application you need, you can rent them from cloud service providers. We will introduce you to cloud computing services offered by Amazon Web Services (AWS) briefly mentioning its competitors as well. The article should be useful to IT managers, practitioners, students, and anyone seeking to have a head start in cloud computing with AWS.
An Introduction to Cloud Computing
We are currently experiencing a major shift in the IT world. It is a shift from in-house computing resources into utility-supplied computing power delivered over the Internet. The trend is comparable to what occurred about a century ago when factories, which used to generate their own electric power, realized it was cheaper to get electricity from the newly formed power grid.
Here is a list of characteristics that define what cloud computing is:
* Computing virtualized resources
* Pay-as-you-go model without ongoing commitment
* Capacity that can be added and subtracted easily and quickly
* The illusion of infinite computing resources
* Self-service interface typically delivered via a Web browser
The service provider builds the data centers needed to provide cloud computing services bearing the capital expenditure. Customers can simply subscribe and pay for the capacity they actually use easily scaling up or down per their customer needs.
The term cloud computing refers to the delivery of compute power and applications over the Internet with a subscription based payment model without upfront investment. It is a broad term that encompasses a lot of different things from hardware servers to software applications offered on a service model. If you want to compare cloud providers, different types of cloud services should be looked at separately or you would end up comparing apples with oranges. There are three main categories of cloud computing services:
Infrastructure as a Service (IaaS): Infrastructure as a Service (IaaS), sometimes also called Hardware as a Service (HaaS), offers on-demand virtualized resources including computation, storage, and networking. These infrastructure services are considered the bottom layer of cloud computing systems. Amazon Web Services mainly offers IaaS, which in the case of its EC2 service means offering virtual machines (VMs) with several choices of Windows and Linux operating systems. CSC CloudCompute and Rackspace Cloud Servers are other examples of IaaS. There will be more on Amazon EC2 later in the article.
Platform as a Service (PaaS): While IaaS provides raw computing and storage services, Platform as a Service (PaaS) offers a higher level of abstraction. It provides an environment in which developers can create and deploy applications which should be written in specific programming languages such as Java or Python. The developers do not necessarily need to concern themselves with, for example, how many processor cores or how much memory an application will be using. These details are handled by the PaaS environment making developers’ life a lot easier. AWS Elastic Beanstalk (still in beta) and Google AppEngine are examples of Platform as a Service (PaaS).
Software as a Service (SaaS): Software as a Service (SaaS) is a model of delivering traditional desktop applications such as word processing and spreadsheet as Web services. SaaS allows users to shift from locally installed programs to online software services that provide the same functionality. This model of delivering applications saves customers from the burden of software maintenance reducing costs. Microsoft Office 365 provides the widely used Microsoft Office tools in the cloud as SaaS. Salesforce.com offers Customer Relationship Management (CRM) software solutions on SaaS model.
The focus of this article is Infrastructure as a Service (IaaS) cloud computing offerings by Amazon Web Services.
Major Cloud Providers
Amazon Web Services is the top provider of Infrastructure as a Service (IaaS) public cloud computing services today. It offers the widest range of IaaS cloud services, continually expanding the service offerings and reducing prices at the same time. AWS has a cloud operation which is much larger than several of its closest competitors combined.
AWS started in 2006 with about three dozen employees, as a business unit of Amazon. Amazon does not reveal how many people now work at AWS, but the company website lists hundreds of job openings at present which suggests they are hiring aggressively. They have expanded enormously from their humble beginnings and continue to expand at a fast pace. According to some accounts, hundreds of equipment racks are being added every month to the global network of AWS data centers. Interestingly, Amazon (and some other cloud players as well) do not specifically report revenues from cloud offerings. Amazon is known to report revenues from Amazon Business Services, its cloud computing business unit, lumped together with other items in financial filings. It makes it difficult if not impossible for analysts to find out how much revenue is coming from AWS alone. Nevertheless, some estimates suggest AWS could make around $4 billion in 2013.
Amazon is the king of cloud computing today but there still are competitors each pushing its own recipe of cloud offerings. For example, CSC is a key market player with cloud computing offerings based on VMware. CSC is different from Amazon because of its focus on private cloud. Private cloud computing is attractive to enterprise customers who are willing to transform their own data centers by embracing cloud technologies but still want to retain control. What Amazon offers is more aptly described as public cloud where a company essentially outsources its IT infrastructure, with limited options for customers to deploy private cloud on their own premises.
Microsoft also has a visible presence with its Windows Azure cloud platform and a global network of managed data centers. Rackspace is yet another key player that has built its public and private cloud offerings around the open source cloud computing platform known as OpenStack. Google also fully introduced its Cloud Platform in 2012, offering services similar to AWS, though the range of cloud services offered by Google at present is narrower than those offered by AWS. A few other market players include Verizon Terremark, Savvis, Dimension Data, Tier 3, Fujitsu, HP, and IBM.
Cloud service providers operate with a pay-as-you go pricing model with no commitments. However, once a company has established its infrastructure with one cloud provider, the cost to switch providers is high. Amazon enjoys the first-mover advantage here due to the high cost for existing customers to switch cloud providers.
Cloud Portfolio of Amazon Web Services
Everything you would want to do in a traditional data center is available with Amazon Web Services (AWS). But all their services are available on pay-as-you-go basis with no up-front capital expenses. Customers can replace upfront investment in IT infrastructure with lower monthly costs.
Building infrastructure on-premises can be slow and expensive. There is costly hardware including servers, switches, routers, and racks that need to be purchased, installed, and configured. And this process usually starts long before you are actually able to use that hardware. Cloud computing is the community model for IT. Just like individual households or companies do not produce their own electricity but rely on a public utility company to generate electricity at a power station and then make it available to users over the transmission and distribution grid. Cloud computing allows one or a few companies to make the investment in establishing the data centers with needed hardware. Customers can provision the capacity they need and pay for just what they use.
With AWS you can add capacity when your customer needs increase and can scale down as well when customer needs go down, and pay only for the capacity you are actually using at any point in time.
Amazon Web Services is a collection of computing services that together make up the cloud computing platform offered by Amazon. The most well-known of these services are briefly described here:
Elastic Compute Cloud (EC2)
Amazon Elastic Compute Cloud (EC2), one of the web services offered by Amazon, provides resizable compute capacity in the cloud. You can quickly scale capacity, both up and down, as your computing needs change. EC2 reduces the time needed to provision new server instances from weeks and months to just minutes. EC2 also dramatically changes the economics of computing as you pay only for the compute capacity you actually use.
Amazon EC2 allows you to use a Web interface to launch server instances with a variety of operating systems including Microsoft Windows Server and numerous Linux distributions. Once the virtual instances are up and running you can use familiar tools like Remote Desktop Connection to manage them remotely. Other management options are also available. EC2 allows you to select a configuration of your virtual hardware including CPU, memory, storage, and boot partition size that best suits your choice of operating system and application.
Amazon EC2 Service Level Agreement (SLA) commits 99.95 percent availability for your EC2 instances, providing a highly reliable environment. You can choose your EC2 instances to be reachable via the public Internet or you can choose to locate them in a Virtual Private Cloud (VPC) keeping them private.
Simple Storage Service (S3)
Amazon Simple Storage Service (S3) is a web service that provides online storage. You can use a simple web interface to store and retrieve any amount of data. Amazon S3 includes access control mechanisms as well as encryption to keep your data secure both on disk and in transit. Standard storage with Amazon S3 offers 99.999999999 percent durability and 99.99 percent availability commitment as part of the SLA over a given year.
Virtual Private Cloud (VPC)
Amazon Virtual Private Cloud (VPC) lets you create an isolated section in the AWS cloud where you can launch other AWS resources like EC2 instances. The network configuration for your VPC can be easily customized. You can also create a VPN connection between your corporate data center and your VPC. This capability allows for a phased migration of compute resources from existing data center environment to AWS for enterprises. Amazon Virtual Private Cloud (VPC) enables you to connect your existing infrastructure to a set of compute resources via a virtual private network (VPN) connection. Amazon VPC is an isolated portion of the AWS cloud with the following components:
Amazon Route 53 is a Domain Name System (DNS) web service. It does what you expect from a DNS – to route end users to Internet applications by translating human readable names like resources.intenseschool.com to IP addresses like 188.8.131.52.
Amazon’s Customers: Start-ups or Enterprises?
The ability to spin up resources without a big upfront payment and the pay-as-you-go price model is very attractive to startups. No wonder Amazon Web Services (AWS) was almost an instant hit with startups as it allowed them to purchase robust and inexpensive Web services on an as-needed basis. Today, a large percentage of AWS customers are startups.
However, Amazon Web Services is pushing into the enterprise as well as government segments as well. Big companies and government agencies in fact comprise a much larger potential market for Amazon. However, these enterprise customers are also far more demanding than startups, requiring better service guarantees and special features for regulatory compliance and much more. While startups can go all out with cloud computing, established organizations with existing IT infrastructure will have to phase into cloud computing.
A Word of Caution
Public cloud services, led by Amazon Web Services (AWS), offer many advantages over on-premises enterprise IT infrastructure. But applications running in the cloud also become more complex than their on-premise counterparts, due to the dynamic nature of the cloud environment and several new systems that are introduced. This increased complexity introduces its own issues and impacts the benefits that cloud computing can offer. These issues will work to somewhat level the playing field between cloud providers and on-premises enterprise IT whether managed in-house or outsourced to traditional providers, and will also slow down cloud adoption. This added complexity also necessitates a network of middlemen who develop solutions that work on AWS infrastructure.
AWS does have some complexity around its pricing and support offerings as well and it usually does not bundle its offerings either, which may complicate purchasing choices for customers. However, AWS has been able to build an ecosystem of partners that can provide consulting services to new AWS customers.