Anthos Architecture Foundations and Principles
Total Page:16
File Type:pdf, Size:1020Kb
Anthos architecture foundations and principles Anthos architecture foundations and principles Introduction 3 Personas 4 Application owners and developers 5 Application administrators and operators 6 Plaorm administrators and developers 6 Plaorm security administrators 7 Network administrators 7 Storage and database administrators 8 Anthos architecture model 8 Infrastructure 9 Data management 9 Container management 10 Service management 10 Policy management 10 Application management 10 Environs 11 Observability 11 Networking 11 Cloud networking and hybrid connectivity 12 Cloud networking 12 Hybrid connectivity 13 Anthos cluster networking 13 Cluster ingress and egress 14 Multi-cluster networking 15 Service and client connectivity 15 Client to service connectivity 16 Service to service connectivity 16 Service to external services connectivity 16 Cluster architecture 17 Environments 17 Architecture 17 Tenancy 18 Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and code samples are licensed under the Apache 2.0 License. For details, see our Site Policies. Oracle and Java are registered trademarks of Oracle and/or its affiliates. 1 Anthos architecture foundations and principles Single tenant clusters 18 Multi-tenant clusters 18 Multi-tenant clusters with stateful services 18 Identity management 19 Service identities 19 Service mesh identities 20 User identities 21 User cluster access 21 3P identities for applications and services 21 Security and policy management 22 Plaorm security and policy management 23 Networking 23 Conguration management 24 Consistent cluster conguration Policy management repositories 24 Secrets management 25 Auditing and controlling change 25 Authentication 26 Authorization 26 Internal cluster authorization 27 Cluster Hardening 27 Compliance and regulatory 28 Services 28 Distributed services 28 Stateful services 32 Service delivery (CI/CD) 33 Process overview 33 Continuous Integration (CI) 34 Continuous Delivery (CD) 34 Persistence and state management 35 Storage hierarchy (volumes and persistent volumes) 35 Cloud Storage and Filestore 36 Message queues 36 StatefulSets 37 Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and code samples are licensed under the Apache 2.0 License. For details, see our Site Policies. Oracle and Java are registered trademarks of Oracle and/or its affiliates. 2 Anthos architecture foundations and principles Databases 37 Types of database management systems 38 Self-managed databases 38 Managed databases 38 Deployment model 38 VM-based deployment 39 Kubernetes-based deployment 39 Cloud-proprietary deployment 39 Single region, multi-region, hybrid cloud and multi-cloud deployment 39 Use cases 40 Single cloud 40 Multi-cloud 41 Single or multi-cloud 41 Database migration 42 Observability 42 Metrics and dashboards 43 Service Level Objectives 43 Application metrics 44 Plaorm metrics 44 Infrastructure metrics 45 Networking metrics 45 Aleing and Repoing 45 Escalation: paging versus ticketing 45 Health dashboards 46 Product dashboards 46 Logging 46 Service and application logs 46 Cluster logs 47 Compute Engine VM logs and managed services logs 47 Tracing 47 Puing it all together 48 Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and code samples are licensed under the Apache 2.0 License. For details, see our Site Policies. Oracle and Java are registered trademarks of Oracle and/or its affiliates. 3 Anthos architecture foundations and principles Introduction The purpose of this guide is to describe Anthos architectural foundations. You can use this guide to help you when you design an Anthos architecture, whether in Google Cloud, multi-cloud or in hybrid cloud environments. It is intended to highlight the dierent concepts and components that you must consider when you implement Anthos. To get maximum value from this guide, you should already be familiar with basic Anthos concepts, as outlined in the Anthos technical overview. You should also be familiar with basic Kubernetes concepts such as clusters. For more information, see Kubernetes basics and the Google Kubernetes Engine (GKE) documentation The guide focuses on the following aspects of Anthos design: ● Personas ● Anthos architecture model ● Networking ● Cluster architecture ● Identity management ● Security and policy management ● Services ● Persistence and state management ● Databases ● Observability Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and code samples are licensed under the Apache 2.0 License. For details, see our Site Policies. Oracle and Java are registered trademarks of Oracle and/or its affiliates. 4 Anthos architecture foundations and principles Personas There are a number of personas that interact with the Anthos plaorm. The purpose of this section is to describe the roles and responsibility of each persona, and how and in which capacity they inteace with Anthos. Anthos users tend to be split into application and plaorm teams, and within these teams there are two primary personas, Administrators and Developers. These personas have similar tasks and responsibilities, but oen dier in terms of the systems they manage, the end users they serve, and the technologies they use. The following six personas are impoant when considering Anthos: 1. Application owners and developers 2. Plaorm administrators and developers 3. Security administrators 4. Site Reliability Engineers (SRE) and operations 5. Network administrators 6. Storage and database administrators It is impoant to note that these personas represent job functions, not people. This means in dierent sized and shaped companies, the same person might assume multiple personas. Identifying and understanding each persona is helpful when determining a comprehensive architectural design. Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and code samples are licensed under the Apache 2.0 License. For details, see our Site Policies. Oracle and Java are registered trademarks of Oracle and/or its affiliates. 5 Anthos architecture foundations and principles Application owners and developers Function - This group is responsible for developing and delivering applications and services to the end customer. This group owns the application’s roadmap and the source code, including bug xes, peormance regressions, and incidents. Application developers need a plaorm to be able to build, test and reliably release soware to their customers. Anthos plaorm admins (persona discussed below) ensure this functionality exists in the plaorm for the application owners. Company Size - Typically, this persona exists in organizations of all sizes. Skills - Product management (PM) and soware development and engineering (SWE) Inteace to Anthos - This persona typically inteaces with Anthos through Git. Application owners and developers do not need to fully understand the underlying plaorm, so long as it meets their need for soware development and delivery. Git provides an abstraction layer between individual Anthos plaorm components and Application owners. Using GitOps workows, such as feature branches, pull/merge requests (PR/MR) in conjunction with continuous integration and continuous delivery (CI/CD) workows, application owners can build, test and deploy applications reliably and safely to the Anthos plaorm without dealing with the underlying complexity of individual Anthos components. This allows application owners to continually build and deliver soware, while plaorm admins manage the life cycle of the Anthos plaorm without strong co-dependency on one another. Application administrators and operators Function - This persona is responsible for operating live production deployments, monitoring their health, and rolling out updates as needed. Their chaer includes monitoring, capacity planning, deploy/rollouts, incident response, troubleshooting, automation, and scaling. They are ultimately responsible for maintaining the Service Level Objectives (SLOs) of a paicular application or service. This group is responsible for designing and implementing CI/CD pipelines as well as monitoring systems to observe the peormance and functionality of the application. It is impoant to note that this group operates at the application/service layer. Anthos components and their management is the responsibility of plaorm administrators. Plaorm administrators work with Google Cloud Suppo for Anthos specic issues, while SRE/Ops work with both the application owners and plaorm administrators to ensure applications are kept within the required SLO. Company Size - Almost all cloud organizations, as well as medium to large enterprises. Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and code samples are licensed under the Apache 2.0 License. For details, see our Site Policies. Oracle and Java are registered trademarks of Oracle and/or its affiliates. 6 Anthos architecture foundations and principles Skills - CI/CD, soware delivery to prod, monitoring/observability, soware development/engineering. Inteace to Anthos - Git and CI/CD pipelines to Anthos, observability system, Google Cloud APIs, Google Cloud Suppo Plaorm administrators and developers Includes Plaorm Security, Network, Storage, and Database administrators Function - This persona