书籍详情
《云原生开发:使用容器、函数和数据构建下一代应用程序Boris,Scholl,Trent,Swans》[23M]百度网盘|亲测有效|pdf下载
  • 云原生开发:使用容器、函数和数据构建下一代应用程序Boris,Scholl,Trent,Swans

  • 出版社:万卷出版公司图书专营店
  • 出版时间:2020-06
  • 热度:11662
  • 上架时间:2024-06-30 09:38:03
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

   图书基本信息
图书名称   云原生开发:使用容器、函数和数据构建下一代应用程序
作者   Boris,Scholl,Trent,Swanson,Pet
定价   78元
出版社   东南大学出版社
ISBN   9787564188801
出版日期   2020-06-01
字数   
页码   213
版次   
装帧   平装
开本   16开
商品重量   

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

   目录
Prefacen
1. Introductioto Cloud Nativen
Distributed Systemsn
Fallacies of Distributed Systemsn
CAP Theoremn
The Twelve-Factor Appn
Availability and Service-Level Agreementsn
Summaryn

2. Fundamentalsn
Containersn
Container IsolatioLevelsn
Container Orchestrationn
Kuberes Overviewn
Kuberes and Containersn
Serverless Computingn
Functionsn
From VMs to Cloud Nativen
Lift-and-Shiftn
ApplicatioModernizationn
ApplicatioOptimizationn
Microservicesn
Benefits of a Microservices Architecturen
Challenges with a Microservices Architecturen
Summaryn

3. Designing Cloud Native Applicationsn
Fundamentals of Cloud Native Applicationsn
Operational Excellencen
Securityn
Reliability and Availabilityn
Scalability and Costn
Cloud Native versus Traditional Architecturesn
Functions versus Servicesn
FunctioScenariosn
Considerations for Using Functionsn
Composite of Functions and Servicesn
API Desigand Versioningn
API Backward and Forward Compatibilityn
Semantic Versioningn
Service Communicationn
Protocolsn
Messaging Protocolsn
SerializatioConsiderationsn
Idempotencyn
Request/Responsen
Publisher/Subscribern
Choosing BetweePub/Sub and Request Responsen
Synchronous versus Asynchronousn
Gatewaysn
Routingn
Aggregationn
Offloadingn
Implementing Gatewaysn
Egressn
Service Meshn
Example Architecturen
Summaryn

4. Working with Datan
Data Storage Systemsn
Objects, Files, and Disksn
Databasesn
Streams and Queuesn
Blockchainn
Selecting a Datastoren
Data iMultiple Datastoresn
Change Data Capturen
Write Changes as aEvent to a Change Logn
TransactioSupervisorn
Compensating Transactionsn
Extract, Transform, and Loadn
Microservices and Data Lakesn
Client Access to Datan
Restricted Client Tokens (Valet-Key)n
Database Services with Fine-Grained Access Controln
GraphQL Data Servicen
Fast Scalable Datan
Sharding Datan
Caching Datan
Content Delivery Networksn
Analyzing Datan
Streamsn
Batchn
Data Lakes oObject Storagen
Data Lakes and Data Warehousesn
Distributed Query Enginesn
Databases oKuberesn
Storage Volumesn
StatefulSetsn
DaemonSetsn
Summaryn

5. DevOpsn
What Is DevOps?n
Collaborationn
Automationn
LeaPrinciples and Processesn
Measurementn
Sharingn
Testingn
Test Doublesn
Test AutomatioPyramidn
Wheto RuWhich Types of Testsn
Testing Cadencen
Testing iProductionn
Development Environments and Toolsn
Development Toolsn
Development Environmentsn
Local Development Environmentsn
Local Development with a Remote Clustern
Skaffold Development Workflown
Remote Cluster Routed to Local Developmentn
Cloud Development Environmentsn
CI/CDn
Source Code Controln
Build Stage (CI)n
Test Stage (CI)n
Deploy Stage (CD)n
Release Stage (CD)n
Post-Release Stagen
Monitoringn
Collecting Metricsn
Observable Servicesn
ConfguratioManagementn
Single-Environment Variablen
Multiple-Environment Variablesn
Adding ConfigMap Data to a Volumen
Storing Secretsn
Deployment Configurationn
Sample CI/CD Flowsn
Summaryn

6. Best Practicesn
Moving to Cloud Nativen
Breaking Up the Monolith for the Right Reasonsn
Decouple Simple Services Firstn
Learto Operate oa Small Scalen
Use aAnticorruptioLayer Patternn
Use a Strangler Patternn
Come Up with a Data MigratioStrategyn
Rewrite Any Boilerplate Coden
Reconsider Frameworks, Languages, Data Structures, and Datastoresn
Retire Coden
Ensuring Resiliencyn
Handle Transient Failures with Retriesn
Use a Finite Number of Retriesn
Use Circuit Breakers for Nontransient Failuresn
Graceful Degradationn
Use a Bulkhead Patternn
Implement Health Checks and Readiness Checksn
Define CPU and Memory Limits for Your Containersn
Implement Rate Limiting and Throttlingn
Ensuring Securityn
Treat Security Requirements the Same as Any Other Requirementsn
Incorporate Security iYour Designsn
Grant Least-Privileged Accessn
Use Separate Accounts/Subscriptions/Tenantsn
Securely Store All Secretsn
Obfuscate Datan
Encrypt Data iTransitn
Use Federated Identity Managementn
Use Role-Based Access Controln
Isolate Kuberes Podsn
Working with Datan
Use Managed Databases and Analytics Servicesn
Use a Datastore That Best Fits Data Requirementsn
Keep Data iMultiple Regions or Zonesn
Use Data Partitioning and Replicatiofor Scalen
Avoid Overfetching and Chatty I/On
Don't Put Business Logic ithe Databasen
Test with Production-like Datan
Handle Transient Failuresn
Performance and Scalabilityn
DesigStateless Services That Scale Outn
Use Platform Autoscaling Featuresn
Use Cachingn
Use Partitioning to Scale Beyond Service Limitsn
Functionsn
Write Single-Purpose Functionsn
Don't ChaiFunctionsn
Keep Functions Light and Simplen
Make Functions Statelessn
Separate FunctioEntry Point from the FunctioLogi
Avoid Long-Running Functionsn
Use Queues for Cross-FunctioCommunicationn
Operationsn
Deployments and Releases Are Separate Activitiesn
Keep Deployments Smalln
CI/CD DefinitioLives with the Componentn
Consistent ApplicatioDeploymentn
Use Zero-Downtime Releasesn
Don't Modify Deployed Infrastructuren
Use Containerized Buildn
Describe Infrastructure Using Coden
Use Namespaces to Organize Services iKuberesn
Isolate the Environmentsn
Separate FunctioSource Coden
Correlate Deployments with Commitsn
Logging, Monitoring, and Alertingn
Use a Unified Logging Systemn
Use CorrelatioIDsn
Include Context with Log Entriesn
Commoand Structured Logging Formatn
Tag Your Metrics Appropriatelyn
Avoid Alert Fatiguen
Define and Alert oKey Performance Indicatorsn
Continuous Testing iProductionn
Start with Basic Metricsn
Service Communicationn
Desigfor Backward and Forward Compatibilityn
Define Service Contracts That Do Not Leak Internal Detailsn
Prefer Asynchronous Communicationn
Use Efficient SerializatioTechniquesn
Use Queues or Streams to Handle Heavy Loads and Traffic Spikesn
Batch Requests for Efficiencyn
Split Up Large Messagesn
Containersn
Store Images ia Trusted Registryn
Utilize the Docker Build Cachen
Don't RuContainers iPrivileged Moden
Use Explicit Container Image Tagsn
Keep Container Images Smalln
RuOne Applicatioper Containern
Use Verified Images from Trusted Repositoriesn
Use Vulnerability Scanning Tools oImagesn
Don't Store Data iContainersn
Never Store Secrets or ConfiguratioInside aImagen
Summaryn

7. Portabilityn
Why Make Applications Portable?n
The Costs of Portabilityn
Data Gravity and Portabilityn
Wheand How to Implement Portabilityn
Standardized Interfacesn
CommoServices and Featuresn
Abstractions and Layersn
Managed Services from Other Vendorsn
Portability Toolingn
Kuberes as a Portability Layern
Summaryn
Index