Vadym Fedorov is a Solutions Architect at SoftServe, a leading global software application development and consulting company, and a regular blogger on the SoftServe United blog. Vadym has 12 years experience in enterprise application development, as well as 2 years’ experience in Cloud and operations optimization.
No matter how non-IT-oriented you are, the word “cloud” has definitely reached your life, especially if you’ve got a share in business. Cloud services became an important tool for reaching such business goals as:
- Speed up time to value process
- IT infrastructure cost optimization
- Productivity improvements
- Global service delivery.
Today, cloud vendors provide a wide range of services which are supposed to significantly save costs and provide unparalleled business value. However, how true is that? How to choose a right cloud vendor that really meets your business needs and won’t leave decision makers disillusioned?
Having clearly defined your company’s business goals, here are the most crucial factors for you to consider while choosing a cloud provider.
1. Choose between Infrastructure as a Service (IaaS) and Plaftform as a Service (PaaS)
Both types of services have their pros and cons, so think of the direction you want to embark in your business. IaaS is a self-service model where cloud vendors provide compute, storage and network resources that can be used as a remote data center. This model fits the following cases:
- When you need to migrate legacy system from the on premise data center to a cloud
- When you want to avoid cloud vendor lock in and have a future plan to change your cloud provider
- When you need a high level of control over your cloud infrastructure that facilitates management of infrastructure aligned with your needs.
In its turn, PaaS is a self-service that brings application development framework that solves problems of cloud applications development and deployment. Since it doesn’t explain to users how to manage and build infrastructure on the cloud, PaaS enables developers to focus on application development by the same means saving time and resources on cloud infrastructure planning and deployment. This service is suitable for the following situations:
- When you don’t have system operations team or don’t want to spend time on cloud infrastructure management
- When you need to increase developers productivity
- When you don’t need to have full control of your infrastructure
- When you need to decrease application’s time-to-market.
The downside of the PaaS model is that it limits you to a specific vendor, and migration to another cloud can take significant amount of efforts.
2. Make sure that network service meets your needs
If you plan to build a hybrid cloud that assumes connection between your data center and cloud infrastructure, or you deploy an application or infrastructure that shall meet legal regulations like HIPAA, review network service features and make sure that:
- Network service provides VPN connectivity compatible with your legacy data center devices and software
- You are able to define manage network configuration as you need, for example you need to be able to create public and private networks and manage network addresses ranges
- If necessary you will be able to terminate SSL connection on the Web Servers or configure encrypted communication between VM instances.
3. Check cloud service limits and look for ways to push them
All cloud providers are focusing on a certain usage scenario and have limits on the number of the Virtual Machines, Load Balancers and other service instances. Cloud providers are doing capacity planning based on an average usage scenario and in case your solution requests more than the standard limits allow, you will have to send a request justifying why you need additional resources, how you are going to use them and for how long. Cloud providers usually need several days to review a request, so keep this in mind when you are planning deployment on cloud. Also, take into account that there are soft and hard limits. Soft limits can be increased by requests; hard limits remain unchanged.
4. Select options for support access
When deploying infrastructure on a cloud, you are limited in the management capabilities, so you have to choose what level of support is required for you. As a free option, cloud providers let users contact support through official forums or stackoverflows; however, for enterprise users it may be unacceptable since it requires payable support subscription allowing you to submit tickets and get responses in predictable SLA.
5. Check authentication, authorization and audit trail functionality for cloud management interfaces
Role based access management is useful for those cases when different departments or outsourcing vendors need to be in the position of managing certain parts of your cloud. Definitely it’s required to be able to revoke access to users or groups of users. The audit trail functionality is important for keeping track of who, when and why introduced any changes. For enterprises it is important to integrate users and groups management with the existing Active Directory or LDAP.
6. Mind security and compliance
For business areas like finances or healthcare it is mandatory to make sure that cloud provider are compliant to the government regulations and have all required certificates.
7. Take into account cost and discounts
Selecting cloud services and usage scenarios allows you to estimate costs for the cloud services usage. Cloud providers “tailor” your pricing model by default; however, at the same time they offer different options of getting a discount. Typically, you can get discount if you pay in advance for a specific amount of resources in a certain data center for the agreed period of time. Another example of getting a discount is establishing a partnership with a cloud provider or buying a long-term subscription. The discount models are based on long-term contracts and can help significantly decrease costs of the cloud infrastructure. So, considering cloud provider pricing models and all the discount options, draft a plan of cloud services usage.
Let’s say you made a choice. What comes next? In order to convince decision makers that your choice is “the one and only”, make sure you clearly demonstrate the following aspects:
- Problem you are to solve
- Costs which include:
- Costs for the transition to the cloud
- Cost of the cloud infrastructure
- Operational costs for the cloud infrastructure support
- Benefits that this cloud solution will bring to the organization
- Clear and transparent road map to deploy the solution on cloud and preliminary plan of application support after deployment.
A detailed analysis of the cloud provider features and costs presented in the form of a business case can help convince decision makers that deployment on cloud will definitely meet the company’s business needs.