Feedback

Chat Icon

Painless Docker - 2nd Edition

A Comprehensive Guide to Mastering Docker and its Ecosystem

1%

Preface

Imagine a world where you can run the same software everywhere-on your laptop, in testing environments, and in production-without worrying about inconsistencies or dependencies. Think of a world where your development, testing, and deployment processes, with their complexities and pitfalls, are simplified into a predictable and repeatable workflow. This is the promise of the new cloud-native era.

The term "cloud-native" has become a buzzword in the industry, often misunderstood or misused, and mainly associated with cloud computing and most notably with public cloud providers like AWS. The term "cloud" itself is misleading. You ask a non-technical person what the cloud is, and they might think of their Dropbox or Google Drive. You ask a business-oriented person, and they might think of outsourcing IT infrastructure to a pay-as-you-go service.

Clearly, the definition and understanding of the cloud vary widely, but they share a common theme: cloud is about where your data and applications live. This is a fundamental misunderstanding.

Since the deep roots of the term "cloud" are technical, its true meaning lies in the technology behind it, more precisely, in how applications are built and operated. Paul Maritz, former CEO of VMware, put it succinctly: "Cloud is about how you do computing, not where you do computing." That's the essence of cloud: computing designed to leverage the advantages of modern infrastructure, enabling scalability, resilience, and agility. In addition to that, the cloud isn't necessarily tied to AWS, Azure, or GCP - it can be implemented using any infrastructure: from the moment your infrastructure is software-defined and you have the tools to automate its provisioning, scaling, and management, you're already headed in the right direction toward the cloud. The cloud is about the principles and practices of building and operating applications, not about the physical location of your servers.

With the right definition of cloud in mind, we can have a better understanding of what cloud-native means. Cloud-native is a natural evolution of cloud computing principles.

Indeed, cloud-native is an approach to designing, building, and operating software systems that assumes dynamic infrastructure, treats failure as normal, and relies on automation to achieve scalability, resilience, and rapid change.

Cloud-native systems are built from loosely coupled components (typically microservices), packaged and deployed in immutable units (typically containers), managed declaratively, and continuously reconciled by automated control planes rather than manual intervention.

Painless Docker - 2nd Edition

A Comprehensive Guide to Mastering Docker and its Ecosystem

Enroll now to unlock all content and receive all future updates for free.

Unlock now  $31.99$25.59

Hurry! This limited time offer ends in:

To redeem this offer, copy the coupon code below and apply it at checkout:

Learn More