Cloud, cloud-glorious clouds. The cloud is taking flight (pun intended) in fact, it is soaring higher than ever before. It's all the rage right now an...
The Eight questions you need to ask a cloud provider
July 14, 2014
Cloud Solutions at Convene - Part 2
April 15, 2014
WHAT IS “CLOUD” REALLY?
The term “Cloud” itself is often confused by many. Ask any cloud expert on the street and I guarantee that you will get a different explanation to what exactly the term refers to.
If I have a Data Center that hosts a bunch of Virtual Machines and if I am able to provision and remove virtual machines as and when I need, is that Cloud? The answer is, “Not Really”. The purists would totally trash this as Cloud.
A Cloud platform must provide you these key benefits at the minimum.
Support for Rapid Scaling Out and Scaling In Computing power with ease
Support for choice of platforms for teams as they need. For example, if my solution requires a Linux machine and a Windows machine, I must be able to provision with minimal effort. Likewise, choice for persistent storage (RDBMS, variants of No SQL), enterprise application connectivity solutions BizTalk, Service Bus etc must be within reach
Optimal Total Cost of OwnershipOn-Demand Self Service capabilities
Other benefits such as,
Support for Mobility
Automatic Disaster Recovery
Ease of maintenance
and so on are additional benefits that come along as part of the game.
Cloud Service Models
IaaS – Infrastructure as a Service
PaaS – Platform as a Service
SaaS – Software as a Service
IaaS - Infrastructure as a Service
As the name goes, this type of cloud means that the infrastructure is being provided as a service. Here, what you get is “space” for your to host your own Virtual Machines that you built in your data center or that you borrowed from the Cloud Provider’s gallery that was already available. Users no more have to worry about purchasing and maintaining hardware, Electrical cost for cooling systems in the data center, Tons of IT maintenance staff, OS Licensing (in most cases) and so on. The foundation is already made available to the users by the Cloud Providers and all one has to plan is to get the application installed on the Virtual Machine by choosing the one with necessary configuration on Processing Capacity and Primary Memory.
As an example, imagine you have a huge Sharepoint Server farm inside your environment. You are constantly worried about having enough space for new websites to be created, having enough crunching power to support growing number of users, failing hardware that need replacement, data security and storage, disaster recovery etc. Such concerns must never hinder the core business operations. After all, IT is only an “Enabler” for businesses. It must never become a “hindrance” in the way of daily operations and business growth. What if an expert IT company could do all this for you and you go on with a lean IT staff only to monitor and and handle support tickets?
Amazon EC2 and Azure Virtual Machines are the best examples of this type of Service.
Here are some key points to remember:
Because you have the liberty to host your own Virtual Machine, that doesn’t mean that ANY virtual machine can be hosted on the cloud. Each Cloud provider has its own restriction as to what can be hosted on their environment. For example, you can no longer host a VM with Windows Server 2008 OS on Azure. Windows Server 2012 is a minimum requirement for Windows Azure.
Even if the VM is chosen from the existing gallery, patching, updating and keeping the machine in a healthy state is user responsibility.If a single VM hosts an application, there is no SLA guarantee by most Service Providers. This is because of the fact that the rack that hosts this VM could go down due to hardware failure, undergo maintenance activities, OS patch updates etc. It is always advised to create failover clusters for production VMs.
For example, Azure provides “Availability Sets” to handle this exact scenario.For better performance, it is always advised to keep the VMs under one Data Center. The reason is obvious. Azure provides something called “Affinity Groups”. When you provision a VM resource you can provision it to be in the same Affinity Group as an existing VM. Doing this guarantees that these two VMs will reside in the same Data Center and hence ensure faster connectivity between them.
PaaS - Platform as a Service
Microsoft Azure pioneered the PaaS concept in many ways. When the cloud movement began, Amazon was a big time IaaS Service provider. You could go and provision a Virtual Machine of your choice and install your application. You did not have to make any major code changes for the application to function normally. This was because technically the application is still running on a familiar OS and infrastructure that it was earlier built for.
On the other hand, Microsoft’s Azure cloud was totally PaaS centric. There wasn’t an option for a user to bring in his own VM and host it on the Microsoft Azure. You were given something called “VM Roles”. These are nothing but VMs at the background which you could use to install your apps and so on, but did not have as much control as you would have with a Real Virtual Machine. Yes, this is the cloud world and “Real Virtual” is not even an oxymoron here.
Some of the typical PaaS Service provided on AWS and Azure are,
Worker Roles, Web Roles
Table Storage Services
Enterprise application integration services
The list is really long, and its not surprising to see cloud providers launching new services far too frequently and compete against each other’s supply of armor to customers.
As you might understand, none of these services existed in the traditional on-premise data center years ago. With PaaS, we have literally moved away from Servers to Services.
What this means is, existing applications that are in use in your enterprise are simply not built to work on these environments and a large portion of it have to be rewritten in order to make use of these services. Today’s trend rightly proves this very point. New projects that are being designed directly keeping cloud in mind are using PaaS services and reap all the great benefits of cloud, while large enterprises embarking into the cloud space cannot move to PaaS directly because of the high costs involved in rewriting the existing applications to suit the needs of PaaS environment. They end up taking the shorter and firmer step, which is moving their applications to public/private/hybrid IaaS cloud infrastructure. This effort is complex and needs expert role play to make this a successful migration.
PaaS is a better cloud than IaaS for reasons such as better elasticity, ability to create granular and reusable objects, faster disaster recovery and more importantly efficient usage of the “Cloud” infrastructure itself.
SaaS - Software as a Service
If you want to call something the Ultimate Cloud, this one is. The most popular example that everyone quotes is SalesForce. Salesforce does not have an installable software or license any application to its users. It merely provides services through its software services on the cloud. Most of the SaaS systems are workload specific. It’s really hard and to an extent impossible for a SaaS platform to cater to more than one or a few specific set of business streams.
Imagine you are a small/medium business that sees rapid business expansion in the near future and wants its IT infrastructure to be ready to support the soon to be hired new employees and users. Email, Collaboration tools and Office software are required to support the larger user base and it has to happen rapidly. The natural choice to solve such situations is to use a Service like Microsoft Office 365. This is a completely cloud based software solution and qualifies as yet another great example for an SaaS solution.
As a user, one does not have to not only worry about the underlying Hardware, Operating System, Software, Database, Security, but don’t even have to have to have the knowledge of the geographic location of the Data Center being serviced from. SaaS works in subscription model, and is billed under pay-as-you-go model on a monthly basis in prominent cases.
Now that we saw about various forms of Cloud, its time to also think about the different deployment approaches.
Cloud Deployment Strategies
Upcoming posts will talk about the characteristics and pros & cons of each cloud strategy in detail.
Convene’s Cloud Migration offering approaches the problem of cloud deployment and migration using proven methodologies. We follow these key steps to make the Migration a successful exercise.
Perform Environment application inventory
Analyze and Assess Target Applications
Perform Application and Platform remediation for incompatible applications
Create a custom DevOps strategy for the customer
Create a Proof-Of-Concept Cloud implementation
Migrate workloads to the Cloud
Setup Monitoring & Performance Analytics for DevOps