Saturday, May 21, 2011

Cloud Operation Challanges

Infrastructure is the part which will undergo the majority change when you move to cloud, hence the operation management at this level will be the most impacted area. However there will be changes at process level as well. The major areas that will get impacted are:
1.       Monitoring
a.       There will be an additional level of monitoring needs to be introduced at hypervisor level as this layer will control your fabric.
b.      You still will need to monitor your hardware sitting beneath hypervisor but probably in a stringent manner.
c.       Monitoring will need to have a lot more automation integrated to move the workloads, only creating an incident might not be sufficient.
d.      Need of monitoring the assets in public cloud.
2.       Discovery
a.       This is the other process that will need re-thinking as there will be a churn of virtual assets created and destroyed every month if not every week or day.
b.      Automated discovery will become a necessity.
c.       Another aspect that would need automation is Change and Configuration Management.
d.      Another key aspect need attention where there are “stale assets” e.g. the virtual machines that sitting in shutdown state for specific periods
3.       Public cloud integration
a.       Ability to monitor both on-premise and cloud assets using single set of tools and processes.
b.      Having a strategy for migration between public cloud and on-premise on the fly.
4.       Failure testing
a.       When using a cloud infrastructure, you need to plan to fail and have repeatedly test you system by shutting down some service or the other.
5.       Process Changes
a.       Process Integration with public cloud provider will be required at various levels.
b.      SLA negotiations with public cloud provider.
c.       Enhanced Self-service capability given to end user will need enhances support structure as well.
The common theme which emerges in changed ops management is the automation. But automation can prove to be “necessary evil”…  Check out the AWS outage (http://aws.amazon.com/message/65648/) that happened recently because of the automation. 

Friday, October 8, 2010

Cloud Computing - New Definition and other terms

It's been a while that I posted anything. Was busy with some personal emergencies.

Today I am going to talk about how a new definition of cloud computing is emerging or rather I should say the cloud computing is getting defined. In my earlier post I talked about Cloud computing consisting of SaaS, PaaS and IaaS. But I see that term "Cloud Computing" is increasing being used for IaaS. SaaS is considered as separate field altogether and PaaS, I believe is still going thru definition phase.

Another question that I always get is that How Grid Computing is different from Cloud Computing. The answer is that Grid Computing is specialized form for cloud computing which is used for HPC( high performance computing). The key differentiation is that in Grid a "Single" workload is first distributed among multiple machines and the collated back, while in Cloud Computing we only replicate the same workload on multiple machines.

Wednesday, March 17, 2010

Cloud Computing - Enabling Technologies and Techniques




In this post I will talk about some of the common techniques for providing the cloud services.

SaaS:

The primary technique, many would argue, for SaaS is the Multi-Tenancy; means that single instance of application should be able to service multiple customers. This however is quite true if I look at it from purely business perspective, as it helps save you some money. But as a consumer I am not concerned if the same instance of the application is being used by hundred other users. I am concerned about my data security and availability of the application. So “Multi-Tenancy is DESIRED but NOT REQUIRED” for SaaS.
Sometime it might not be possible to re-architect the application to support multi-tenancy, virtualization comes in for rescue in those cases. You can host separate instances for each of your customer. It might be possible to use this model if you expect your customer’s to be in a limited number. But if you have many customers to support, providing/maintaining separate instance for each customer can be daunting task. In such case you should look at application closely if it provides some level of logical separation within the existing architecture and use that separation to support multi-tenancy. Another to provide multi-tenancy is to have single application instance of application but have multiple database instances.


PaaS:

Some most powerful providers of PaaS are
·         MS Azure
·         Google Apps
·         Force.com.
Out of these three MS Azure is again the most powerful because it provides the cloud platform which is very similar to what developers are used to in a non-cloud environment. Developers do not have to struggle with learning new language, database skills and ways-of-working. Google Apps and Force.com on the other hand need developers to learn their own APIs. Google Apps however score better than Force.com as it supports Java and Python and the developers need to learn only “Big Table” database concepts. Force.com would require you to learn APEX, however Force.com is the fastest way to get your website up and running.


IaaS: -
Virtualization is the key to provide IaaS. It’s the technique to provide an abstraction of computer resources and divide those among multiple Operating systemns known as virtual machines. It separates the hardware from OS and enables a single set of hardware to run multiple OS. Each OS works identical to as if it was on physical machine. The software providing abstraction capability is called Hypervisor. Some standard hypervisors are VMWare, Microsoft Hyper-V and XEN (open-source).

Virtualization

My next post is going to be around the concerns and issues about the cloud.

Wednesday, March 10, 2010

Cloud Computing – How does it impact me?


In this post I will talk about how it impacts you as a provider or consumer. I will try to address this based on various actors.

Software/Applications ProviderAs a provider of the software, you need to enable the access to software thru internet, not necessarily over HTTP but remote access. This could mean re-thinking the architecture of some your applications. Another key aspect that provider need to add to the software will be the ability to meter and bill the usage of the software. And if provider wants to maximize the profits from the limited infrastructure, they will need to make their software multi-tenant, which again would mean re-architecting the software. You will have to think the application architecture to seamlessly scale (or burst as in Cloud computing terms) into public cloud from private cloud.

Software/Applications Consumer
This model is impacting the way software is consumed and delivered. Since it is delivered thru internet, as a consumer you will have location agnostic access to the software. You will only pay for the time you use it and will seamlessly get the upgrades/patches. Switching to competing software will be quick and easy, at least in terms of using it. For data, a lot will depend upon provider in terms of interoperability offered. You will not have to worry about software upgrades and patching. Although you will have some level of unease, because you would not know the exact physical location of your data. This will concern the enterprise users more than individual user. Industry is gearing towards addressing these challenges as well, I will talk about it more in my following posts.

Date Center Manager/Sysadmin
As a data center operations manager, you would need to design the infrastructure to be flexible enough to be able to scale up and down on-demand. E.g. you would need to make sure that your networks supports the additional IPs needed for the new virtual machines that you add, or you have flexible firewalls to add the new servers provisioned on Amazon to you network. You need to train you sysadmins to be able to administer and operate the instance running in cloud. You will need to create new strategies for disaster recovery and backups to include the servers running on cloud. You can be little relaxed on the capacity planning but still need to have solid understanding of what you need in mid-term and long-term.

CxO
In Cloud Computing era, consumers will buy software and computing (of course not all of it but a good percentage of it) as they buy electricity i.e. any commodity. The economy of scale will enable the provider to delivery software and computing cheaper than they currently do. The reach of the computing power will increase in the developing countries. All this gives CxO an ability to reach to new industries and geos. The availability and the low cost of software will enable the education institutions to teach practical use of the technology rather than only theoretically, especially in developing countries. SME's will be able to benefit from the enterprise software that was earlier out of reach because of high entry cost. E.g. using a SAP or PeopleSoft as a service. 

Regulators
There will be a need to new regulations related to privacy and security. Current regulations would need revision to account for the virtual machines and specially the sensitive data handling.

In the next post I will talk about the enabling technologies for SaaS, PaaS and IaaS.

Cloud Computing - Unclouding

What is Cloud Computing?

Is it a new technology, buzzword, model of computer/laptop, software, processor…? Cloud computing is defined differently by different people; some call it an umbrella terms to collectively define various technologies, other call it a new domain in computing etc. The definition which is closest to what really Cloud Computing is that it’s a new operative model of IT, which means it changes the way the IT is delivered to end-consumer. This means that it’s not only technology, of course the enablement is thru technology, but it has a lot other aspects to it. It means the new way of thinking the economics for IT, regulations, people, infrastructure, applications and everything else related to IT. To understand the impact of cloud computing there is a well accepted division into three major areas:

Ø  Software as a Service (SaaS)
Ø  Platform as a Service (PaaS)
Ø  Infrastructure as a Service (IaaS).

SaaS: Think of a traditional way of software buying and licensing. You buy a software (on a media, CD, DVD, or simply download the installer) and a license key to go with it. You own the software and then depending upon the license, again buy the software upgrade and support services. Now think of scenario where you could simple rent the software as you rent a cab. When I say renting, it does not mean like rent-a-dvd from blockbuster store, but rent a movie online from you cable provider where you don’t need the DVD player. This model is called SaaS, where you do not own the software but simply pay to use it. And how do you use it, from your web browser using internet. This is very successful model of IT delivery where the need of customization for an individual and/or organization very low and everyone uses the same set of feature.


PaaS: Again if you think of the traditional way you develop a new website or any other software. You will need a machine, a development environment, a database, an app server etc. But with PaaS, all you need is a simple computer/laptop and internet access. You login to your PaaS provider site and you have the entire environment available there for you to start developing, testing and deploying the application, everything thru just the browser. There may be cases where you would need a small software on your local machine to be able to develop the application, e.g. Google Apps, where you would need an eclipse IDE on your local machine, but rest of the software e.g. Appserver, database etc. is provided by Google Apps.  

IaaS: Let’s say you are running hosting a site. You have a very low traffic to your site and you are able to maintain it with 1-2 servers that you originally bought. But all of a sudden the traffic to your site increases and you need more computing power. But when you approach you hardware vendor, he/she asks for a 4 weeks lead time to get the machine of desired configuration. What do you do? You cannot wait that long. So you can reach out to an IaaS provider to get the extra machines, those are not on your premises but you simple rent those over the internet and simply host your application on rented servers. This all can be done within hours, if not minutes. Amazon EC2 and Microsoft Azure are two big players in this space.

Essentially, IMHO, Cloud Computing is about not having to buy/own the component (hardware/software) but to rent/pay-as-you-go. This might be seen as gross over-simplification of the concept but, I firmly believe, is the true sense of the Cloud Computing.

In my following post I will talk about How cloud computing will impact you as a comsumer and/or provider.