CloudEnterprise.info

Posts Tagged ‘AWS

Don’t put all eggs in one basket! June 14, 2012 outage at Amazon Web Services affected many customers and other clouds that rely on AWS (e.g. Heroku). Instead of going back to the “is cloud reliable” debate, we need to acknowledge that no single service will ever be 100% reliable, and only real solution is using more that one service provider.

Remember when Apple launched their iCloud service last year? Remember what made them architecturally so different from 99.9% of other “cloud” services out there? They used both Amazon Web Services and Microsoft Windows Azure as the underlying platforms. Does anyone care to guess why? Perhaps the answer in the latest news. Just read these articles about Amazon’s or Azure’s outages. Can you find iCloud mentioned anywhere as one of the affected services? No. You will see Heroku, Quora, Parse, and Pinterest – but not Apple. If one cloud fails – they still have the other one to use.

I work for a cloud platform myself (Jelastic PaaS) – and let me make it clear: no matter how much work we put into making it as reliable as we can – any services can (and will eventually) have an outage. Even a service with multiple availability zones (like AWS or Azure) will fail from time to time (happened already). Don’t cheat yourself – if you need real redundancy – use more than one provider, and do yourself a favor – check their backend platform. If you think that using AWS and Heroku is redundant – you are wrong – they are both running on AWS.

And yes, this means that you need to try to pick the services that accept the same application code. If one of the services requires your application re-written your development cost will double (e.g services like Google App Engine require pretty much complete application re-write to use it – a bad choice as a second platform.)

This is one of the reasons why in Jelastic we made a couple of important design decisions early on: make it available from multiple completely independent hosters (not Amazon, but actual real credible hosting companies) and make it 100% code compatible for any Java applications (no APIs to code to, no code changes required).

Don’t want to be in the next outage news? Pick 2 hosters and get yourself some piece of mind (obviously do check your failover to make sure you can safely stop your service at one and switch to the other one! – the only redundancy that works is the one that you test as often as you can.)

Is there hard ROI to use a cloud IaaS instead of a server in your garage/basement/on-premise datacenter? I think there increasingly is and justifying self-hosting is getting increasingly tough.

I would actually go as far as posit that you can now get a server in a public datacenter at price comparable to your electricity bill alone!

If you don’t believe me – let’s do a quick math.

Mark Kolich noticed in his blog that the server he had running at his home was consuming 220 W, which at the consumer electricity costs of 12-cents per kWh means:

0.220 kWh * 12 cents = 2.64 cents per hour

Almost 3 cents/hour for electricity alone not taking into account: labor, server hardware amortization, data-storage costs (replacing a failed disk), cooling costs, ISP costs, security costs (routers, firewalls, etc.), power backup costs (a UPS) and so on. Mark notes that he could have probably bought a newer more energy efficient server – but the required investment would not justify the savings.

The shocking part is that the recent price competition of cloud infrastructure (IaaS) and platform (PaaS) vendors took the current cloud servers costs to roughly the same order of costs. Here’s a quick survey of a few major cloud players:

  • Microsoft is rolling out their 5 cent/hour option (with additional further discounts if you pre-pay for reserved use – e.g. say you have a bunch of instances which you have running all the time and you are willing to pre-pay for the next few months).
  • Same thing with Amazon: minimal price (although for a slightly more limited version) is already in 2 cent for Linux / 3 cent for Windows instance area, with reserved/pre-paid option getting as low as 0.7 cents/Linux & 1.3 cents/Windows.
  • Rackspace pricing starts at 1.5 cents/hour for Linux, and 8 cents/hour for Windows.

My take on these numbers is that you need to have a really good reason to go into hosting when there is so much price competition in that space and the margins are going down so fast.

The only good reason I can think of is hosting being your competitive advantage in some way. For example, being a local hosting company in a country which legislation is making it hard to use foreign datacenters. Or offering some level of compliance which public hosters cannot provide. And as a matter of fact both of these differentiators are gradually going away with the vendors quickly getting all the possible certifications and compliance stamps you can think of, as well as opening datacenters around the globe.

Cloud is cheaper than your own hosting regardless on how you calculate the costs. Get used to it.

Dmitry

Now that we had a few days to look at Microsoft’s Windows Azure it is time to compare it with other alternatives on the market. For our comparison we picked solutions from the biggest players in the market and potential to impact the industry in that area: Microsoft Windows Azure, Amazon Web Services, Google App Engine, and VMware vCloud.

It is obviously too early to declare a clear winner here. Below is a feature-by-feature comparison table. Here’s a quick summary for each of them.

Microsoft Windows Azure

Currently in early private beta but boasts an impressive set of APIs, great development story, and a promise for good enterprise integration.

Amazon Web Services

The most mature solution on the market and the first one to exit beta. Offers basic cloud infrastructure required (compute power to run virtual machines, storage, communication queues, database) and allows you to fully control your virtual machines and run your LAMP- or Microsoft-stack applications any way you like.

Google App Engine

Boasts the “drop your code and we’ll figure out the rest” approach taking care of all the scalability and infrastructure management for you.

VMware vCloud

A pre-announced solution promising to let you simply take your standard VMware virtual appliances and run them anywhere: on-premise or in a datacenter of any provider supporting VMware’s infrastructure.

Now let’s look at each of them closer and examine them feature by feature:

Feature

Microsoft

Amazon

Google

VMware

Availability

Early private CTP

Yes, commercially available

In public beta

Announced

Computing Architecture

You provide .NET code for front-end and back-end servers which
Microsoft then runs on Windows 2008 virtual machines according to your
environment specifications (how many machines of each kind you need, and so
on.)

Elastic Compute Cloud (EC2) allows you to upload your XEN virtual
machine images to the infrastructure and gives you APIs to instantiate and
manage them.

You write your web application in Python or Django with a specific
set of limitations set by Google and submit the application code to them.

Lets you easily move your virtual machines between environments and
run them on premise or at any partner datacenter.

Load balancing

Yes

Yes

Yes

Not announced

Storage

Yes: application storage and SQL services

Yes: Simple Storage Service (S3) and SimpleDB

Yes: database Datastore APIs

Not announced

Message queuing for machine communcations

Yes: queues in Windows Azure storage

Yes: Simple Queue Service (SQS)

No

Not announced

Integration with other services

So called .NET services (aka BizTalk in the cloud):

Access control services, workflow service, service bus.

Live Mesh

Various Live services (contacts, mail, maps and so on.)

At the moment, all these components do not seem to be integrated with
the solution but rather bundled.

No

Yes, with existing Google services: authentication, mail, base, calendar,
contacts, documents, pictures, spreadsheets, YouTube.

No

Tied to the vendor datacenter

Yes

Yes

Yes

No, the VMs can be hosted by any of the partners or used on-premise

Development tools

Yes, integration into Visual Studio, support for any .NET languages,

Not applicable. Amazon simply runs your virtual machines and does not
care which development platform you are using on top of the base OS.

Yes, have basic editing, local simulation, and deployment tools.
Language selection limited to Python and Django.

Application-level tools such as Google Web Toolkit (GWT) do not seem
to have any integration with Google App Engine.

Not applicable. VMware simply runs your virtual machines and does not
care which development platform you are using on top of the base OS.

What’s your take? Did I miss any features or comparison criteria?

Technorati Tags: , , , , , , , , , , ,


RSS My company’s main blog

  • An error has occurred; the feed is probably down. Try again later.

My Recent Tweets

Blogroll

Legal

The posts on this blog are provided “as is” with no warranties and confer no rights. The opinions expressed on this site are mine and mine alone, and do not necessarily represent those of my employer Jelastic or anyone else for that matter. All trademarks acknowledged.

© 2008-2012 Dmitry Sotnikov

%d bloggers like this: