Op werkdagen voor 23:00 besteld, morgen in huis Gratis verzending vanaf €20

Cloud Native Patterns

Designing change-tolerant software

Paperback Engels 2019 1e druk 9781617294297
Verkooppositie 5467Hoogste positie: 5467
Verwachte levertijd ongeveer 8 werkdagen

Samenvatting

With cloud platforms like AWS, Azure, and Google Cloud, even small teams can take full advantage of web-scale distributed application patterns and practice.

'Cloud Native: Designing Change-tolerant Software' is the best guide to developing strong applications that thrive in the dynamic, distributed, virtual world of the cloud

Key Features
- The application lifecycle of Cloud Native apps
- Automated configuration management
-Multi-tenant services, versioned services, and parallel deploys
- Understanding Cloud Native Routing
- Managing dependencies between apps and services

Requires intermediate programming skill with Java or a similar language. Some experience with server-side development is helpful.

About the technology
Cloud-native software promises near-zero downtime, shortened feedback cycles, multi-device support, and improved cost control. All this means developers need to learn new skills and techniques, along with a new way of thinking about application design.

Cornelia Davis is the Sr. Director of Technology at Pivotal Software. A teacher at heart, Cornelia has spent the last 25 making better software and better software developers.

Specificaties

ISBN13:9781617294297
Taal:Engels
Bindwijze:paperback
Aantal pagina's:396
Uitgever:Pearson
Druk:1
Verschijningsdatum:13-11-2019
Hoofdrubriek:IT-management / ICT

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Inhoudsopgave

PART 1: THE CLOUD-NATIVE CONTEXT: WHAT ARE WE DESIGNING TO? DEFINED
1 YOU KEEP USING THAT WORD — DEFINING CLOUD
1.1 It’s Not Amazon’s Fault
1.2 Today’s Application Requirements
1.2.1 Zero Downtime
1.2.2 Shortened Feedback Cycles
1.2.3 Mobile and Multi-Device Support
1.2.4 Connected Devices — Also Known as the Internet of Things
1.2.5 Data-Driven
1.3 Introducing Cloud-Native Software
1.3.1 Defining Cloud-Native
1.3.2 A Mental Model for Cloud-Native Software
1.3.3 Cloud-Native Software in Action
1.4 Cloud-Native and World Peace
1.4.1 Cloud and Cloud-Native
1.4.2 What is not Cloud-Native
1.4.3 Cloud-Native Plays Nice
1.5 Summary

2 RUNNING CLOUD-NATIVE APPLICATIONS IN PRODUCTION
2.1 The Obstacles
2.1.1 Snowflakes
2.1.2 Risky Deployments
2.1.3 Change Is the Exception
2.1.4 Production Instability
2.2 The Enablers
2.2.1 Continuous Delivery
2.2.2 Repeatability
2.2.3 Safe Deployments
2.2.4 Change Is the Rule
2.3 Summary

3 THE PLATFORM FOR CLOUD-NATIVE SOFTWARE
3.1 The Cloud(-/native) Platform Evolution
3.1.1 It started with Cloud
3.1.2 Cloud-Native Dial Tone
3.2 Core Tenets of the Cloud-native Platform
3.2.1 First, Let’s Talk About Containers
3.2.2 Support for “Constantly Changing”
3.2.3 Support for “Highly Distributed”
3.3 Who Does What?
3.4 More Cloud-native Platform Capabilities
3.4.1 The Platform Supports the Entire SDLC
3.4.2 Security, Change-Control, Compliance (the Control Functions)
3.4.3 Controlling What Goes into the Container
3.4.4 Upgrading and Patching Vulnerabilities
3.4.5 Change Control
3.5 Summary

PART 2: CLOUD-NATIVE FOUNDATIONS
4 IT’S NOT JUST REQUEST/RESPONSE
4.1 We are (Usually) Taught Imperative Programming
4.2 (Re)Introducing Event-driven Computing
4.3 My Global Cookbook
4.3.1 Request/Response
4.3.2 Event-driven
4.4 Introducing Command Query Responsibility Segregation (CQRS)
4.5 Different Styles, Similar Challenges
4.6 Summary

5 SCALE OUT AND STATELESSNESS
5.1 Cloud-native Apps Have Many Instances Deployed
5.2 Stateful Apps in the Cloud
5.2.1 Decomposing the Monolith and Binding to the Database
5.2.2 Poorly Handling Session State
5.3 HTTP Sessions and Sticky Sessions
5.4 Stateful Services and Stateless Apps
5.4.1 Stateful Services are Special Services
5.4.2 Making Apps Stateless
5.5 Summary

6 APPLICATION CONFIGURATION: NOT JUST ENVIRONMENT VARIABLES
6.1 Why are we even talking about config?
6.1.1 Dynamic Scaling — Increasing and Decreasing the Number of App Instances
6.1.2 Infrastructure Changes Causing Configuration Changes
6.1.3 Updating Application Configuration with Zero Downtime
6.2 The App’s Configuration Layer
6.3 Injecting System/Environment Values
6.3.1 Let’s See this in Action
6.4 Injecting Application Configuration
6.4.1 Introducing the Configuration Server
6.4.2 Security Adds More Requirements
6.4.3 Let’s See this in Action
6.5 Summary

7 THE APPLICATION LIFECYCLE
7.1 Having Empathy for Operations
7.2 Single App Lifecycle, Multiple Instance Lifecycles
7.2.1 Blue/Green Upgrades
7.2.2 Rolling Upgrades
7.2.3 Parallel Deploys
7.3 Coordinating Across Different App Lifecycles
7.4 Let’s See this in Action: Credential Rotation and App Lifecycle
7.5 Dealing with Ephemeral Runtime Environments
7.6 Visibility of App Lifecycle State
7.6.1 Let’s See this in Action: Health Endpoints and Probes
7.7 Serverless
7.8 Summary

8 ACCESSING APPS: SERVICES, ROUTING AND SERVICE DISCOVERY
8.1 The Service Abstraction
8.1.1 Service Example: Googling
8.1.2 Service Example: Our Blog Aggregator
8.2 Dynamic Routing
8.2.1 Server-side Load Balancing
8.2.2 Client-side Load Balancing
8.2.3 Route Freshness
8.3 Service Discovery
8.3.1 Service Discovery on the Web
8.3.2 Service Discovery with Client-side Load-balancing
8.3.3 Service Discovery in Kubernetes
8.4 Example: Using Service Discovery
8.5 Summary

9 RESILIENT INTERACTIONS: RETRIES AND OTHER CONTROL LOOPS
9.1 Request Retries
9.1.1 The Basic Request Retry
9.1.2 Let’s See this In Action: Simple Retries
9.1.3 Retries: What Could Go Wrong?
9.1.4 Creating a Retry Storm
9.1.5 Avoiding Retry Storms: Kind Clients
9.1.6 When Not to Retry
9.2 Fallback Logic
9.3 Control Loops
9.3.1 Controlling the Control Loop
9.4 Summary

10 FRONTING SERVICES: CIRCUIT BREAKERS AND API GATEWAYS
10.1 Circuit Breakers
10.1.1 The Software Circuit Breaker
10.1.2 Implementing a Circuit Breaker
10.2 API Gateways
10.2.1 The Case for API Gateways in Cloud Native Software
10.2.2 API Gateway Topology
10.3 The Service Mesh
10.3.1 The Sidecar
10.3.2 The Control Plane
10.4 Summary

11 TROUBLESHOOTING: FINDING THE NEEDLE IN THE HAYSTACK
11.1 Application Logging
11.2 Application Metrics
11.2.1 Pulling Metrics from Cloud-native Applications
11.2.2 Pushing Metrics from Cloud-native Applications
11.3 Distributed Tracing
11.3.1 Tracer Output
11.3.2 Assembling Traces via Zipkin
11.3.3 Implementation Details
11.4 Summary

12 CLOUD NATIVE DATA: BREAKING THE DATA MONOLITH
12.1 Every Microservice Needs a Cache
12.2 Moving from Request/Response to Event Driven
12.3 The Event Log
12.3.1 Implementing Event-driven Microservices
12.3.2 What’s new with Topics and Queues?
12.3.3 The Event Payload
12.3.4 Idempotency
12.4 Event Sourcing
12.4.1 The Journey so Far
12.4.2 The Source of Truth
12.4.3 Implementing Event-sourcing
12.5 We’re Just Scratching the Surface
12.6 Summary

Managementboek Top 100

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Cloud Native Patterns