دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 1
نویسندگان: Shivakumar R Goniwada
سری:
ISBN (شابک) : 1484272250, 9781484272251
ناشر: Apress
سال نشر: 2021
تعداد صفحات: 730
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 15 مگابایت
در صورت ایرانی بودن نویسنده امکان دانلود وجود ندارد و مبلغ عودت داده خواهد شد
در صورت تبدیل فایل کتاب Cloud Native Architecture and Design: A Handbook for Modern Day Architecture and Design with Enterprise-Grade Examples به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب معماری و طراحی بومی ابری: کتابچه راهنمای معماری و طراحی مدرن با نمونههای درجه سازمانی نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Table of Contents About the Author About the Technical Reviewer Acknowledgments Introduction Part I: The Cloud Native Journey, Principles, and Patterns Chapter 1: Introduction to Cloud Native Architecture Introduction to Cloud Native Cloud Adoption Across Industries Reducing Costs Adopting the Cloud Native Mindset What Is Cloud Native? Cloud Native Maturity Model Cloud Enablement Wave Cloud Native Transformation Wave Scalability and Flexibility Advantage Cloud Native Culture and Innovation Wave Blockchain as a Service Digital Twin Zero Trust Architecture 5G Quantum Computing Elements of Cloud Native Computing Microservices Architecture Serverless Architecture Event-Driven Architecture Cloud Computing Containers Agile Development DevSecOps How Is Cloud Native Different Than Cloud-Enabled? Cloud Native Journey Start with Lift and Shift Re-engineer Migration Benefits of Cloud Native Cloud Native Organization and Culture How Is Cloud Native Architecture Embraced Across Industries? Migrate Accelerate Scale and Innovate What Is a Software Architect’s Role in Cloud Native? Summary Chapter 2: Cloud Native Services Evolution of Infrastructure Services Mainframe Services Minicomputer Services Personal Computing Service Client-Server Service Enterprise Computing Service Cloud and Mobile Computing Services IT Infrastructure Laws and Prediction Moore’s Law The Laws of Mass Digital Storage Metcalfe’s Law Communication Cost and Internet Evolution of Servers Bare-Metal Servers Virtual Machine Revolution Adoption of Virtual Machines Virtual Machines in the Cloud Container Revolution Understanding Cloud Services Infrastructure as a Service Platform as a Service PaaS Taxonomy PaaS Architecture Styles PaaS Deployment Model Software as a Service SaaS Limitations Architectural Considerations: How to Decide on a Custom vs. SaaS Platform Cloud Computing Deployment Models Public Cloud Private Cloud or On-Premises Cloud Community Cloud Hybrid Cloud Services Summary Chapter 3: Cloud Native Architecture Principles What Are Architecture Principles? Cloud Native Design Principles API First Principle Monolithic Architecture Principle Polylithic Architecture Principle Applying the Polylithic Principle in Architecture Properties of Polylithic Principles Polyglot Persistence Principle Applying the Polyglot Persistence Principle in Architecture Modeled with Business Domain Principle Consumer First Principle Decentralize Everything Principle Culture of Automation Principle Always Be Architecting Principle Interoperability Principle Digital Decoupling Principle Single Source of Truth Principle Evolutionary Design Principle Cloud Native Runtime Principles Isolate Failure Principle (IFP) Deploy Independently Principle Be Smart with State Principle Location-Independent Principle Design for Failure Principle Security Principles Defense in Depth Principle Security by Design Principle SQL Injection Cross-Site Scripting (XSS) Software Engineering Principle Products Not Projects Principle Shift-Left Principle Shift-Left Security Shift-Left Performance Container Principles Single Concern Principle High Observability Principle Lifecycle Conformance Principle Image Immutability Principle Process Disposability Principle (PDP) Self-Containment Principle Runtime Confinement Principle Principles of Orthogonal Cohesion Types of Cohesion Function Cohesion Sequence Cohesion Communication Cohesion Procedural Cohesion Temporal Cohesion Logical Cohesion Coincidental Cohesion Applying High Cohesion to Software Design Coupling Types of Coupling No Coupling Message Coupling Data Coupling Stamp Coupling (Data-Structured Coupling) Control Coupling External Coupling Common Coupling (Global Coupling) Content Coupling (Pathological Coupling) Law of Demeter (LoD) or Principle of Least Knowledge Applying Loose Coupling to Software Design Software Quality Principles KISS Principle Applying KISS to Software Design Don’t Repeat Yourself Duplication Is Waste The DRY Principle in Polylithic and Polyglot Architecture How does the DRY principle reduce maintenance costs? Isolate What do we mean by isolation? Isolation in Cloud Native Applications Applying Isolation to Software Design Separation of Concern Applying SoC to Software Design Use Layering Layering in Traditional Application Layering in Cloud Native Application Applying Layering to Software Design Information Hiding Why Information Hiding? Applying Information Hiding to Software Design You Aren’t Gonna Need It Idea of YAGNI How to Decide What You Need SOLID Design Principles Single Responsibility Principle Applying Single Responsibility to Microservice Design Open-Closed Principle Applying Open-Closed to Microservices Liskov Substitution Principle Applying Liskov Substitution to Microservices Design Interface Segregation Principle Dependency Inversion Principle Summary Chapter 4: Cloud Native Architecture and Design Patterns Evolution of Design Patterns What Are Software Patterns? Architecture Style, Architecture Pattern, and Design Pattern Anti-pattern Cloud Native Data Management Pattern for Microservices Event Sourcing Pattern Stream Event Store Command and Query Responsibility Segregation Pattern Application Layer Command and Query Command and Query in the Database Data Partitioning Pattern Horizontal Partitioning or Sharding Range Based or Interval Partitioning/Sharding Hash Partitioning/Sharding List Partition Round-Robin Partitioning Vertical Partitioning Data Replication Leader-Based or Leader-Followers Replication How are the leaders selected? Quorum-Based Replication Cloud Native API Management Patterns for Microservices Idempotent Service Operation Optimistic Concurrency Control in API Circuit Breaker Service Discovery Client-Side Discovery Pattern Server-Side Discovery Pattern Service Versioning URI Versioning Header Versioning Cloud Native Event-Driven Patterns for Microservices Asynchronous Nonblocking I/O What is synchronous and asynchronous messaging? Stream Processing Cloud Native Design Pattern for Microservices Mediator Orchestration Strangler Pattern Bulkhead Pattern How does the bulkhead pattern work? Anti-corruption Pattern Cloud Native Runtime Pattern for Microservices Fail Fast Retry Sidecar Init Containers Saga Pattern Event Driven and Choreography Orchestrator-Based Saga Pattern Summary Part II: Elements of Cloud Native Architecture and Design Chapter 5: Microservices Architecture and Design Evolution of Microservices What Is a Microservices Architecture? Characteristics of Microservices Organized Around Business Capabilities Autonomous Smart Endpoints and Dumb Pipes What Is a Service Mesh? Smart Endpoints and Dumb Pipes with Service Meshes What Is an Event Mesh? Resilience in Microservices Resilience Capabilities How to Build Resilient Microservices? Elasticity in Microservices Distributed State How to Handle Distributed State with Asynchronous microservices Independently Deployable Decentralization Decentralized Governance Decentralized Data Automation Containerization Design for Failure How Do You Design a Microservice for Failure and Stability? Living Continuous Design Self-Healing Hexagonal Architecture Enterprise Microservices Examples Case Study: Trade Finance What Is Trade Finance? Trade Finance Ecosystem Trade Finance Functional Architecture Case Study: Collateral Management Collateral Management Functional Architecture Collateral Management Architecture Microservices and User Interface: Micro Front End Routing Composition Communication Pros and Cons of Micro Front Ends Microservice Architecture in Artificial Intelligence AI Subcategories Microservices Vertical Components: Speech AI Summary Chapter 6: Event-Driven Architecture Evolution of Event-Driven Architecture Tightly Coupled World to Loosely Coupled World Message Broker World to Event World Event Business Events Technical Events Processing an Event Event Handling in Domain Context Event Governance What Is Event-Driven Architecture? How Does Event-Driven Architecture Work? Event-Driven Topologies Mediator Topology Broker Topology Choice of Topology Characteristics of Event-Driven Architecture Event-Driven Messaging Models Event Messaging Event Streaming Event Processing Styles Simple Event Processing Event Stream Processing Complex Event Processing Event-Driven Architecture Maturity Model Decoupling Use Case by Using Event-Driven Architecture Make Data Accessible How to Get Events and Make Data Accessible? Where to Store Events? How to Get Data? CDC Real-Time Interactivity How to Use Existing Message Queues with Event Streams? Transaction Management in Event-Driven Microservices Two-Phase Commit in Cloud Native Services Transactions with Events Event-Driven Microservices Interaction Interaction Between Microservices Service Mesh Service Mesh Implementation Advantages and Disadvantages of Service Meshes Event Mesh Characteristics of Event Mesh Event Mesh Capabilities How Do Event Meshes Work? Event Mesh in a Cluster of Brokers Event Mesh’s Control Plane Box- and Port-Style Event-Driven Architecture Characteristics of Box- and Port-Style Architecture DevOps for Events Event Security Field-Level Encryption Consideration Cloud Events Summary Chapter 7: Serverless Architecture Evolution of Serverless What Is Serverless Computing? Essential Components of Serverless Serverless and Event-Driven Computing Serverless Design Principles Stateless Functions Push-Based and Event-Driven Pipelines Config: Store Config in the Environment Backing Services: Treat Backing Services as Attached Resources Concurrency: Scaling Out via the Process Model Disposability: Maximize Robustness with Quick Startup and Shutdown Key Considerations for Serverless Computing Why Use Serverless Architecture? Best Practices of Serverless Architecture Types of Serverless Architecture Function as a Service AWS Lambda Reference Architecture Ecommerce Reference Architecture Best Practices of Lambda Azure Functions Reference Architecture Best Practices of Azure Functions Google Cloud Functions Reference Architecture Best Practices of Google Function FaaS Platform Evaluation Criteria Backend as a Service or Mobile Backend as a Service Pros and Cons of BaaS Function Deployment When to Use Serverless Advantages of Serverless Architecture Reduced Operational Cost Optimized Resource Utilization Faster Time to Market Ability to Focus on User Experience Fits with Microservices The Drawbacks of Serverless Architecture Standardization Operations Management Tooling Support Security Long-Term Tasks Future of Serverless Summary Chapter 8: Cloud Native Data Architecture Rethinking Data in a Cloud Native World Cloud Native Data Persistence Layer Cloud Native Data Characteristics How to Select a Data Store Objects, Files, and Blocks Databases Relational Database Key-Value Document Database Wide-Column Database Time-Series Database Graph Database Event Store Database Search Engine Database Data Replication Physical Database Replication Logical Database Replication Full Data Refresh Partial Data Refresh Change Data Capture Log-Based CDC Extract, Transfer, and Load Extraction Transform Load Decoupling Big Data Management from Distributed Data Meshes Step 1: Self-Service Data Infrastructure as a Platform Step 2: Data as a Product Step 3: Data Infrastructure as a Platform Step 4: Domain-Oriented Decentralized Data Ownership and Architecture Step 5: Data Governance Data Processing with Real-Time Streaming for Analytics Lambda Architecture How Does the Lambda Architecture Work? Kappa Architecture Microservices in Data Processing with Real-Time Streaming for Analytics Mobile Platform Database Intelligent Data Governance and Compliance in the Cloud Native World Why Data Governance? What Is Data Governance? Governance Framework Change Management Intelligent Tooling Operating Model Decentralization Secure Summary Chapter 9: Designing for “-ilities” Why Do You Need “-ilities”? Partial List of “-ilities” Designing for Security Defense in Depth The CIA Triad Policy as Code Zero-Trust Security Decentralized Identity Validating Input Design for Threats Naive Password Complexity Requirements Compliance as Code Shift-Left Security Single Pane of Glass for Audit Homomorphic Encryption Fail Securely Secure APIs Designing for Elasticity Designing for Resilience Designing for Sustainability The JEVONS Paradox in Cloud Native Sustainability Approaches Deployment Environment Software Engineering UI Architecture Sustainability Assessment Designing for Failure Infrastructure Communication Dependencies Internal Designing for Reliability Pareto Chart Designing for High Availability Active-Active Deployments Active-Passive Deployments Designing for the Customer Designing for Interoperability Designing for Events Designing for Observability Designing for Portability Designing for Ethics Designing for Accessibility Accessibility Guidelines and Standards Designing for Automation Designing for Maintainability Designing for Usability Summary Part III: Modernizing Enterprise IT Systems Chapter 10: Modernize Monolithic Applications to Cloud Native What Is Decoupling? Technical Debt How Are Technical Debts Accumulated? How Is Technical Debt Impacting Your Enterprise? How to Decide on Decoupling? Decoupling Model Decoupling Decoupling Approach Decoupling Plan Decoupling Principles Decoupling Business Case Decoupling Strategies Domain-Driven Design How Does Domain-Driven Design Manage Complexity? What Is a Domain? Goals of Domain-Driven Design Domain-Driven Design Model Strategic DDD Tactical DDD Guiding Principles of DDD Event Storming Key Roles in an Event Storming Workshop Event Storming Exercise Step 1: Identify the Objectives Step 2: Event Map: Capture Domain Events Step 3: Event Map: Identify Commands, Triggers, and Read Models Step 4: Event Map: Identify Aggregators Step 5: Context Map: Identify the Bounded Context How Does a Bounded Context Communicate? Ubiquitous Language Tactical Implementation of DDD Step 6: Microservices Identification Entity Value Objects Aggregates Domain Model to Microservices API Model Value of Domain-Driven Design The Business Value of DDD Drawbacks of DDD Where DDD Is Not Useful Summary Chapter 11: Enterprise IT Assessment for a Cloud Native Journey Introduction Assessment What Is an Assessment Used For? Assessment Objectives Assessment Execution Approach and Key Activities Cloud Native Assessment When to Consider a Cloud Native Assessment Cloud Native Maturity Assessment Model Detailed Architecture Assessment Assessment Usage Architecture Assessment Model Assessment Questions Template Automation Maturity Assessment Automation Maturity Assessment Model Automation Maturity Assessment Questionnaire Template Summary Chapter 12: “-ilities” Fitness Function What Is a Fitness Function? Categories of Fitness Functions Atomic vs. Holistic Triggered vs. Continuous Static vs. Dynamic Automated vs. Manual Temporal International vs. Emergent Domain-Specific Design-Time Fitness Function Runtime Fitness Function Execution of the Fitness Function Manual Execution Automated Execution Fitness Function Identification Fitness Function: Coupling and Cohesion Fitness Function: Security Fitness Function: Extensibility, Reusability, Adaptability, and Maintainability Fitness Function: Performance Fitness Function: Resiliency Fitness Function: Scalability Fitness Function: Observability Fitness Function: Compliance Fitness Function Metrics Review Function Metrics Summary Part IV: Cloud Native Software Engineering Chapter 13: Enterprise Cloud Native Software Engineering Cloud Native and Traditional Application Engineering Intelligent Software Engineering From Project to Product Organization Transformation Agile Software Development Methodologies Hypothesis-Driven Development Why Do You Need a Hypothesis? Methodology Steps Hypothesis Example Framing Hypothesis Culture of Hypothesis Test-Driven Development Why TDD? TDD Cycle Steps of TDD Factors to Consider for TDD Drawbacks of TDD Behavior-Driven Development How BDD Helps You to Solve Problems BDD Principles and Practices BDD Process BDD Specification Transition to BDD Benefits of BDD Drawbacks of BDD Feature-Driven Development Why FDD? FDD Process Feature Specification Feature Set Subject Area Benefits of FDD Drawbacks of FDD Architecture in the Agile Methodology Waterfall to Agile Transformation Summary Chapter 14: Enterprise Cloud Native Automation Introduction DevOps Today and Tomorrow From DevOps to DevSecOps Driver for Shift-Left Security Automation Principles and Best Practices Site Reliability Engineering DevSecOps Continuous Integration Continuous Delivery Continuous Deployment DataOps DataOps Principles DataOps Pipeline DevNetOps Network Operation and Challenges Why You Need DevNetOps? Network Reliability Engineering DevNetOps Pipeline DevOps in the Cloud AWS Cloud Azure Cloud Google Cloud DevOps Transformation Summary Chapter 15: AI-Driven Development Introduction Unique AI Challenges Why AI-Driven Development? AI-Driven Principles at a Glance Approach to AI AI Governance AI Framework AI Governance Measurement Governance Process Governance Model How to Train AI-Enabled Frameworks? AI-Driven Methodology AI Use Cases Discovery and Piloting AI Project Execution Deploy and Industrialize AI and ML in DevOps AI and ML in Code Management Source Code Progress DeepCode.AI Codota Quality Checks Continuous Feedback Kubeflow Alert Monitoring Summary Part V: Cloud Native Infrastructure Chapter 16: Containerization and Virtualization Introduction What Is Cloud Native Infrastructure? Cloud Native Environment Characteristics Cloud Virtualization How Does Virtualization Work? Types of Virtualization in the Cloud What Applications and Services Are Commonly Virtualized? Cloud Native and Virtual Machines Containerization What Is a Container Image? Container Architecture Container Principles Container Patterns Container Security Logging Mechanism Stateless Immutable Privileged Containers Monitoring Running Container as Root Image Version Container Networking Container Lifecycle Management Container Benefits Container Adoption Best Practices Containers in an Enterprise Container Orchestration Types of Orchestration Tools Docker Swarm Apache Mesos Kubernetes Orchestration Tool Comparison Kubernetes Features Kubernetes Principles and Patterns Predictable Demands Declarative Deployment Health Probe Automated Placement Singleton Service Init Container Sidecar Running a Cloud Native Application on the Container and Kubernetes Strategy Kubernetes Maturity Model Prepare Transform Deploy Build Confidence Improve Operations Measure and Control Optimize and Automate Service Meshes and Kubernetes Stateful Workloads on Kubernetes Kubernetes Multitenancy Kubernetes Secrets Kubernetes as a Service Google Kubernetes Engine Amazon Elastic Kubernetes Service Azure Kubernetes Services Red Hat OpenShift VMware Tanzu Summary Chapter 17: Infrastructure Automation What Is Infrastructure Automation? What Can You Automate? What Is Infrastructure as Code? IaC in Build Pipeline Automation Capture Requirements Prepare Automation Code Set Up Infrastructure Install OS Set Up Network and Storage Deploy Services Define Everything As Code How Do You Select an IaC Tool? What Coding Language Can You Use? IaC Example IaC Tools Terraform Ansible SaltStack Chef Puppet CFEngine AWS Cloud Formation IaC Tools Comparison Summary Part VI: Cloud Native Operations Chapter 18: Intelligent Operations Introduction Why Do You Need Intelligent Operations? Elements of Intelligent Operation Data-Driven Approach Applied Intelligence Cloud Enablement Right Talent and Skill Smart Partnership AIOps Central Functions Artificial Intelligence Data Automation Anomaly Detection Event Correlation IT Service Management (ITSM) Example Use Case of AIOps Traditional Operations AIOps-Based Operation Capabilities of AIOps AIOps Transformation AIOps Strategy AIOps Transition AIOps Transformation Benefits of AIOps ChatOps ChatOps Benefits Types of ChatOps Group Chat Bots ChatOps in Service Support ChatOps (Bot) Architecture Industry Example Use Cases Group Chat Use Case: Microsoft Teams–Based Chatbot with AI Is Integrated with ServiceNow Chatbot Use Case: Payment Industry to Resolve Billing Queries and Create Case Management Requests Summary Chapter 19: Observability Introduction Difference Between Monitoring and Observability Full-Stack Observability Connected Across Capabilities One Source of Truth Visualization Observability and Cloud Native Services Observability in Kubernetes Observability and DevOps Common Use Cases for Observability with AIOps Guidance to Choose Observation Tools Benefits of Observability Observability, Monitoring, and Machine Learning Models Algorithms Help in Observability Workflow Steps for ML Summary Part VII: Cloud Native Features Chapter 20: Cloud Native Trends Cloud Native Trends Designing for “-ilities” Cloud Native Architecture Open Application Model Specification Web Assembly Data Gateways HTTP/3 RSocket and Reactive Streams Low Code/No Code Actor Model Kubernetes on the Edge GitOps General Trends Across Industry 5G 5G Technology 5G Features Advantages of 5G Cloud Native and 5G: Network Slicing Digital Twin Why a Digital Twin? Digital Twin Implementation Quantum Computing Why Quantum Computing? Potential Use Cases Extended Reality Edge Computing Summary Index