Public cloud computing provides users 24x7 access to an organization's applications and IT resources, using the Internet. A successful public cloud computing deployment requires careful preparation, as well as a thorough knowledge of public cloud providers and their offerings.
A good understanding of the applications to be migrated, and a vision to reduce expenditure is imperative to gain maximum benefits. This has to be present right from the transition between CAPEX to OPEX; after this stage, the focus should be on how to reduce OPEX. Use the four-stage process described below to plan your public cloud computing deployment.
Step 1: Assessment
Cloud computing services are made up of three components: Infrastructure as a Service (IaaS), Platform as a service (PaaS), and Software as a service (SaaS). Assess which applications you want to migrate, and which of the three public cloud computing components you need — Iaas, PaaS, or SaaS; or is it a combination of the three?
Mission critical applications are not generally suitable for use on public clouds due to privacy concerns and data governance norms. Non-mission critical applications such as email and operations software make better candidates. It may be a good idea to create a heat map showing the risks and benefits of adopting public cloud computing services to help you understand which apps are easy, and which are more difficult or risky to migrate.
Step 2: Standardization
Standardization refers to mapping on-premise requirements on to the public cloud computing requirements. Using a public cloud will require hardware and software configuration changes at your end. For example, with IaaS, hardware images and infrastructure configurations need changes. With SaaS, application settings have to be configured.
Study the public cloud computing provider's service plans. Pricing plans come in many flavors. For example, Microsoft’s BPOS/Office 365 has user-based pricing. In such situations, perform capacity planning for your server, application instance, and user requirements.
Step 3: Migration
There are three stages to the exhaustive migration process:
You might want to customize your applications to suit the public cloud computing environment. Some platforms such as Azure provide an easier migration process, but in Google App Engine, you will need to modify your application code to suit their platform. In SaaS, user interface changes will be required. IaaS modification depends on the public cloud computing provider. For example, if you select Amazon, you will need to ensure your VPN settings are customized according to your requirement.
This phase is extremely important, as it addresses security concerns. Define your security requirements and find out which of them are being addressed by your public cloud computing provider. Make sure the public cloud computing provider and/or your applications have all necessary controls, security measures, and redundancy against major threats.
Most public cloud computing providers provide built-in firewall and anti-virus. For example, Microsoft Exchange Online comes with built-in forefront protection. However, additional anti-spam engines may have to be considered so that the missed spam mails don’t enter the exchange servers.
In PaaS, when you’re developing your applications, threats such as SQL injection need to be robustly taken care of.
The first step in deployment is to package your data according to the public cloud computing provider format. Azure and Google App Engine require packages to be created and uploaded. In case of IaaS, Amazon is easier as you only need to get your installables. With regards to SaaS you only need to setup.
The second step is to hire administrators and set up the necessary controls for logs and statistics. The administrators should be made familiar with the public cloud computing provider's administration screens.
Finally, applications and user data can be migrated to the public cloud. Some of your data can't be placed on a public cloud, depending on your legal compliance needs. User data (authentication and authorization information) migration is very important. With the advent of single sign-on and federated authentication protocols, most public cloud computing providers now support these protocols. It is more appropriate to use these systems, rather than migration of identity information.
Step 4: Optimization
After deployment, you will need to constantly monitor and automate processes to ensure that applications perform optimally on the public cloud computing platform.
Processes on public cloud computing setups can be optimized by proactively looking at previous statistics and making suitable adjustments. With Microsoft Exchange Online, for example, the archiving process can be optimized to ensure that the organization takes only those backups that are not guaranteed by Microsoft.
You can also suggest other best practices to the public cloud computing provider to eliminate any issues. For instance, if you’re using a workflow-based application, the manual approval process can be automated using options like solutions from SalesForce.
About the author: Yusuf Rangwala is a technical architect with Syntel’s cloud labs. He has extensive experience in architecting enterprise applications on the Microsoft .Net platform. As part of the Syntel cloud consulting team, Rangwala provides consulting on migration to Windows Azure and BPOS platforms.
(As told to Mitchelle R Jansen.)