Op werkdagen voor 23:00 besteld, morgen in huis Gratis verzending vanaf €20
Wij wijzen u graag op het volgende
Door drukte rondom de feestdagen zijn de levertijden van PostNL aangepast en kan uw pakket vertraging oplopen

Designing Distributed Systems

Patterns and paragidms for scalable, reliable services

Paperback Engels 2018 9781491983645
Verkooppositie 3213
Verwachte levertijd ongeveer 8 werkdagen

Samenvatting

In the race to compete in today’s fast-moving markets, large enterprises are busy adopting new technologies for creating new products, processes, and business models. But one obstacle on the road to digital transformation is placing too much emphasis on technology, and not enough on the types of processes technology enables. What if different lines of business could build their own services and applications—and decision-making was distributed rather than centralized?

This report explores the concept of a digital business platform as a way of empowering individual business sectors to act on data in real time. Much innovation in a digital enterprise will increasingly happen at the edge, whether it involves business users (from marketers to data scientists) or IoT devices. To facilitate the process, your core IT team can provide these sectors with the digital tools they need to innovate quickly.

This report explores:
- Key cultural and organizational changes for developing business capabilities through cross-functional product teams
- A platform for integrating applications, data sources, business partners, clients, mobile apps, social networks, and IoT devices
- Creating internal API programs for building innovative edge services in low-code or no-code environments
- Tools including Integration Platform as a Service, Application Platform as a Service, and Integration Software as a Service
- The challenge of integrating microservices and serverless architectures
- Event-driven architectures for processing and reacting to events in real time

You’ll also learn about a complete pervasive integration solution as a core component of a digital business platform to serve every audience in your organization.

Specificaties

ISBN13:9781491983645
Taal:Engels
Bindwijze:paperback
Aantal pagina's:149
Uitgever:O'Reilly
Druk:1
Verschijningsdatum:23-2-2018
Hoofdrubriek:IT-management / ICT

Lezersrecensies

Wees de eerste die een lezersrecensie schrijft!

Geef uw waardering

Zeer goed Goed Voldoende Matig Slecht

Over Brendan Burns

Currently: Distinguished Engineer at Microsoft Azure, working on containers and devops. Co-founder of Kubernetes, steering committee member, coder. Formerly: Google Cloud, Google Web Search, Professor at Union College, PhD University of Massachusetts Amherst, BA Williams College.

Andere boeken door Brendan Burns

Inhoudsopgave

Preface
Who Should Read This Book
Why I Wrote This Book
The World of Distributed Systems Today
Navigating This Book
Conventions Used in This Book
Online Resources
Using Code Examples
O’Reilly Safari
How to Contact Us
Acknowledgments

1. Introduction
A Brief History of Systems Development
A Brief History of Patterns in Software Development
Formalization of Algorithmic Programming
Patterns for Object-Oriented Programming
The Rise of Open Source Software
The Value of Patterns, Practices, and Components
Standing on the Shoulders of Giants
A Shared Language for Discussing Our Practice
Shared Components for Easy Reuse
Summary

I: Single-Node Patterns
Motivations
Summary
2. The Sidecar Pattern
An Example Sidecar: Adding HTTPS to a Legacy Service
Dynamic Configuration with Sidecars
Modular Application Containers
Hands On: Deploying the topz Container
Building a Simple PaaS with Sidecars
Designing Sidecars for Modularity and Reusability
Parameterized Containers
Define Each Container’s API
Documenting Your Containers
Summary

3. Ambassadors
Using an Ambassador to Shard a Service
Hands On: Implementing a Sharded Redis
Using an Ambassador for Service Brokering
Using an Ambassador to Do Experimentation or Request Splitting
Hands On: Implementing 10% Experiments

4. Adapters
Monitoring
Hands On: Using Prometheus for Monitoring
Logging
Hands On: Normalizing Different Logging Formats with Fluentd
Adding a Health Monitor
Hands On: Adding Rich Health Monitoring for MySQL

II. Serving Patterns
Introduction to Microservices
5. Replicated Load-Balanced Services
Stateless Services
Readiness Probes for Load Balancing
Hands On: Creating a Replicated Service in Kubernetes
Session Tracked Services
Application-Layer Replicated Services
Introducing a Caching Layer
Deploying Your Cache
Hands On: Deploying the Caching Layer
Expanding the Caching Layer
Rate Limiting and Denial-of-Service Defense
SSL Termination
Hands On: Deploying nginx and SSL Termination
Summary

6. Sharded Services
Sharded Caching
Why You Might Need a Sharded Cache
The Role of the Cache in System Performance
Replicated, Sharded Caches
Hands On: Deploying an Ambassador and Memcache for a Sharded Cache
An Examination of Sharding Functions
Selecting a Key
Consistent Hashing Functions
Hands On: Building a Consistent HTTP Sharding Proxy
Sharded, Replicated Serving
Hot Sharding Systems

7. Scatter/Gather
Scatter/Gather with Root Distribution
Hands On: Distributed Document Search
Scatter/Gather with Leaf Sharding
Hands On: Sharded Document Search
Choosing the Right Number of Leaves
Scaling Scatter/Gather for Reliability and Scale

8. Functions and Event-Driven Processing
Determining When FaaS Makes Sense
The Benefits of FaaS
The Challenges of FaaS
The Need for Background Processing
The Need to Hold Data in Memory
The Costs of Sustained Request-Based Processing
Patterns for FaaS
The Decorator Pattern: Request or Response Transformation
Hands On: Adding Request Defaulting Prior to Request Processing
Handling Events
Hands On: Implementing Two-Factor Authentication
Event-Based Pipelines
Hands On: Implementing a Pipeline for New-User Signup

9. Ownership Election
Determining If You Even Need Master Election
The Basics of Master Election
Hands On: Deploying etcd
Implementing Locks
Hands On: Implementing Locks in etcd
Implementing Ownership
Hands On: Implementing Leases in etcd
Handling Concurrent Data Manipulation

III: Batch Computational Patterns
10. Work Queue Systems
A Generic Work Queue System
The Source Container Interface
The Worker Container Interface
The Shared Work Queue Infrastructure
Hands On: Implementing a Video Thumbnailer
Dynamic Scaling of the Workers
The Multi-Worker Pattern

11. Event-Driven Batch Processing
Patterns of Event-Driven Processing
Copier
Filter
Splitter
Sharder
Merger
Hands On: Building an Event-Driven Flow for New User Sign-Up
Publisher/Subscriber Infrastructure
Hands On: Deploying Kafka

12. Coordinated Batch Processing
Join (or Barrier Synchronization)
Reduce
Hands On: Count
Sum
Histogram
Hands On: An Image Tagging and Processing Pipeline

13. Conclusion: A New Beginning?

Index

Alle 100 bestsellers

Rubrieken

Populaire producten

    Personen

      Trefwoorden

        Designing Distributed Systems