Don’t Let Your Cloud Strategy Become A Storm

Tim Hope

Tim Hope

Chief Technology Officer, Versent

You’ve finally got your company to have a cloud-first strategy… you’re moving to the cloud. Finally! Suddenly everyone starts throwing buzz words around like; hybrid-cloud, stratus, multi-cloud, FaaS, poly-cloud, cumulus. Everyone has a very different idea to what the company’s cloud-first strategy means.

Remember, the organisation wants to shift to cloud to improve reliability, save money, resolve tech debt, and accelerate business growth; and adopting the wrong strategy can very quickly mean complexity skyrockets along with delivery times and costs.

If you want to be a cloud hero at the end of the day, and deliver your organisation into a cloud-first future, it’s important to understand when and where to apply different strategies, what those different strategies imply in terms of benefits and risks.

First: Some Definitions

We are going to need to start with a few definitions, if you google these terms, you will very quickly realise that everyone’s take on cloud types is very different. Luckily there are a few common threads emerging in the industry.

Cloud Computing.

There are 1000’s of definitions for this, let’s take the AWS one;

Cloud computing is the on-demand delivery of IT resources over the Internet with pay-as-you-go pricing. Instead of buying, owning, and maintaining physical data-centres and servers, you can access technology services such as computing power, storage, and databases, on an as-needed basis from a cloud provider”.

Notice the focus for cloud computing is related to technology services, not business services. There is a strong under-tone of the term as-a-service – provided in a similar fashion to all the consumers, such as pay-as-you-go, use-it-as-needed, and so on. While it is clear in this definition, cloud computing also includes a control plane which manages these services and is a key component of making cloud environments work.

This raises the next question…

What’s the difference between IaaS, PaaS, and SaaS?

Let’s not cover all the other As-A-Service, and they pretty much are deviations of the main three ones. Let’s use the Gartner ones here.

IaaS

IaaS (Infrastructure as a service) is a standardized, highly automated offering in which computing resources owned by a service provider, complemented by storage and networking capabilities, are offered to customers on demand. Resources are scalable and elastic in near real-time and metered by use. Self-service interfaces, including an API and a graphical user interface (GUI), are exposed directly to authenticated customers or consumers. Resources may be single-tenant or multi-tenant, and are hosted by the service provider or on-premises in a customer’s data-centre.

PaaS.

PaaS. (Platform as a service) is a type of cloud offering that delivers application infrastructure (middleware) capabilities as a service. PaaS capability can be delivered as provider-managed or self-managed, multi-tenant or dedicated. Examples of a PaaS service would be Redshift, RDS (database as a service), or S3 on AWS, Azure AD, SQL Server, or Synapse on Azure, and BigQuery, Cloud Storage, Vertex AI on GCP

SaaS.

SaaS. (Software as a service) is software that is owned, delivered, and managed remotely by one or more providers. The provider delivers software based on one set of common code and data definitions that is consumed in a one-to-many model by all contracted customers on a pay-for-use basis or as a subscription based on use metrics. Examples of SaaS platforms are Salesforce, Office 365, Workday, Gmail, etc.

Providing each type, they can be defined as follows:

  • Infrastructure as a service (IaaS) includes infrastructure, servers, storage, networking.
  • Platform-as-a-service (PaaS) is ready for application teams to consume, but needs to be built upon
  • Software-as-a-service (SaaS) is an application ready to start running a business process.

Once you have the definitions sorted, it’s going to start becoming easier to convey and get on the same page. Your business is going to leverage cloud which enables on demand technology services that can be consumed on these three different models, IaaS, PaaS, SaaS provided by a cloud hyper-scaler.

Ok. But what is a Hyperscaler?

Hyperscalers provide cloud, networking, and internet services at scale by offering organizations access to infrastructure via an IaaS model. Examples of today’s hyperscalers include Google (GCP), Microsoft (Azure), and Amazon (AWS). These large companies are continuing to rapidly grow in geographic locations as well as continuing to grow in terms of the breadth and depth of the capability on offer.

Now the question in your cloud strategy is how you introduce cloud to your business. What are the different approaches and benefits?

Single Cloud

Let’s start with “Single Cloud”. This is the simplest way to adopt cloud and generally refers to adopting the IaaS and PaaS services on one of the leading cloud hyperscalers. This is generally regarded as the simplest path adopting a majority cloud ecosystem in your enterprise. It has these characteristics:

Adoption Speed Fast
Adoption Risk Low
Comparative Adoption Cost Low
Capability Upift High & Enterprise wide
Org Change Medium
Maturity Required Low
Benefits Constrained

Benefits Constraints
Ideal for migration from on premise infrastructure. IaaS is similar to the on premise VM farm. Unable to support availability higher than cloud providers
Only require to setup networking, security, and other infrastructure services with one provider Some services may not be best in class
Simplified training for teams May not support all locations/regions required by the business
Commercial centralisation resulting in high provider commitment Can be hard to attract the right talent looking for breath of cloud experience
Simpler to run and operate with a lower awareness and ability to adoption other cloud services

Hybrid Cloud

Many customers don’t move all their services to the cloud in a single motion or only want to introduce public cloud to provide specific capability to their organisation. These companies end up operating in a hybrid-cloud environment. For large companies this may end up in an ongoing state, for smaller businesses it should be viewed as an interim step. Ideally, a cloud strategy based on a hybrid cloud model should work to move away from a hybrid-cloud or have a very defined view of the capability or deadline that should be consumed, otherwise it leads to a highly complicated ecosystem when left to organic expansion.

Adoption Speed Medium
Adoption Risk Medium
Comparative Adoption Cost Medium
Capability Uplift Specific & Application centric
Operational Complexity Medium
Org Change Impact Low
Adoption Risk Medium
Cloud Maturity Required Medium

Benefits Constraints
Introduces cloud capability without a large cloud program.Multiple providers often provide the same capability
Can bypass IaaS cloud services and only introduce PaaS and SaaS base services This does introduce disparity between provisioning time of the on prem vs the public cloud services.
Reduced need for skills and training uplift. Due to the adhoc adoption, core foundations aspects are often bypassed or setup for only a team.
Enables certain teams to move faster than the rest of the organisation. Complexity in managing hybrid environments both technically and across multiple support teams
It does reduce the need for new teams or operating structure changes. It can be difficult to support end-to-end devops automation with multiple locations for workloads present
Difficult to integrate between on premise and cloud services due to the dynamic nature of cloud.

One important point is that Hybrid cloud is often defined as containing both public and private cloud(s). Which brings into question: What is Private Cloud?

If Public Cloud is cloud computing that is available to the public, then private cloud is cloud computing that is owned and controlled by a single customer. The infrastructure and control plane of the cloud is private. If we look back at the definition of cloud computing, it is extremely difficult to build and continue to manage a private cloud when comparing against the definition of what makes cloud computing beneficial – on-demand delivery of IT resources, Pay-as-you-go, use as-needed.  Private cloud usually boils down to locally deployed or owned hardware, usually a VM farm, which generally lacks a lot of the benefits found in the hyperscalers. As the cloud hyperscalers address an increasing array of usecases, they are starting to offer edge and locally deployed infrastructure that have the benefits of the cloud control plane. Overall, Hybrid cloud usually results in a Public Cloud infrastructure connected to an on-premises Virtual Machine farm as a Public Cloud capability matures the need for this model will reduce.

Multi-cloud

The next common strategy is the multi-cloud strategy. You might ask what is the difference between a hybrid cloud and a multi-cloud strategy? While a hybrid cloud is around introducing cloud to the ecosystem either permanently or as a steppingstone, multi-cloud generally refers to introducing more than one cloud hyperscaler at once with the goal to move the majority of workloads to a cloud.

Adoption Speed Slow
Adoption Risk High
Comparative adoption Cost High
Capability Uplift Generic and Enterprise wide
Operational Complexity High
Org Change Impact Medium
Cloud Maturity Required High

Benefits Constraints
Supports a larger number of geographic locations. Ability to achieve architecture state is complex and generally the effort is underestimated.
Reduced cloud supplier risk. Generally, focussed on IaaS and driving the use common services. It may lack the ability to adopt higher order cloud services.
Engineering teams develop a high and broad set of capability. Often needs to adopt a traditional cloud management platform or container platform to delivery.
Meets regulatory requirements around supplier risk and recovery. Can’t leverage cost savings of the PaaS services or larger commercial contracted.
Offers the organisation more choice and best of class capability. Increased supplier management complexity.
High cost for the high engineering skills and capability requirement.
Similar services are enabled on multiple cloud providers.

With a multi-cloud strategy there are some key use cases where it is an important approach. It generally focuses on moving IaaS capability, rather than the replatforming and refactoring of applications. This means the cloud non-functional requirements such as networking, security, compliance, and operational processes need to be created for more than one cloud provider. This can be a considerable effort to build and maintain.

The goal with multi-coud is to move most of the workloads away from on premise, once this is complete, there is more than one cloud provider to run and operate which adds obvious cost and complexity.

Always challenge this approach before starting. Do you really need supplier diversity? Do you need extremely high uptime (Five Nines = 99.999%) or would a lower SLA work (Four Nines = 99.990%)? Does the organisation have the ability to complete the migration and run this?

Often multi-cloud has requirements around cost arbitration and portability to move from provider to another. This looks great in PowerPoint, but is hard to achieve and generally lacks the value or executability in reality. Once you are in the cloud, the game changes from getting out of the data centre into adopting higher order PaaS and SaaS services. This is where the PolyCloud strategy comes into play.

PolyCloud

Rather than taking a multi-cloud approach, single-cloud or even a hybrid-cloud approach, which usually a mainly infrastructure view on cloud adoption. PolyCloud takes an application view on cloud adoption. Not a single application view, but a view that allows all your applications in the enterprise to adopt cloud with the right control plane and application-lead outcomes. PolyCloud focus on rebuilding your applications into the cloud utilise the best of class services offered by the different cloud providers.

Adoption Speed Medium
Adoption Risk Low
Comparative Cost Medium
Capability Upift Specialised & Enterprise wide
Org Change Impact Medium
Operational Complexity Medium
Cloud Maturity Required Medium
Benefits Constraints
Mix and match best of class cloud services Cloud-to-cloud connectivity complexities
Optimise and architect for both cost and performance Management of multiple cloud providers
Focus on the SaaS and PaaS services, reducing the need to manage IaaS services Reduction in the ability to use cloud native capability for deployment and management functions
Better alignment to business objects and product development Harder to leverage total contract value for commercial discounting
Faster speed to market Easy to over engineer and over optimise solutions
Requires more effort to build and architect services
Increase operational complexity for troubleshooting

Migrate in stages

PolyCloud is not without its own complexities and should be considered as a phase 2 step to cloud adoption after a single or hybrid cloud phase 1 and once the business-case for a more complex PolyCloud environment is clear. This ensures you have started your organisation transition to support and operate in the cloud, the benefits of the move have started to be realised, and the investment increase sits within an acceptable range.
When building the control plane required to operate this type of ecosystem, consideration is required for these key capabilities

  • DevOps automation tools
  • Observability platform
  • Networking connectivity
  • Security & Identity
  • Data replication and data sharing
  • Backup and restoration processes

To summarise these cloud adoption strategies;

  • Multi-cloud represents a strategy to move your infrastructure out of the data centre.
  • PolyCloud represents a strategy to move your applications into the cloud.

At Versent we call our approach introducing cloud to your organisation, Modern Cloud. It supports the development of cloud foundations that enable you to manage and operate cloud into your environment, how you architect cloud native application, select cloud-ready software partners, as well as how to training and develop cloud skills with an operating rhythm that enable you to adopt an un-constrain cloud ecosystem to accelerate your business.