Everyone has heard about the benefits of cloud and how it can accelerate your business, increase collaboration and boost security but with so many providers out there, who do you choose? There's familiarity with the big three - AWS, Azure and GCP, but this doesn't mean your search should end there; other providers, such as Heroku and OpenShift are out there too. However, your company will have unique requirements, which makes choosing a cloud provider overwhelming.
To help you out, we have compiled five of most important factors to consider when making this choice.
- 1. Target components and technologies for re-platforming
One of the main reasons to move to the cloud is for it to do some heavy lifting by swapping components to cloud services rather than managing them yourselves. Why manage your own database, load balancer or Elasticsearch cluster when the cloud can do it for you? In this case, choosing a provider that offers services that can replace some of the technology you manage is a sensible approach. For example, if you are heavy users of .Net and SQL Server, then Azure is a no brainer.
- 2. Look to in-house skills
Since AWS has been around for a while now, it's almost guaranteed that you will have some cloud skill in-house already. These skilled individuals should be included as part of your cloud strategy, as their knowledge will give you a leg up and help drive adoption across your organisation.
- 3. Think about jurisdictions
As many businesses are now global, different law and regulations in these regions must be adhered to. For instance, some data protection laws demand that data must be stored locally, meaning companies must deploy software in that region. Some cloud services may not be available in certain regions, so be mindful when choosing your provider that some critical features might not yet be available.
- 4. Public vs. Private
- As data breaches and cyber attacks become more frequent, companies are more security conscious than ever, making them believe public cloud services are more risky than private cloud operators. For instance, for some industries like Finance, there are tighter regulations which make private cloud a more attractive option compared to public. This may be true but private cloud offerings are typically more expensive and their global coverage is more restricted. In reality, most major banks and insurers have been using public cloud for years from providers such as, AWS, GCP and Azure, who provide "virtual privacy" (VPC/VNet) effectively. So remember, when choosing a cloud provider, public doesn't necessarily mean less secure.
- 5. It’s ok to change your mind - limit your blast radius
This doesn't mean try to fail rather than having a model that is flexible and can handle changes. If down the line you need to change your cloud provider, there are certain steps that can be taken to reduce the impact of change. Use techniques like blue or green deployments, adopt micro-services architecture, and use containerisation and orchestration (Docker/Kubernetes), which give deployment flexibility, allowing rapid change. Underpinning this with a winning combination of Infrastructure as Code (IaC) and automation allow you to change tack with minimal disruption. Remember, though, have automated tests for everything, including your infrastructure code and use tools such as InSpec and Kitchen Terraform to enable this.
It's easy to overthink this decision and spend weeks or months analysing each factor. If you handle your cloud adoption like any other agile project, take incremental steps and have automated tests for everything it's hard to go too far wrong. It's important to remember your products will need to evolve as technology, user expectations and buying habits do. Choose a cloud provider that will help you deliver value now but make sure your approach is adaptable to any future change.