Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Cloud Native Development Patterns and Best Practices
Cloud Native Development Patterns and Best Practices

Cloud Native Development Patterns and Best Practices: Practical architectural patterns for building modern, distributed cloud-native systems

eBook
€20.98 €29.99
Paperback
€36.99
Subscription
Free Trial
Renews at €18.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Cloud Native Development Patterns and Best Practices

The Anatomy of Cloud Native Systems

In the first chapter, we identified that the promise of cloud-native is the ability for everyday companies to rapidly and continuously deliver innovation, with the confidence that the system will remain stable as it evolves and that it will scale to meet users' demands. Today's users demand far more than in the past. They expect to access applications around the clock from all kinds of devices, with zero downtime and sub-second response times, regardless of their geographic location. If any of these expectations are not met then they will seek out alternatives. Meeting these demands can seem daunting, but cloud-native empowers everyday teams to deliver on this challenge. However, it requires us to approach software architecture with an open mind to new ways of thinking.

In this chapter, we begin our deep dive into the architectural...

The cloud is the database

In the first chapter, I told the story of my first wow moment when I realized that we could run our presentation layer entirely from the edge with no servers. From that point on, I wanted to achieve the same level of scalability for the rest of the layers as well. Let's start this chapter with a continuation of that story.

Like many of you, for a significant chunk of my career, I implemented systems that needed to be database agnostic. The relational database was the standard, but we had to support all the various flavors, such as Oracle, MySQL, in-memory databases for testing, and so forth. Object relational mapping tools, such as Hibernate, were a necessity. We built large relational models, crammed the database schema full of tables, and then tossed the DDL over the fence to the DBA team. Inevitability, the schema would be deployed to underpowered...

Cloud native patterns

It is easy enough to say that we will architecture cloud-native systems based on Reactive principles and leverage event streaming to ultimately turn the cloud into the database, but it is another thing entirely to show how the pieces fit together. There is a relatively small collection of proven patterns that can be leveraged as templates to build cloud-native systems that solve a wide variety of valuable problems. Many of these patterns may already be familiar, but have cloud-native twists.

Each pattern describes a solution to a specific problem in the context of cloud-native systems and addresses various forces, issues, and trade-offs. The patterns are interrelated and thus can be pieced together to build systems composed of bounded isolated components. There are many ways to document patterns. Martin Fowler has an excellent summary of various pattern forms...

Bounded isolated components

We have defined the architectural vision for our cloud-native systems and enumerated the patterns used to build these systems. The next step is to decompose a system into bounded isolated components. However, “What is the right size?” is a fundamental question that everyone asks. Ultimately, every team has to answer this question for itself. You have to ask yourself how confident you are that you can continuously deploy and scale each component. If you cannot be certain of the implications of a given change to a component then the component is potentially too large. If you have to make compromises on the scalability and tuning of a specific component then it likely needs to be split apart. If the backlog of changes to a component starts to clog then this is an indication that it may need to be refactored into multiple components. The potential...

Summary

In this chapter, we learned that cloud-native systems are built on the principles of Reactive architecture. We use asynchronous, message-driven, inter-component communication to build resilient components that are responsive and elastic. Event streaming is the mechanism for inter-component communication. Components publish domain events to notify the system of their state changes. Other components consume these events to trigger their behavior and cache pertinent information in materialized views. These materialized views make components responsive by providing a dedicated cache that is continuously warmed. They act as bulkheads to make components resilient to failures in upstream components, because the latest known state is available in local storage. This effectively turns the cloud into the database by leveraging value-added cloud services, turning the database inside...

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Understand the architectural patterns involved in cloud-native architectures
  • Minimize risk by evolving your monolithic applications into distributed cloud-native systems
  • Discover best practices for applying cloud-native patterns to your enterprise-level cloud applications

Description

Build systems that leverage the benefits of the cloud and applications faster than ever before with cloud-native development. This book focuses on architectural patterns for building highly scalable cloud-native systems. You will learn how the combination of cloud, reactive principles, devops, and automation enable teams to continuously deliver innovation with confidence. Begin by learning the core concepts that make these systems unique. You will explore foundational patterns that turn your database inside out to achieve massive scalability with cloud-native databases. You will also learn how to continuously deliver production code with confidence by shifting deployment and testing all the way to the left and implementing continuous observability in production. There's more—you will also learn how to strangle your monolith and design an evolving cloud-native system. By the end of the book, you will have the ability to create modern cloud-native systems.

Who is this book for?

This book is for developers who would like to progress into building cloud-native systems and are keen to learn the patterns involved. Basic knowledge of programming and cloud computing is required.

What you will learn

  • Enable massive scaling by turning your database inside out
  • Unleash flexibility via event streaming
  • Leverage polyglot persistence and cloud-native databases
  • Embrace modern continuous delivery and testing techniques
  • Minimize risk by evolving your monoliths to cloud-native
  • Apply cloud-native patterns and solve major architectural problems in cloud environment

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Feb 09, 2018
Length: 316 pages
Edition : 1st
Language : English
ISBN-13 : 9781788473927
Concepts :

What do you get with a Packt Subscription?

Free for first 7 days. $19.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Feb 09, 2018
Length: 316 pages
Edition : 1st
Language : English
ISBN-13 : 9781788473927
Concepts :

Packt Subscriptions

See our plans and pricing
Modal Close icon
€18.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
€189.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts
€264.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just €5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total 110.97
Learning AWS
€36.99
Cloud Native Development Patterns and Best Practices
€36.99
Microservice Patterns and Best Practices
€36.99
Total 110.97 Stars icon

Table of Contents

11 Chapters
Understanding Cloud Native Concepts Chevron down icon Chevron up icon
The Anatomy of Cloud Native Systems Chevron down icon Chevron up icon
Foundation Patterns Chevron down icon Chevron up icon
Boundary Patterns Chevron down icon Chevron up icon
Control Patterns Chevron down icon Chevron up icon
Deployment Chevron down icon Chevron up icon
Testing Chevron down icon Chevron up icon
Monitoring Chevron down icon Chevron up icon
Security Chevron down icon Chevron up icon
Value Focused Migration Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Half star icon Empty star icon 3.7
(3 Ratings)
5 star 66.7%
4 star 0%
3 star 0%
2 star 0%
1 star 33.3%
J Linton Jun 10, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
For anyone new to cloud native architecture and perhaps even those with significant experience, this book is an invaluable resource. The author, John Gilbert, has a fine grained knowledge of cloud native systems and has a real talent for breaking down and presenting that knowledge in a way that is clear, concise, and well organized. As a result, a topic that is hugely complex and difficult to hold in your mind becomes easy to follow and presented in way that leaves no stone unturned.Don’t get me wrong. This book is very dense and the subject matter difficult but the writing style makes it much easier to manage and assimilate.The examples in the book revolve around JavaScript, node, AWS, and Serverless framework, however I think the knowledge is presented in a way that the concepts are universal and could easily be translated to other languages, runtimes, providers etc.If you are using JavaScript, you will get extra little nuggets of wisdom like documenting your API’s using the Typescript interface pattern to make it clearly understood by other teams working with that api.The book covers the whole process of developing cloud native systems that scale globally from design all the way through deployment, testing, monitoring, and even securing your cloud systems. You can use this book as complete reference for the entire lifecycle.A few months from now, if I had an actual paper copy of this book, the binding would be completely cracked and creased from rereading each section as I build my own cloud native applications from scratch.Thanks John, great work!
Amazon Verified review Amazon
Matthew Savino Sep 05, 2018
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I've read quite a bit on microservice architecture and cloud and DevOps best practices recently. This book is easily the best I've come across.From the pieces I do have some experience with, the author's advice seems spot on. The author's takes on best practices are justified in clear, jargon-free language. The chapters are all meaty with real world examples. I predict this book going to become my bible as I try to build out our microservices platform on AWS.
Amazon Verified review Amazon
Shazambom Mar 16, 2019
Full star icon Empty star icon Empty star icon Empty star icon Empty star icon 1
The language in this book is full of buzzwords and Jargon that seem to make little sense. Only after spending a considerable amount of time parsing the book can you understand what the author means. Once you understand you realize how poorly written and repetitive the book is.An example: "leverage your cloud providers fully managed cloud native database services. Employ multiple database types within a component as needed to match the components workload characteristics. Choose the database type such as document store blob storage or search on a table by table basis. Each database is dedicated to a specific component and not shared across components. Use the change data capture and life cycle management features and react to the admitted events to trigger intercomponent processing logic. Use the regional replication features to create multi-reasonable deployments as needed."Vs.Use built in cloud-native database services for your components and pick the correct ones for each respective job. Don't allow other services look at databases that don't belong to them.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.