vendredi 4 mars 2011

The Great Cloud






Since I was interested with the cloud I was looking around everywhere in articles, interview and videos to know about this « new technology » that everybody is talking about..
In the beginning I was scared, I found in front of my face a big number of new terms and paradigms was also the term cloud is over-applied “it’s the new trend” , “the new technology choice FOR the IT in the future”, “everybody will go to the cloud” cloud here and cloud there. Also in almost articles and video the authors suppose that you are a great IT and he suppose that you know all about the cloud and he start talking about his own cloud or predicting about the future of the new cloud solution that exist. But in this article I like to answer the basic questions that I got when I started goofing around:
  • What is the cloud in first place (Clear definition)??
  • After I move to the cloud what are the management tasks removed and what I still have to do (I have to do something right)
  • What are the solutions that exist and what is the difference between them??
  • What I need to know before starting use the cloud??

I will Start by an abstract definition for the cloud and I think it is the best definition I ever read:
“The Cloud is a utility computing environment where the developer can treat the compute and the storage resources as infinite”.
Great Definition and great news not only for the IT guys who doesn’t like to manage storage issues but specially for every creator and innovator that he can’t find great resource to apply or to create his idea which can be the next million dollar idea, it’s a great news for people who like game development and 3D simulation and of course it is great news for science because now Scientist everywhere can use the cloud capacities to do hard and complex calculations that used to be done in some specific high cost grid calculation. There is a project done by a Tunisian engineer called Karim Chine this project allow scientists to do and share hard calculations and simulations by implementing the R platform on the cloud this project called Elastic-R and finally is a great news for people who like to test their startups “Now only with a pc we can start our own business”.

Now let’s talk about what it was removed and what it still you have to worry about, I will start by the good things:
  • All ITs must do some theoretical calculation and estimation about the maximum load, with the cloud you don’t need to do this anymore you have infinite resources.
  • No more replication strategy
  • No more Platform Patching/maintenance strategy
  • Don’t think about Storage “Head Room”
  • And Finally no more Data Center setup (Redundant Power, Redundant cooling, redundant internet connectivity….)

Cool!!!!!!!! Ok don’t be so sure because you still have a bunch of headaches that you need to worry about:
  • Data Storage: Nosql style or SQL style
  • Maximum concurrency in application
  • If Sql : storage sharing??
  • If no SQL: partition and row keys??
  • Programming language

  • Monitoring software
  • When to adjust capacity (especially that you pay for what you use)
So If you like this and actually you decided to move to the cloud there are many solution exposed out there by the big players (Microosft, Google,Amazon…):
  • SalesForce.com
  • Rackspace Hosting
  • Google App Engine
  • Amazon Web Services
  • Azure Services Platform
All those platforms are cloud based platform but there are different in term of services for example Amazon offers Virtualization other don’t, Also in management for example with Amazon you manage your virtual machine and add ones when you need it, but Azure manage for you the virtualization and add capacity when the application need it and finally in paying mode some of them offer a bill on timing others on operations and queries.
Is not something easy to move to the cloud you need to be familiar with distributed architectures and design patterns also you need to have a strong knowledge about security and of course managing Data Bases.
This is a little introduction about the cloud all you have to do now is to go out there and find the most solution that is suitable for your application or for you enterprise and be the first that present it to your boss.