DevOps : A Software Architect's Perspective (Sei Series in Software Engineering)

DevOps : A Software Architect's Perspective (Sei Series in Software Engineering)

  • ただいまウェブストアではご注文を受け付けておりません。 ⇒古書を探す
  • 製本 Hardcover:ハードカバー版/ページ数 332 p.
  • 言語 ENG,ENG
  • 商品コード 9780134049847
  • DDC分類 005.12

Full Description


The First Complete Guide to DevOps for Software ArchitectsDevOps promises to accelerate the release of new software features and improve monitoring of systems in production, but its crucial implications for software architects and architecture are often ignored.In DevOps: A Software Architect's Perspective, three leading architects address these issues head-on. The authors review decisions software architects must make in order to achieve DevOps' goals and clarify how other DevOps participants are likely to impact the architect's work. They also provide the organizational, technical, and operational context needed to deploy DevOps more efficiently, and review DevOps' impact on each development phase. The authors address cross-cutting concerns that link multiple functions, offering practical insights into compliance, performance, reliability, repeatability, and security.This guide demonstrates the authors' ideas in action with three real-world case studies: datacenter replication for business continuity, management of a continuous deployment pipeline, and migration to a microservice architecture.Comprehensive coverage includes* Why DevOps can require major changes in both system architecture and IT roles* How virtualization and the cloud can enable DevOps practices* Integrating operations and its service lifecycle into DevOps* Designing new systems to work well with DevOps practices* Integrating DevOps with agile methods and TDD* Handling failure detection, upgrade planning, and other key issues* Managing consistency issues arising from DevOps' independent deployment models* Integrating security controls, roles, and audits into DevOps* Preparing a business plan for DevOps adoption, rollout, and measurement

Table of Contents

Preface                                            xi
Previewing the Book xiii
Acknowledgments xv
Legend xvii
PART ONE BACKGROUND 1 (62)
Chapter 1 What Is DevOps? 3 (24)
1.1 Introduction 3 (4)
1.2 Why DevOps? 7 (4)
1.3 DevOps Perspective 11 (1)
1.4 DevOps and Agile 12 (1)
1.5 Team Structure 13 (4)
1.6 Coordination 17 (3)
1.7 Barriers 20 (3)
1.8 Summary 23 (1)
1.9 For Further Reading 24 (3)
Chapter 2 The Cloud as a Platform 27 (20)
2.1 Introduction 27 (2)
2.2 Features of the Cloud 29 (12)
2.3 DevOps Consequences of the Unique 41 (3)
Cloud Features
2.4 Summary 44 (1)
2.5 For Further Reading 45 (2)
Chapter 3 Operations 47 (16)
3.1 Introduction 47 (1)
3.2 Operations Services 47 (10)
3.3 Service Operation Functions 57 (1)
3.4 Continual Service Improvement 58 (1)
3.5 Operations and DevOps 59 (2)
3.6 Summary 61 (1)
3.7 For Further Reading 61 (2)
PART TWO THE DEPLOYMENT PIPELINE 63 (62)
Chapter 4 Overall Architecture 65 (14)
4.1 Do DevOps Practices Require 65 (1)
Architectural Change?
4.2 Overall Architecture Structure 66 (6)
4.3 Quality Discussion of Microservice 72 (3)
Architecture
4.4 Amazon's Rules for Teams 75 (1)
4.5 Microservice Adoption for Existing 76 (1)
Systems
4.6 Summary 77 (1)
4.7 For Further Reading 78 (1)
Chapter 5 Building and Testing 79 (22)
5.1 Introduction 79 (2)
5.2 Moving a System Through the 81 (3)
Deployment Pipeline
5.3 Crosscutting Aspects 84 (2)
5.4 Development and Pre-commit Testing 86 (5)
5.5 Build and Integration Testing 91 (4)
5.6 UAT/Staging/Performance Testing 95 (1)
5.7 Production 96 (2)
5.8 Incidents 98 (1)
5.9 Summary 98 (1)
5.10 For Further Reading 99 (2)
Chapter 6 Deployment 101 (24)
6.1 Introduction 101 (1)
6.2 Strategies for Managing a Deployment 102 (3)
6.3 Logical Consistency 105 (6)
6.4 Packaging 111 (3)
6.5 Deploying to Multiple Environments 114 (3)
6.6 Partial Deployment 117 (1)
6.7 Rollback 118 (3)
6.8 Tools 121 (1)
6.9 Summary 121 (1)
6.10 For Further Reading 122 (3)
PART THREE CROSSCUTTING CONCERNS 125 (88)
Chapter 7 Monitoring 127 (28)
7.1 Introduction 127 (2)
7.2 What to Monitor 129 (5)
7.3 How to Monitor 134 (5)
7.4 When to Change the Monitoring 139 (1)
Configuration
7.5 Interpreting Monitoring Data 139 (4)
7.6 Challenges 143 (4)
7.7 Tools 147 (1)
7.8 Diagnosing an Anomaly from Monitoring 148 (4)
Data---the Case of Platformer.com
7.9 Summary 152 (1)
7.10 For Further Reading 153 (2)
Chapter 8 Security and Security Audits 155 (26)
8.1 What Is Security? 156 (1)
8.2 Threats 157 (2)
8.3 Resources to Be Protected 159 (3)
8.4 Security Roles and Activities 162 (3)
8.5 Identity Management 165 (4)
8.6 Access Control 169 (3)
8.7 Detection, Auditing, and Denial of 172 (1)
Service
8.8 Development 173 (1)
8.9 Auditors 174 (1)
8.10 Application Design Considerations 175 (1)
8.11 Deployment Pipeline Design 176 (1)
Considerations
8.12 Summary 177 (1)
8.13 For Further Reading 178 (3)
Chapter 9 Other Ilities 181 (16)
9.1 Introduction 181 (2)
9.2 Repeatability 183 (3)
9.3 Performance 186 (2)
9.4 Reliability 188 (2)
9.5 Recoverability 190 (1)
9.6 Interoperability 191 (1)
9.7 Testability 192 (2)
9.8 Modifiability 194 (1)
9.9 Summary 195 (1)
9.10 For Further Reading 196 (1)
Chapter 10 Business Considerations 197 (16)
10.1 Introduction 197 (1)
10.2 Business Case 197 (9)
10.3 Measurements and Compliance to 206 (3)
DevOps Practices
10.4 Points of Interaction Between Dev 209 (2)
and Ops
10.5 Summary 211 (1)
10.6 For Further Reading 211 (2)
PART FOUR CASE STUDIES 213 (72)
Chapter 11 Supporting Multiple Datacenters 215 (22)
11.1 Introduction 215 (1)
11.2 Current State 216 (1)
11.3 Business Logic and Web Tiers 216 (4)
11.4 Database Tier 220 (3)
11.5 Other Infrastructure Tools 223 (2)
11.6 Datacenter Switch 225 (7)
11.7 Testing 232 (1)
11.8 Summary 233 (1)
11.9 For Further Reading 234 (3)
Chapter 12 Implementing a Continuous 237 (26)
Deployment Pipeline for Enterprises
12.1 Introduction 237 (1)
12.2 Organizational Context 238 (2)
12.3 The Continuous Deployment Pipeline 240 (17)
12.4 Baking Security into the Foundations 257 (2)
of the CD Pipeline
12.5 Advanced Concepts 259 (2)
12.6 Summary 261 (1)
12.7 For Further Reading 262 (1)
Chapter 13 Migrating to Microservices 263 (22)
13.1 Introduction to Atlassian 263 (2)
13.2 Building a Platform for Deploying 265 (3)
Microservices
13.3 BlobStore: A Microservice Example 268 (5)
13.4 Development Process 273 (6)
13.5 Evolving BlobStore 279 (5)
13.6 Summary 284 (1)
13.7 For Further Reading 284 (1)
PART FIVE MOVING INTO THE FUTURE 285 (26)
Chapter 14 Operations as a Process 287 (12)
14.1 Introduction 287 (1)
14.2 Motivation and Overview 288 (1)
14.3 Offline Activities 289 (5)
14.4 Online Activities 294 (2)
14.5 Error Diagnosis 296 (1)
14.6 Monitoring 296 (2)
14.7 Summary 298 (1)
14.8 For Further Reading 298 (1)
Chapter 15 The Future of DevOps 299 (12)
15.1 Introduction 299 (1)
15.2 Organizational Issues 300 (2)
15.3 Process Issues 302 (3)
15.4 Technology Issues 305 (4)
15.5 What About Error Reporting and 309 (1)
Repair?
15.6 Final Words 310 (1)
15.7 For Further Reading 310 (1)
References 311 (4)
About the Authors 315 (2)
Index 317