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 eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
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 : 9781788476690
Concepts :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want

Product Details

Publication date : Feb 09, 2018
Length: 316 pages
Edition : 1st
Language : English
ISBN-13 : 9781788476690
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

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.