Monday, November 8, 2010

A2A ‘Cloud Comparison’ – Storage Services

This is part of my series of article 'A2A Cloud Comparison' ; in my previous article I have compared Amazon and Azure on Computing Services space. In this article I have given my view on Cloud Storage Services in general and the corresponding services by Amazon and Azure Cloud Providers.
Storage in Cloud
One of the important services that are provided by Cloud is the Storage Service. Cloud Storage provides enormous amount of storage space that is accessible over internet with features added on top of it. Also as with other cloud services this comes with Pay as you use model. Let us understand why the storage services in cloud is going to be important, year by year the cost of storage disks keep on reducing but still the enterprise storage cost keep on increasing year by year, the problem with conventional storage costing is that even though the hardware cost keeps on reducing cost on operation and maintenance keeps the total cost increased, also it is difficult to keep with the exponential need in the storage needs. Cloud Storage Services tries to address all these problems.

Understanding Storage in Cloud:
Cloud Storage operates on a base concept called Storage Virtualization. Storage Virtualization system provides a logical data store that maps over the physical storage system through a mapping table.
Storage Virtualization in general achieves the following
1. Location independence – Abstracts the physical location and thus enables data movement across different physical locations.
2. Replication – Enables replication of the storage data across multiple locations
3. Data migration – Enables movement of storage data to a faster / better infrastructure if needed.
4. Dynamic scaling - Enables to scale the capacity of the storage space when needed

Storage Services in Amazon and Azure
Amazon, Azure the top public cloud computing service providers provides services in Storage segment. Both of them provide similar type of services in storage segment. These storage services can be accessed by a REST based API or web service API calls.



Let us try to compare the cost of these storage services by these vendors. Generally the cost of these services will vary based on geographic location and also will be revised (generally reduced), the costing I am mentioning is as of today.


(Please note that billing fees are subject to change.)

Please refer to the following links for the detailed pricing
http://aws.amazon.com/s3/#pricing
http://www.microsoft.com/windowsazure/pricing/

Security options
Security in Data Transition:
Security in data transition can be achieved by means of secured http channel.
Security in Data Source:
Highly sensitive data that needs to be secured at the source can be achieved by means of data encryptions.
Security in Access:
Cloud providers are coming up with Authentication, Authorization mechanism by which access to these resources can be secured.
Security in Virtualization:
Virtual Servers in the same physical servers are properly secured by means of virtual firewall by the cloud providers and hence data is kept secured between virtual servers on same physical server.

Best Practices
1. Choose the Cloud Storage Data centre location closer to the end user
2. Segregate the data into different buckets(Amazon) or Containers(Azure) so that different level of security access can be achieved
3. Partition the data properly to achieve higher throughput and efficiency.

CDN Integration
Both Amazon and Azure provides Content Delivery Network (CDN) that can be integrated with their storage services to provide closer delivery of data to the clients with higher performance and better reliability.

Tools
There are few cloud storage explorer management tools that are available that facilitates a user to view the data on cloud storage
Cloudberry Explorer - http://cloudberrylab.com/
Explorer Tools: S3Fox, BucketExplorer, awszone.com
Azure Storage Explorer - http://www.cerebrata.com/Blog/file.axd?file=2009%2F10%2Fcomparing_azure_storage_management_tools.pdf
Azure Storage Manager - http://azurestoragemanager.codeplex.com/

Other Cloud Storage Providers in the market:
Nirvanix - http://www.nirvanix.com/
EMS Automos - http://www.atmosonline.com/

Tuesday, October 19, 2010

A2A ‘Cloud Comparison’ – Compute Service

A2A ‘Cloud Comparison’ – Compute Service

As many of us know Amazon and Azure are among the major providers in the public cloud service space. This will be series of blogs depicting my views on comparing Amazon to Azure (A 2 A) on public cloud services on various dimensions of their services like Compute, Storage, Bandwidth, Pricing, Security, DB Services, and CDN etc. Please tag to this space to follow closely on the series.
In this current blog I have taken compute service offering from both of these providers and provided their features as per my knowledge.

Amazon EC2 Compute Instances:
Amazon provides services in Infrastructure services space where in compute instances it provides compute services in terms of virtual servers, the compute instances so called EC2 (Elastic Compute) instances provide different flavours in terms of hardware configuration and software configuration, some of the flavours in hardware are Micro, Small, Large, XLarge, High CPU, High Memory etc., you can find more details of it here at http://aws.amazon.com/ec2/instance-types/ , the costing of the instances varies based on the flavour. Each instance flavour can differ in terms of hardware configuration and software configuration. Amazon as a provider provides instance for some predefined software like Windows Server 2003, 2008, SQL Server editions, RHEL etc. In addition amazon has partnership with major vendors like IBM, Oracle and provides pre built alliances, for example you can have a prebuilt appliance with oracle 11g with different hardware configuration provided by Oracle, and similarly for IBM you have appliances provided by them.
Details of the partnership EC2 instances for IBM and Oracle are available under
http://aws.amazon.com/solutions/global-solution-providers/oracle/
http://aws.amazon.com/solutions/global-solution-providers/ibm/

Some of the benefits you can find with Amazon Compute instances are
1. Prebuilt appliance and save your time and avoid expertise from setting up with proper environment
2. Some of the instances through partnership comes as Pay as you use model and hence avoids licensing and costing issues, suppose you want to test or do some POC with IBM Web sphere Portal Server for a week or even a day you can very well find the instance and use it with amazon ec2 instance in no matter of time.
3. Many software vendors started providing their products through Amazon instances with the correct environment set, this way it becomes easy for customers to try out any software of their interest with less turnaround time.
4. Start and terminate instances when ever needed and pay only for used time.
5. Set firewall and other security for the instances as you need.
6. Ability to monitor the health status of the instances.
7. Easy to migrate existing applications with same flavour on the cloud platform.

Azure Compute instances:
Microsoft Azure as we know operates in Platform Services layer, in the sense user won’t be exposed to the server directly, but when it hosts the application it provides a virtual server for running the application. Similar to Amazon Azure also provides some option on the virtual server configuration like Small, Medium, Large, Extra Large etc. Details of the instance can be found at http://www.microsoft.com/windowsazure/windowsazure/default.aspx With respect to operational model Azure provides compute instances in two different flavours as web role and worker role. Web role instances are used when the applications needs front end handlers handled by IIS web server and worker roles are used when the application needs a back end handling process ex: a batch job application or a windows service application.

Benefits of Azure Compute Instances:
1. Instances are self health monitored by Azure Fabric
2. Auto scaling can be enabled on the instances.
3. Control security policy over the instance.
4. Easy to build and migrate applications based on IIS7 and ASP.Net
5. Development fabric on Windows Azure SDK provides a simulated environment for service deployments and role instances on local machine.

To make a comparison study on Amazon and Azure with respect to compute instances
1. Amazon Compute instances are at infrastructure level and hence have more control over the instances, while for Azure Compute the control is limited as it provides platform services. In Azure some of the overhead like application monitoring , high availability it taken care by Azure fabric where in Amazon we have integrate few Amazon services to achieve it manually.
2. Azure allows deploying only one role per compute instance, where in Amazon you can deploy multiple applications / services as we do with normal servers. For example if you want to deploy a ASP.Net based application and WCF service at back end, you may need 2 compute instance in Azure, where in Amazon EC2 instances you can deploy them in same virtual machine.
3. Azure instances are self monitored and controlled by Fabric where in Amazon EC2 instances we add a service called cloud watch to monitor specific instances.
4. Azure instances will allow running applications based on Windows environment where in Amazon we can run applications based on windows and Linux environments.
5. Applications with some 3rd party dependencies or using commercial of the shelf products will be less suitable to migrate to Azure as the platform needs the dependencies on the Azure platform and licensing of the products needs to be worked out.
Microsoft is planning to release virtual servers (VMRole) in Infrastructure as a Service space similar to Amazon in near future http://blogs.msdn.com/b/usisvde/archive/2010/03/29/vm-support-in-windows-azure.aspx , with vmrole Azure platform will gain more power and benefits for migrating Microsoft based applications to cloud.

Sunday, August 15, 2010

Cloud Hosting versus Web Hosting

I have talked about cloud services interms of infrastructure services, platform services, software services , when detailing about infrastructure services many people have this doubt in mind , how is the cloud infrastructure services ( ex : Amazon ) differ from the normal web hosting providers,if I use virtual servers from web hosting providers, how cloud hosting is different ?, i thought to provide my thoughts on that.

Let us talk a sometime to talk about web hosting providers, there are different type of providers, with dedicated hosting provider we can rent physical servers not shared with anybody and have full control over the server including the server administration, with shared web hosting provider we can share the server space with others to be cost efficient but have less control over the server like administration , we can also procure interms of virtual servers and use.

So what's the big deal with cloud infrastructure providers like amazon , they also provides servers in the form of virtual servers so what's the big difference and what makes amazon to be called as cloud provider?

When we say cloud provider the main difference we have to clearly observe is the utility model of computing in all dimensions of usage , the chargeback will happen based on how much we utilize the cloud elements like compute units, bandwidth, power usage, storage etc..Also the turn around time to set up an infrastructure with amazon will be much easier and quick compared to web hosting providers.

For example when a rent a server with a hosting provider we have to commit for their space say interms of months / years. It is not easy to dynamically expand and reduce the space depends on our need, you need to have minium commitment for specific duration. Also you have to get dedicated intenet bandwidth for our application need. Similarly we have to procure storage requirements for our need, all these needs minimum commitment with the provider. We cannot dynamically scale up and down instantly with general web hosting providers.

Taking an example with Amazon Infrastructure Cloud hosting provider we see how the cloud elements can be used in utilization model. Amazon provides a simple web interface in the form of plugin with firefox called 'Elastic fox' with which any user having an amazon account can securely create , destroy instances , attach, detach disk , set security settings for the instances , it also exposes SDK to operate on the elements, so you can programatically operate on the elements based on your application needs. So you basically pay for what you use and scale dynamically for seasonal needs. It also assures of high availability .

In addition to these, amazon infrastructure services provides blob storage services, Simple DB services, Amazon Relational database services, simple queue services , notification services. Using all these services in utilization model you can effectively build an architecture that use these infrastructure in a effective way to operate your app in OPEX (Operational Expense )model than in CAPEX ( Capital Expense ) model.

Cloud platform services like Microsoft Azure , Google App engine provides more services built on top of infrastructure services and cloud software service providers like sales force provides services at higher level than platform services.

Getting the power of cloud computing ...

Monday, May 10, 2010

SaaS(Software as a Service) versus Cloud

Many of us will have this doubt in mind , what is a SaaS(Software as a Service) application?, what is cloud application? Can I say all SaaS application are cloud applications? , or the vice versa is true , how both of these applications are interrelated..
Does all cloud applications provide SaaS type of service? When I develop an application say in Windows Azure or Amazon EC2, will I get the appliation in SaaS model? The answer is big No.
When we define cloud computing we say SaaS as one of the services of cloud computing , what does it mean then? Let us try to understand what is SaaS ? SaaS is Software as a Service in which the application is available as a service , where in a new customer wants to use that application for his usage, he can just pay and on board as a tenant to the SaaS application , do some level of customization available and use that for his use with the specified level of data security and isolation needed, so how this SaaS type of application is related to cloud computing?
Designing SaaS type of application is comparitivily difficult to design and implement because of its extensive functionalities. High availability and massive scalability are some of the basic requirements of SaaS type of applications and cloud computing techiques helps to solve the high availability and scalability in a simple way.
To say in a simple way, cloud computing enables to build SaaS applications easily , SaaS enablement is achieved easily through cloud computing techniques.

Tuesday, March 16, 2010

Cloud computing segments

cloud computing solutions can be classfied into three broad segments, solutions on private cloud or public cloud or hybrid cloud.

Enterprise customers who already has datacenters in place that will prefer to migrate their datacenters into private cloud , also companies that faces security as top most concern and takes no excuses unless they find any proven record on using public cloud , they will prefer to take their path towards private cloud solutions.

Companies that operates on huge amount of data and do manipulations on those data on temporary and permanent basis and want to share the data among business will prefer to go for utilizing public cloud storage and computing. For example media and entertainment companies will prefer to move towards public cloud where they can store and share huge data in widely spread public cloud.

Companies that has some medium level data centers and want to extend to public cloud on need and for less critical applications will prefer to migrate to build hybrid solutions.. for examples corporates can build a medium level data center for high critical applications and use public cloud for less critical applications.. that way they can manage concerns on security as well as costs.

In the fore coming I will talk about players in private cloud ,public cloud etc..