Skip to main content

Cloud Native

Recommendation
Updated
Moved
USE
2021-09-08

What is it

Cloud Native is a methodology for designing and building applications that take full advantage of cloud computing.

The term has many different definitions in different contexts, but some common denominators are:

  • Using containerized applications and workloads
  • Using container orchestration to run microservices as distributed systems
  • Using automation to provision and manage infrastructure resources

CNFC definition

The CNCF (Cloud Native Computing Foundation) has developed an official definition of the term:

Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.

These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.

When to use it

At Einride, we currently apply the Cloud Native methodology in Google Cloud Platform with the following added principles and guidelines:

  • Using fully managed infrastructure to minimize need for operations
  • Decentralizing ownership of cloud resources at the team-level
  • Making careful use of vendor-specific products when they provide leverage

Examples

Cloud Run over GKE

The principle of using fully managed infrastructure can currently be observed in our preference toward the managed Cloud Run platform for microservice orchestration, as opposed to for example Kubernetes on GKE.

App-specific projects owned by teams

The principle of decentralizing ownership of cloud resources at the team-level can currently be observed in our project and IAM architecture, where teams own and manage app-specific projects.

Cloud Spanner

The principle of making careful use of vendor-specific products can be observed in our current usage of Cloud Spanner as our main operational database, minimizing operations overhead and achieveing robustness via managed backups.