Are you also frustrated with nearly every technology being referred to as ‘Cloud’? The popularity of calling something ‘Cloud’ has massively increased due to the benefits associated with the technology. While there is a new breed of technology emerging from start-up innovations, there is also a rise in established on-premise vendors repackaging their software as cloud tech. So are all clouds created equal?
To answer this question, I defined a Technology Cloudscape using two lenses:
- Platform delivery – describes how the cloud technology delivers its service using a continuum of dedicated managed systems at one end of the spectrum and full multi-tenanted platforms at the other. Managed systems scale to their largest possible customer whereas multi-tenanted platforms are built to scale for every customer simultaneously.
- API Service Coverage – describes the level at which the platform can be accessed through APIs. Is the platform built using an API first approach with APIs organized into complete sets of granular micro-services? I.e. can everything be done using an API? Alternatively, light API coverage means that only parts of the system are available through a thin API layer. Many functions need the UI or can only be achieved through server-side development.
When mapping out the Cloudscape with these dimensions, four distinct quadrants emerge that can describe four types of Cloud tech:
Managed service with low API Coverage
Towers are large monolithic managed systems formed from layer after layer of software and systems (the ‘Stack’) with the slightest stratum of API cloud cover at its apex. Towers are often created when on-premise systems are packaged wholesale to run on managed infrastructure. Cloud towers can be identified by the massive amount of features and functionality that can only be accessed through various lower software layers in the stack.
Towers can take away the pain of managing your own infrastructure but come at a cost:
- Before Towers can be used, they require a fair amount of construction time for systems and software configurations.
- Towers upgrades are not automatic. They require costly, complex and risky migrations as most Towers end up being customer developments with masses of server-side code.
- The dominance of server side development means code changes require long complex releases cycles.
- There are cost and performance benefits that are usually associated with the economies of scale of large scale distributed shared cloud infrastructures. However, getting to high availability and redundancy levels requires significant investment.
- Towers are strong in delivering one vertical channel; however, multi-channel delivery is very challenging.
- Integrating with other systems is far more difficult due to the level and granularity of API coverage.
- Large organizations are in danger of just building more Towers to respond to the demands of other strategic projects that cannot be met on time by extending the main tower.
Multi-tenanted with low API Coverage
Icebergs, like Towers, are also very large feature rich monolithic systems, but unlike Towers they are architected to accommodate an entire customer base. Most Icebergs I have seen have arisen from the early cloud pioneers that have continued to invest heavily in infrastructure and features at the expense of software architecture and API development.
Icebergs are a better bet than Towers, as you gain from their large scalable distributed infrastructures with solid SLAs. However, the lack of API Coverage comes with its own drawbacks:
- As with Towers, the dominance of server side development means code changes require long complex releases cycles.
- The closed nature of Iceberg architectures often means developers require specialist skills, tools and knowledge of proprietary languages – developers can be hard to find and therefore more expensive.
- Although integration with other systems is challenging, the shared nature of the platform architecture lends itself to reuse – technology ecosystems start to evolve on icebergs providing plugin and accelerator marketplaces.
- If multi-channel is provided it is often limited using either a small set of dedicated APIs forming little iceberg peaks, or integrations below the waterline using server-side development.
Managed service with high API coverage
Factories focus less on infrastructure and more on architecting software into discrete components that are all nicely wrapped in API services. This approach means that packages of technology can be built on automated production lines that churn out shrink-wrapped instances at super speed. Factories often evolve from on-premise systems that had already invested in API developments before moving to a cloud, or businesses that shrink-wrap open source tech into managed services. The API coverage of manufactured instances provides great platforms for developers that are easy to integrate, but suffer from the downsides of managed services:
- The packaging instances make their scaling abilities and SLAs for high availability and redundancy difficult to achieve without a fair amount of investment.
- No cost and performance benefits from the economies of scale of large scale distributed shared infrastructures.
- Upgrading to new versions of the production line does not happen automatically as migration processes are needed to move data between instances. However, unlike Towers, there is no need to migrate risky server side developments.
- The general nature of packaged instances produced by Factories tends to lead to lots of smaller siloed applications for each line of business.
Multi-tenanted High API coverage
As the name suggests, these technologies really have fully embraced the concept of cloud at every level. They use large scale cloud infrastructures and processes to reliably deliver their multi-tenanted platforms at scale, confident in their ability to deliver services with very robust SLAs. True Cloud providers tend to adopt the API-first philosophy meaning that all platform interactions are achieved through granular APIs (micro-services) using open standards. This, alongside the benefits of a scalable multi-tenanted architecture, results in:
- Simplified integrations.
- Ability to easily deliver to multiple channels.
- Greater business agility due to more rapid development cycles.
- Access to open source developer communities.
- Constant innovation through automatic upgrades.
- Ability to shared data, assets, development and processes across various lines of business within larger organizations, meaning no silos.
John Williams, CTO, Amplience. Follow John on Twitter here or on LinkedIn here.Back to top