What is a cloud service?

If you hear anyone mentioning cloud services you will hear about one
of three acronyms:
  1 - SaaS (Software As A Service)
  2 - IaaS (Infrastructure As A Service)
  3 - PaaS (Platform As A Service)


What most people don't talk about is what actual cloud computing is, 
and that makes it really confusing.  Cloud computing is actually a new
paradigm shift in development centered around designing and
architecting software to be elastic and scalable.
This means that people need to take scalability and growth of applications under big
consideration.  SCALABILITY.

Why is the word scalability so important?
Lets look back at the 3 terms above...

1 - SaaS - Software As A Service is basically a cloud software package
like Google docs or Office Live that you would migrate to.  This cloud could or
could not be scalable.  It all depends on the 'cloud software' that
you buy.  Usually it is but you can never be sure so make sure you
know before making any commitments.   You don't want your entire mail
service down because of a datacenter outage without a backup
location...


2 - IaaS - Infrastructure As A Service is basically remote VMs in 'the
cloud' that you can purchase at cheaper costs than dedicated servers
from typical hosting providers.  This is a great and easy solution for
enterprises looking to quickly move towards 'the cloud' and migrating
machines at their own pace.... But keep in mind SCALABILITY.  With
IaaS you will have to routinely ensure and validate the load on your
cloud VMs.  This may take some resources and may cost money to standup
machines and test.  If your code runs bad and has memory leaks you
really won't know any you will keep having to buy extra large VMs to
support the bad practices.  You also have to manage the VM upgrades
and security patches (potentially expensive)


3 - PaaS - Platform As A Service is an entire platform for deploying
and managing your applications in the cloud.  It is primarily built on
scalability and gives developers the ability to make any component of
their application 'scale-out'.  Scaling-out is big when it comes to
load as it would be a lot better with respect to performance and cost
to have many small VMs with fast response times than one large VM
(scale-up) with long response times (from a large memory footprint).
Server maintenance (patching, upgrades) are taken care of but the PaaS
provider because you are deploying and developing under their platform
(no more worrying about server management).  This of course takes some
time to research, understand, and get up to speed on the development
guidelines and best practices for 'scale-out' applications.  The
technology itself is still early but very promising.


Its up to you to decide which model to choose for a cloud service.
Each has its PROs and CONs.  It all really depends on how much
configuration, cost, resources, and time you have along with how much
frustration you are willing to deal with as new technologies aren't
always easy to deal with :)

Have fun

No Comments