Containers + Serverless: Cloud Native Bimodal

Cloud Native Bimodal is a strategy to leverage containers and serverless cloud platforms under a singular operational model, to drive agility and efficiency to better meet the needs of the organisation.

Containers + Serverless: Cloud Native Bimodal

Around 2015, Gartner started to promote the idea of a bimodal IT organisation, with mode 1 effectively being ‘as is’ operations for existing infrastructure, and mode 2 being newer, modern, agile techniques and platforms.

A bimodal approach has the effect of promoting the idea that legacy infrastructure and operations are sufficient for existing systems, whilst supporting the innovation lab movement, which for most corporations is innovation theatre, at a hefty cost with little return. This approach prevents any real change in organisations, and in a world where the majority of IT budgets are spent on maintenance of existing infrastructure, it does little reduce that.

In the Gartner definition of Bimodal, the use of container and serverless technologies would be in the mode 2 operations bucket. That’s where new agile platforms and associated operational practices are used for new initiatives. Real world use tells a different story. The organisations reaping the most benefit from cloud platforms and agile operations are those that go all in.

Two case studies that prove big doesn’t mean hamstrung

Nordstrom, the 119 year old, $15 billion-a-year revenue retailer publicly stated they were going all in on AWS in 2015. Initially, they started down the route of many organisations moving to AWS, implementing automation and tools like Chef to automate their VMs in the cloud. At the same time container and serverless technologies were emerging. Nordstrom adopted both. Their first foray into containers was their homegrown container management solution, which has since been superseded by Kubernetes. They’ve achieved significant agility, with faster deploys and greater developer independence, whilst reducing their EC2 bill with AWS. Containers helped drive efficiency in their existing applications, without a major refactor. At the same time they were pioneering event driving architectures using serverless technologies, bringing new capabilities to the business. Doing all of this with a singular operational model of small teams, and developers pushing code to production via git-based workflows.

By using a singular operational model, container based platforms to drive efficiency and agility in existing applications, and serverless platforms to take advantage of new event driven paradigms, Nordstrom is able to be more responsive to its business needs whilst reducing costs, improving reliability and agility.

Nordstrom is far from alone in this. Vanguard, the 45 year old fund manager with $6.2 trillion assets under management, got up on stage at re:Invent 2019 to talk about their migration to AWS. The migration enabled them to “reduce the cost of computing 30 percent and deploy workloads up to 20 times faster, as well as improve resiliency and innovate quickly”. Like Nordstrom, Vanguard adopted a singular operational model, using containers (in the form of AWS Fargate) to drive efficiency in their existing applications, and leverage the event-driven nature of serverless platforms for stream processing.

Jeff Dowds, IT Executive at Vanguard, showing a high level view of the Vanguard infrastructure
Jeff Dowds, IT Executive at Vanguard showing a high level view of the Vanguard infrastructure at re:Invent 2019

These organisations are hardly alone. DataDog’s State of Serverless report found that 80% of AWS customers they surveyed who are using containers also used AWS Lambda. Containers + serverless is the norm, not the exception.

This is the cloud native pattern that works. A singular operational model with small empowered teams. Containers to drive efficiency in your existing applications, and Serverless architectures to become event driven.

Why use both?

Block diagram showing how cloud native operations, containers and serverless work together

Why is this the model? Why not use containers for everything? Why not serverless all the things? Why not different operational models for the different areas?

A singular operational model is key. The DevOps Research Agency (DORA) in its annual State of DevOps report identifies organisations into four clusters of operational practices: low, medium, high and elite. The organisations that are successfully achieving the outcomes of improved efficiency and agility whilst reducing costs share the same characteristics of high and elite performers. The 2018 DORA State of DevOps report found that an elite performer’s use of cloud was 23x more likely to meet the five cloud characteristics of on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service as identified in the NIST definition of cloud. The 2019 report found this had grown to 24x more likely. Essentially, elite performers were significantly more likely to fully utilise the cloud.

By adopting the practices of an elite performing organisation you will be in a better place to leverage container and serverless cloud native platforms.

A different type of bimodality

The decision when to use a container or a serverless platform has some nuance to it. Containers are a great place to replatform existing applications. They give you isolation, a portable image format, and great resource efficiency; all of which can be achieved without rewriting any application code.

Serverless applications on the other hand give you all those same benefits, but to a greater extent, combined with the advantage of being truly event driven and pay per use, with the caveat that the application model will require a refactor in most cases.

Serverless applications have a lower cost and operational overhead than any other model, but they come with the cost of significant change. When it comes to migration, the tension between these factors comes into play with containers often winning because the cost of change to serverless outweighs the benefit. Serverless migrations are most common when there is another driver to refactor an application beyond replatforming for efficiency.

Cloud Native Bimodal is a strategy to leverage containers and serverless cloud platforms under a singular operational model, to drive agility and efficiency to better meet the needs of the organisation.

Containers allow you to migrate quickly, serverless allows you to push your architecture further. Cloud Native Bimodal will dramatically improve the ability of your technology investment to meet your business needs.