1 Introduction to cloud native


This chapter covers

  • What the cloud and cloud computing model are
  • The definition of cloud native
  • Characteristics of cloud native applications
  • Culture and practices supporting cloud native
  • When and why you might consider the cloud native approach
  • Topologies and architectures for cloud native applications

Cloud native applications are highly distributed systems that live in the cloud and are resilient to change. Systems are made up of several services that communicate through a network and are deployed in a dynamic environment where everything keeps changing.

Before diving into the technologies, it’s fundamental to define what cloud native is. Like other buzzwords in our field (such as agile, DevOps, or microservices), cloud native is sometimes misunderstood and can be a source of confusion because it means different things to different people.

1.1 What is cloud native?

1.1.1 The Three Ps of Cloud Native

1.2 The cloud and the cloud computing model

1.2.1 Infrastructure as a Service (IaaS)

1.2.2 Container as a Service (CaaS)

1.2.3 Platform as a Service (PaaS)

1.2.4 Function as a Service (FaaS)

1.2.5 Software as a Service (SaaS)

1.3 Properties of cloud native applications

1.3.1 Scalability

1.3.2 Loose coupling

1.3.3 Resilience

1.3.4 Observability

1.3.5 Manageability

1.4 Culture and practices supporting cloud native