Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Cloud Review V2
1. Cloud computing - what is it
The Cloud, according to Wikipedia is "a style of computing in which dynamically scalable
and often virtualised resources are provided as a service over the Internet. Users need not
have knowledge of, expertise in, or control over the technology infrastructure "in the cloud"
that supports them.
Gartner defines cloud computing as, “a style of computing in which massively scalable IT-
enabled capabilities are delivered ‘as a service’ to multiple customers using Internet
technologies.”
These services are broadly divided into 3 categories: Infrastructure-as-a-Service, Platform-as-
a-Service and Software-as-a-Service.
• Infrastructure as a service is the delivery of computer infrastructure (typically a
platform virtualization environment) as a service where you pay as a utility bill rather
that a one of capital expenditure
• Platform as a service facilitates deployment of applications without the cost and
complexity of buying and managing the underlying hardware and software layers.
• Software as a service is a model of software deployment whereby a provider
licenses an application to customers for use as a service on demand. SaaS software
vendors may host the application on their own web servers
2. Advantages / Disadvantages
Advantages
* Ability to scale to meet quickly changing user demands
* Avoid purchasing assets for infrequent, intensive computing tasks
* Pay for the processing power you need only when you need it
* Avoid paying “out right” for hardware and software, rather lease on a monthly basis
* Reduction in Cap-Ex requirement as hardware moves to a leasing model
Disadvantages
* Services may not be fully reliable
* Compliance issues – storing private data offsite with 3rd party
* Lack of standards – difficult to port data from different cloud providers
* Lack of application availability
* Activities can’t be logged – can be a compliance issue for some
3. 3 Main Players
Amazon EC2
EC2 is basically a web service, it lets you request and use a number of resources in the cloud . Everything from servers to
programming environments are available. The big benefits of Amazon's offering are flexibility and configurability. You can request
just the services you want, configure them just as you need, set up static IPs, and explicitly set your own security and networking
up—in other words, you've got a lot of control.
Google App Engine
Google's App Engine is technically a competitor to Amazon EC2, although it's a very different offering. Where Amazon offers
flexibility and control, Google offers ease-of-use and a large degree of automatic configuration. With App Engine, you write your
code, upload your app, and let Google do most of the rest. Like Amazon, Google carries a tremendous degree of name
recognition and cache. Unlike Amazon, Google starts out free, and only costs as you start to get a lot of traffic and use a ton of
computing resources. Also different from Amazon is that Google is a Python-centric architecture and engine. If you want to use
Google App Engine, you use the programming language Python which would mean converting our existing code base to this
language .
Windows Azure
Microsoft has done cloud computing in a completely different manner. Much like, "I'm a PC, I'm a Mac," Microsoft is intent on
providing a very rich, professional, high-end computing environment. So while Amazon EC2 and Google are geared at the guys
who still hack on Python in vi and are comfortable dealing with network protocols, Microsoft's Azure product is aimed squarely at
the legion of Microsoft developers. Visual Studio, visual tools, and a visual environment make Azure approachable and
comfortable for people who use C# and SQL Server on a daily basis.
As different as Amazon EC2 is from Google App Engine, Windows Azure is different from both. Azure is Windows®. It's based on
Windows; it's for Windows developers and the decision to use Azure is less about features and more about the platform.
4. CTP ? - done its how soft ware is released
Need more on computing architecutre:
Platform Overview
- Number of data centres ? - not able to find tis out
- Data centre architecture - HP blades ? - Not able to find out
- OS ? - done
- Applications supported ? - not sure what you mean by this
Features/ Microsoft Amazon Google
Characteristics
Private Community Technology Preview
Availability General availability Public beta
in beta
Hosted Services, Hosted Services,
Supported Cloud Models Attached Services and Rich Internet Attached Services and Rich Internet Hosted Services
Services, through the PaaS layer. Services, through the VMs.
Open PaaS + Closed IaaS:
Open IaaS:
Develop apps (.NET) for clients and
Elastic Compute Cloud (EC2) supports Closed SaaS + Closed Paas:
servers, the latter which
uploads XEN virtual Develop web applications in Python or
Computing Architecture Microsoft runs on Windows 2008 VMs
machine images to the infrastructure Django within specific
according to
and provides services to instantiate and parameters, deploy to AppEngine.
environment specifications (number of
manage them.
machines and types needed, etcetera).
Operating system Windows Windows, Linux N/A
App and file storage; Simple Storage Service (S3) and
Storage Datastore APIs
SQL services SimpleDB
.NET services as BPM integration(i.e.
BizTalk in the cloud): Integration supported with existing
Identity management, access control , Google services: authentication, mail,
Integration with other services and workflow services, as well as a None base, calendar,
service bus. contacts, documents, pictures,
Live services (contacts, mail, maps, spreadsheets, YouTube.
etcetera)
Basic editing, local simulation, and
Integration into Visual Studio, support
Not applicable. Amazon runs VMs, and deployment tools.
for any .NET languages, support for
as such does not provide any Language selection limited to Python
third party IDEs (starting with Eclipse).
development platforms. One develops and Django.
Development tools Support for other languages (Python,
apps as one otherwise would for the Application-level tools such as Google
Java) planned for late 2009.
base OS running on VMs. No PaaS Web Toolkit (GWT) do not have any
Strong story for development as this is
support for development. integration with Google AppEngine.
supported by the PaaS layer.
Limited PaaS support for development.
5. Recommended Platform
Amazon EC2 would be the platform recommended because
✓Supports LAMP Architecture
✓ Flexible and varied services provided
✓ Control at a root level of each instance
✓ Flexible cost model
✓ Easy to set up
✓ Easy to scalability both up and down
✓ High SLA’s
✓ Biggest implementations that supports our needs
✓ Mature model
6. EC2 - Service highlights
• Reliable - 99.95% availability for each Amazon EC2 Region - N.B this is quoted by
Amazon and their is no evidence to support its accuracy / if it is been achieved
• Controlled – Root access to each instance which means you can interact
with them as you would any machine.
•Scalable – Amazon EC2 enables you to increase or decrease capacity within
minutes
•Secure – Amazon EC2 provides web service interfaces to configure firewall
settings that control network access to and between groups of instances
7. Set up options
• On-Demand Instances – let us pay for compute capacity by the hour with
no long-term commitments. This enables us to move from a fixed cost and
complexity of planning, purchasing, and maintaining hardware and move to a
more variable costs model. On-Demand Instances also remove the need to buy
“safety net” capacity to handle periodic traffic spikes.
• Reserved Instances – give us the option to make a low, one-time payment
for each instance we want to reserve and in turn receive a significant discount
on the hourly usage charge for that instance. After the one-time payment for an
instance, and we have no further obligation; we may choose to run that
instance for the discounted usage rate and when you do not use the instance,
we will not pay usage charges on it.
9. Cost cont
Before a detailed and accurate costing could be produced we would need to determine the following
• What would be put on the cloud
• What type of resilience would be required
• Traffic predications for the chosen applications
The costing below given a indication using hxtrack and one instance per month
Very difficult to work out
costs for each web
hosting
how much work do you
want put into it ? HxTrack
High CPU On Demand Instance HIgh CPU Reserved Instance
One of fee 0 $2,600 / 12 = $216
Usage $644.16 $234.24
Data transfer $20.52 $20.52
Storage $12.70 $12.70
Total Cost per month $677.38 $483.46
10. What could and would we put on a cloud
Could put on a cloud Would put on a cloud Details
Waiting on out come of trial as there
HXtrack
? are concerns about speed and Data
I/O
HXSEO System
HXCM & PL systems
Due to issues over reliability, speed
Web landing pages
and security
Due to issues over reliability, speed
Web booking process
and security
Development environment
Staging environment
Application servers
11. Things to consider
• Although with the cloud hardware and bandwidth become a variable cost if
demand is always high or does not vary greatly then this many no be a cost
effective.
• System admin resource is still required to manage and maintain the instances
• There is still a large concern over security and reliability within the industry
• Still restrictions on I/O for some database implementations
• Just because it is the latest type of hosting doesn’t make it the right type of
hosting for every need
12. Recommendations
• Undertake in-depth review of all hosting options including detailed costs
• Look to use the cloud for development and application platforms where
hardware would traditionally need to be purchased
• Look at moving HxTrack to Cloud when we need to scaling writes on internal
infrastructure.
• Do not look to move any production service until in depth review above is
completed.