Scalable and Available

In the previous chapters of this book, we defined what a cloud-native architecture is and the impact these architectures have on people, processes, and technology. The journey to building cloud-native systems is neither straightforward nor short. It can take years to fully realize the potential of going cloud-native as your organization and culture matures. Skill sets and problem solving approaches need to change over time. Mistakes are made, lessons are learned, and systems evolve. We introduced a framework for defining the journey to cloud-native. The journey impacts your business, people, governance, platform security, and operations. Each application and each company can have varying levels of maturity depending on where they are in their journey. In order to better understand this journey, we established a Cloud Native Maturity Model. This is a useful model to understand where your organization, application stack, or system currently is on the journey, and what features it may need to become more cloud-native. Furthermore, we introduced the software development life cycle (SDLC) of cloud-native applications and learned how to choose the best technology stack that works for our use case.

In the next four chapters of this book, we seek to define the core pillars of cloud native design. These design pillars are core features that make a system cloud-native. These features on their own are not exclusive to cloud applications or systems. However, when taken together, they are a set of features that no other platform but cloud can bring to the table. We will introduce these pillars one by one in the following chapters. For each pillar, we will state core design tenets to guide your architecture and deployment. We will examine particular use cases on how these tenets can be applied to different layers of an application stack. We will discuss tools, open source projects, cloud-native services, and third-party software solutions that can help support these objectives.

In this chapter, the reader will first gain an understanding of the scale at which modern cloud providers operate. There has been a clear departure from ordinary scale (the scale of data centers with which most seasoned IT practitioners are familiar with) to hyper-scale. This hyper-scale cloud infrastructure inherently forms many of the constructs and approaches discussed in this chapter. We will also introduce the core tenets of a scalable and available cloud system, which will help the reader make informed architecture decisions. Finally, we will discuss the current tools available to users to help build self-healing infrastructures which form the basis of resilient, cloud-native architectures.

The following topics will be covered in this chapter:

  • Global Cloud infrastructure and common terminology
  • Cloud infrastructure concepts (regions and AZs)
  • Autoscaling groups and load balancers
  • VM sizing strategies
  • Always-on architectures
  • Designing network redundancy and core services 
  • Monitoring
  • Infrastructure as Code
  • Immutable deployments
  • Self-healing infrastructure
  • Core tenets of scalable and available architectures
  • Service oriented architectures
  • Cloud Native Toolkit for scalable and available architectures
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset