DEV Community

Cover image for How to Select a Cloud Service Provider
Adrian Rolex
Adrian Rolex

Posted on

How to Select a Cloud Service Provider

Cloud computing is a core part of modern business infrastructure. Whether hosting websites, enterprise applications, databases, analytics and more, organisations are becoming increasingly reliant on the cloud.

Selecting the right cloud service provider can be a big decision. It can affect your security, performance, scalability, and cost of having the right technologies in place.

Many providers offer a wide array of cloud services. AWS, Microsoft Azure and Google Cloud to name a few. To find the right solution for your business, you should utilise a structured approach.

How to decide which cloud provider

1. Know Why You Need It

First understand why you want to use a cloud service provider.

Depending on your business you will have different priorities. For example, a start-up with their first application will likely care about cost and ease of use. Whereas large enterprises will care more about security, compliance, and availability.

Before looking for a provider ask yourself what you want from your cloud.

  • Do you want to migrate existing applications into the cloud?
  • Do you need infrastructure for a new application or website?
  • Are you looking to reduce your infrastructure costs?
  • Do you need your applications to perform better?
  • Will you see large increases in traffic?
  • Do you have any specific data protection or compliance requirements?

By asking these questions you can get a good understanding of what you want from your cloud.

For example, if you are an e-commerce company expecting large increases in traffic during seasonal periods, you may want to ensure you have auto-scalability and application availability. Whereas a financial services organisation, may care more about data protection, security and compliance.

Choose the provider that will help you achieve your business goals.

2. Understand your workloads

Not all applications will require the same type of infrastructure.

Some applications will need a different infrastructure such as a Content Management System, Enterprise Resource Planning application, Mobile application back-end and Data Analytics.

By understanding your workloads you can narrow down which providers and services are suitable.

  • What compute do I need?
  • How much CPU/Memory/Compute will your applications need?
  • What storage do I need?
  • How much data do you need to store? How often will it be accessed?
  • What type of storage do you need? (Object, Block or File).
  • What network requirements do I have?
  • How much bandwidth do you need?
  • Are there any latency issues?
  • Are you needing a secure connection between your applications and databases?
  • What scalability do I need?
  • Do your workloads have predictable growth or bursty traffic?
  • What compatibility do I need?
  • Are you needing your databases, development tools, APIs, and enterprise applications to be compatible?

This will stop businesses from choosing an unnecessarily expensive or unsuitable solution.

3. Security

Security of your infrastructure should be key to your decision.

When moving your applications and data to the cloud, you will want to ensure that your infrastructure, customer data and workloads are secure. However, most cloud environments have a shared responsibility. This means both the provider and customer have responsibilities.

Before choosing a provider, ask yourself:

  • Identity & Access: Can they provide identity & access management?
  • Data Encryption: Can they encrypt your data at rest and in transit?
  • Network & Firewalls: Can they secure their network and firewalls?
  • Backups & DR: Can they provide backups?
  • Security Monitoring: Can they monitor their security?
  • Compliance: Are they compliant with any certifications?
  • Data Protection: Are there any data protection requirements?

It’s also important to know what they are covering.

Just because they have infrastructure security does not mean your application, access, and data is all secured.

Ask for the relevant documents and ensure they are secure enough for your requirements.

4. Cost

Although cloud pricing can seem simple, there are many factors to take into consideration.

If you just compare the price of your virtual machines or storage you could end up with an inaccurate budget.

Try to calculate the total cost of ownership.

  • What compute will I need?
  • How much will storage, databases, data transfer, back-ups, security, licence, support, and management cost?

Take note of any data egress charges.

Just because a provider has a low cost for compute, if your application requires lots of egress it may not be the best option.

Look at the different pricing options.

The aim is not to choose the cheapest provider. But the one with the best value for money in the long run.

5. Performance & Uptime

Just because a provider has great global infrastructure doesn’t mean they will give you the performance you need.

Consider where your users are located, how often your application will be talking to your databases, and how sensitive your workloads are.

Consider:

  • Cloud Regions & Zones: Do they have suitable regions/zones for you?
  • SLA’s: Do they have suitable SLA’s?
  • Disaster Recovery: How often do they back-up?
  • What RTO/RPO do they have?
  • Scalability: Will they auto-scale?
  • Monitoring: Do they have monitoring?

Don’t rely on what they say their performance is. Try a proof of concept.

This way your technical team can see how it will perform.

6. Compatibility

Your cloud provider should be compatible with your current technologies.

Choosing a provider that isn’t compatible with your current technologies can cause extra work when developing your application.

Consider if they are compatible with:

Languages & Frameworks Databases Pipelines Monitoring Software APIs

Also consider if your developers and IT administrators have the experience to use the platform.

Sometimes the most technically advanced cloud may not be the best option if you don’t have the skills to utilise it.

Choose a provider that will fit your technical capabilities.

7. Vendor Lock-In

One of the biggest issues with choosing a cloud provider is the difficulty of moving away from the provider.

Vendor lock-in refers to becoming heavily dependent on a providers services/technologies.

This can cause expensive and complex migrations in the future.

Consider:

  • Can you export your data?
  • Are they using standard APIs?
  • Can you move your applications?
  • Are they compatible with containers/orchestration?
  • Are there any alternatives?
  • Can you terminate your contract and get your data?

Some organisations will benefit from using their managed services however this should be weighed up against the cost of moving providers.

You do not necessarily need a multi-cloud strategy. Having good documentation, data exports, and an exit strategy can give you flexibility.

8. Support

Your cloud infrastructure will need to be monitored and managed. Even if you have a well designed infrastructure things can go wrong.

Consider what support they can offer.

  • Do they have support?
  • How quickly will they respond and resolve the issue?
  • Do they have dedicated engineers?
  • Do they have good documentation?
  • Can they monitor their infrastructure?
  • How will they escalate any critical issues?

If you have mission critical applications then having a delay in support can cause downtime and loss of revenue.

It’s also worth considering their reputation, financial stability, and history. Are they transparent with their incidents?

9. Proof of Concept

Once you have narrowed down your list of providers try a proof of concept.

This will allow you to confirm that the cloud will meet your requirements.

Don’t try to test all the services. Just pick a representative workload.

For example, if you are migrating an existing web application you can test:

Application setup. Database connection. Application performance. Security & Access Management. Auto-scale. Back-up. Costs.

Record what you find and compare it to your requirements.

This will give you evidence to help you come to your final decision.

10. Use a Structured Approach

Having a structured approach will make selecting a cloud service provider more transparent.

Rather than giving everything the same weighting, give the criteria weighting based on your business requirements.

Below is an example:

  • Criteria Weighting Security & Compliance 25%
  • Performance & Uptime 20%
  • Cost of Ownership 20%
  • Scalability & Flexibility 15%
  • Compatibility 10%
  • Support 10%
  • Total 100%

These are just suggestions and will vary depending on your business. A regulated enterprise may give more weighting to security. Whereas a growing digital business may prioritise scalability and cost.

Score each of your shortlisted providers based on the criteria. Use evidence from your technical reviews, estimated costs, documentation, and proof of concept.

Also include any compromises, risks, or assumptions in your final decision.

This will allow you to use this approach for future workloads.

Final Thoughts

Selecting a cloud service provider is a long term decision. By understanding your business requirements, workloads, security, cost, and technical capabilities you will be able to make a good choice.

Most importantly make sure your choice is based on your requirements and not what they promise or what is popular.

Whether you are looking to migrate to the cloud for the first time or just reviewing your current strategy, using a structured approach can help you make a more informed decision.

For more details on choosing the right cloud platform, take a look at this guide on how to select the best cloud service provider.

Choosing the right cloud strategy is not about choosing the provider with the most features. It is about finding an environment that will help you today and be adaptable to your future requirements.

Top comments (0)