• 云原生开发(影印版)
21年品牌 40万+商家 超1.5亿件商品

云原生开发(影印版)

全新正版 假一赔十 可开发票

50.86 6.5折 78 全新

库存4件

北京朝阳
认证卖家担保交易快速发货售后保障

作者(美)鲍里斯·斯科尔,(美)特伦特·斯旺森,(美)彼得·约索维奇

出版社东南大学出版社

ISBN9787564188801

出版时间2020-06

装帧平装

开本16开

定价78元

货号1202080818

上书时间2024-02-17

轻阅书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录
Preface

1.Introduction to Cloud Native

Distributed Systems

Fallacies of Distributed Systems

CAP Theorem

The Twelve-Factor App

Availability and Service-Level Agreements

Summary

2.Fundamentals

Containers

Container Isolation Levels

Container Orchestration

Kubernetes Overview

Kubernetes and Containers

Serverless Computing

Functions

From VMs to Cloud Native

Lift-and-Shift

Application Modernization

Application Optimization

Microservices

Benefits of a Microservices Architecture

Challenges with a Microservices Architecture

Summary

3.Designing Cloud Native Applications

Fundamentals of Cloud Native Applications

Operational Excellence

Security

Reliability and Availability

Scalability and Cost

Cloud Native versus Traditional Architectures

Functions versus Services

Function Scenarios

Considerations for Using Functions

Composite of Functions and Services

API Design and Versioning

API Backward and Forward Compatibility

Semantic Versioning

Service Communication

Protocols

Messaging Protocols

Serialization Considerations

Idempotency

Request/Response

Publisher/Subscriber

Choosing Between Pub/Sub and Request Response

Synchronous versus Asynchronous

Gateways

Routing

Aggregation

Offloading

Implementing Gateways

Egress

Service Mesh

Example Architecture

Summary

4.Working with Data

Data Storage Systems

Objects, Files, and Disks

Databases

Streams and Queues

Blockchain

Selecting a Datastore

Data in Multiple Datastores

Change Data Capture

Write Changes as an Event to a Change Log

Transaction Supervisor

Compensating Transactions

Extract, Transform, and Load

Microservices and Data Lakes

Client Access to Data

Restricted Client Tokens (Valet-Key)

Database Services with Fine-Grained Access Control

GraphQL Data Service

Fast Scalable Data

Sharding Data

Caching Data

Content Delivery Networks

Analyzing Data

Streams

Batch

Data Lakes on Object Storage

Data Lakes and Data Warehouses

Distributed Query Engines

Databases on Kubernetes

Storage Volumes

StatefulSets

DaemonSets

Summary

5.DevOps

What Is DevOps?

Collaboration

Automation

Lean Principles and Processes

Measurement

Sharing

Testing

Test Doubles

Test Automation Pyramid

When to Run Which Types of Tests

Testing Cadence

Testing in Production

Development Environments and Tools

Development Tools

Development Environments

Local Development Environments

Local Development with a Remote Cluster

Skaffold Development Workflow

Remote Cluster Routed to Local Development

Cloud Development Environments

CI/CD

Source Code Control

Build Stage (CI)

Test Stage (CI)

Deploy Stage (CD)

Release Stage (CD)

Post-Release Stage

Monitoring

Collecting Metrics

Observable Services

Confguration Management

Single-Environment Variable

Multiple-Environment Variables

Adding ConfigMap Data to a Volume

Storing Secrets

Deployment Configuration

Sample CI/CD Flows

Summary

6.Best Practices

Moving to Cloud Native

Breaking Up the Monolith for the Right Reasons

Decouple Simple Services First

Learn to Operate on a Small Scale

Use an Anticorruption Layer Pattern

Use a Strangler Pattern

Come Up with a Data Migration Strategy

Rewrite Any Boilerplate Code

Reconsider Frameworks, Languages, Data Structures, and Datastores

Retire Code

Ensuring Resiliency

Handle Transient Failures with Retries

Use a Finite Number of Retries

Use Circuit Breakers for Nontransient Failures

Graceful Degradation

Use a Bulkhead Pattern

Implement Health Checks and Readiness Checks

Define CPU and Memory Limits for Your Containers

Implement Rate Limiting and Throttling

Ensuring Security

Treat Security Requirements the Same as Any Other Requirements

Incorporate Security in Your Designs

Grant Least-Privileged Access

Use Separate Accounts/Subscriptions/Tenants

Securely Store All Secrets

Obfuscate Data

Encrypt Data in Transit

Use Federated Identity Management

Use Role-Based Access Control

Isolate Kubernetes Pods

Working with Data

Use Managed Databases and Analytics Services

Use a Datastore That Best Fits Data Requirements

Keep Data in Multiple Regions or Zones

Use Data Partitioning and Replication for Scale

Avoid Overfetching and Chatty I/O

Dont Put Business Logic in the Database

Test with Production-like Data

Handle Transient Failures

Performance and Scalability

Design Stateless Services That Scale Out

Use Platform Autoscaling Features

Use Caching

Use Partitioning to Scale Beyond Service Limits

Functions

Write Single-Purpose Functions

Dont Chain Functions

Keep Functions Light and Simple

Make Functions Stateless

Separate Function Entry Point from the Function Logic

Avoid Long-Running Functions

Use Queues for Cross-Function Communication

Operations

Deployments and Releases Are Separate Activities

Keep Deployments Small

CI/CD Definition Lives with the Component

Consistent Application Deployment

Use Zero-Downtime Releases

Dont Modify Deployed Infrastructure

Use Containerized Build

Describe Infrastructure Using Code

Use Namespaces to Organize Services in Kubernetes

Isolate the Environments

Separate Function Source Code

Correlate Deployments with Commits

Logging, Monitoring, and Alerting

Use a Unified Logging System

Use Correlation IDs

Include Context with Log Entries

Common and Structured Logging Format

Tag Your Metrics Appropriately

Avoid Alert Fatigue

Define and Alert on Key Performance Indicators

Continuous Testing in Production

Start with Basic Metrics

Service Communication

Design for Backward and Forward Compatibility

Define Service Contracts That Do Not Leak Internal Details

Prefer Asynchronous Communication

Use Efficient Serialization Techniques

Use Queues or Streams to Handle Heavy Loads and Traffic Spikes

Batch Requests for Efficiency

Split Up Large Messages

Containers

Store Images in a Trusted Registry

Utilize the Docker Build Cache

Dont Run Containers in Privileged Mode

Use Explicit Container Image Tags

Keep Container Images Small

Run One Application per Container

Use Verified Images from Trusted Repositories

Use Vulnerability Scanning Tools on Images

Dont Store Data in Containers

Never Store Secrets or Configuration Inside an Image

Summary

7.Portability

Why Make Applications Portable?

The Costs of Portability

Data Gravity and Portability

When and How to Implement Portability

Standardized Interfaces

Common Services and Features

Abstractions and Layers

Managed Services from Other Vendors

Portability Tooling

Kubernetes as a Portability Layer

Summary

Index

内容摘要
开发者在次接触云计算的时候往往感到很好困难。既需要学习分布式系统,熟悉诸如容器和函数之类的技术,还得知道如何将这些东西组合在一起,过程实在令人生畏。通过这本实用的指导书,你将了解构建云原生应用程序的模式以及消息传递、事件处理和DevOps等常见任务的很好实践。 作者Boris Scholl、Trent Swanson和Peter Jausovec为你阐述了现代云原生应用程序的架构模块。你将了解如何使用微服务、容器、无服务器计算、存储类型、可移植性和函数。你还将探索云原生应用程序的基础知识,包括如何设计、开发和操作它们。

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP