A Software Architect's Perspective
De som köpt den här boken har ofta också köpt The Tech Coup av Marietje Schaake (inbunden).
Köp båda 2 för 616 krLen Bass is a senior principal researcher at National ICT Australia Ltd. (NICTA). He joined NICTA in 2011 after twenty five years at the Software Engineering Institute (SEI) at Carnegie Mellon University. He is the co-author of two award-winning books in software architecture, including Software Architecture in Practice, Third Edition and Documenting Software Architectures: Views and Beyond, Second Edition, as well as several other books and numerous papers in computer science and software engineering on a wide range of topics. Len has more than fifty years' experience in software development and research including papers in operating systems, database management systems, user interface software, software architecture, product line systems, and computer operations. He has worked or consulted in multiple domains including scientific analysis, embedded systems, and information systems. Dr. Ingo Weber is a senior researcher in the Software Systems Research Group at NICTA in Sydney, Australia, as well as an adjunct senior lecturer at CSE at the University of New South Wales (UNSW). His research interests include cloud computing, DevOps, business process management, and artificial intelligence (AI). He has published over sixty refereed papers, acted as a reviewer for many prestigious journals, including several IEEE and ACM Transactions, and has served as PC member for WWW, BPM, ICSOC, AAAI, ICAPS, and many other conferences. Prior to NICTA, Ingo worked at UNSW and at SAP Research Karlsruhe, Germany. Ingo holds a Ph.D. and a Diploma from the University of Karlsruhe, and an MSc from the University of Massachusetts at Amherst. Dr. Liming Zhu is a research group leader and principal researcher at NICTA. He holds conjoint positions at the University of New South Wales (UNSW) and the University of Sydney. He has published over eighty peer-reviewed papers. He formerly worked in several technology lead positions in the software industry before obtaining a Ph.D. in software engineering from UNSW. He is a committee member of the Standards Australia IT-015 (system and software engineering), contributing to ISO/SC7. His research interests include software architecture and dependable systems.
Preface xi
Previewing the Book xiii
Acknowledgments xv
Legend xvii
Part I: Background 1
Chapter 1: What Is DevOps? 3
1.1 Introduction 3
1.2 Why DevOps? 7
1.3 DevOps Perspective 11
1.4 DevOps and Agile 12
1.5 Team Structure 13
1.6 Coordination 17
1.7 Barriers 20
1.8 Summary 23
1.9 For Further Reading 24
Chapter 2: The Cloud as a Platform 27
2.1 Introduction 27
2.2 Features of the Cloud 29
2.3 DevOps Consequences of the Unique Cloud Features 41
2.4 Summary 44
2.5 For Further Reading 45
Chapter 3: Operations 47
3.1 Introduction 47
3.2 Operations Services 47
3.3 Service Operation Functions 57
3.4 Continual Service Improvement 58
3.5 Operations and DevOps 59
3.6 Summary 61
3.7 For Further Reading 61
Part II: The Deployment Pipeline 63
Chapter 4: Overall Architecture 65
4.1 Do DevOps Practices Require Architectural Change? 65
4.2 Overall Architecture Structure 66
4.3 Quality Discussion of Microservice Architecture 72
4.4 Amazons Rules for Teams 75
4.5 Microservice Adoption for Existing Systems 76
4.6 Summary 77
4.7 For Further Reading 78
Chapter 5: Building and Testing 79
5.1 Introduction 79
5.2 Moving a System Through the Deployment Pipeline 81
5.3 Crosscutting Aspects 84
5.4 Development and Pre-commit Testing 86
5.5 Build and Integration Testing 91
5.6 UAT/Staging/Performance Testing 95
5.7 Production 96
5.8 Incidents 98
5.9 Summary 98
5.10 For Further Reading 99
Chapter 6: Deployment 101
6.1 Introduction 101
6.2 Strategies for Managing a Deployment 102
6.3 Logical Consistency 105
6.4 Packaging 111
6.5 Deploying to Multiple Environments 114
6.6 Partial Deployment 117
6.7 Rollback 118
6.8 Tools 121
6.9 Summary 121
6.10 For Further Reading 122
Part III: Crosscutting Concerns 125
Chapter 7: Monitoring 127
7.1 Introduction 127
7.2 What to Monitor 129
7.3 How to Monitor 134
7.4 When to Change the Monitoring Configuration 139
7.5 Interpreting Monitoring Data 139
7.6 Challenges 143
7.7 Tools 147
7.8 Diagnosing an Anomaly from Monitoring Datathe Case of Platformer.com 148
7.9 Summary 152
7.10 For Further Reading 153
Chapter 8: Security and Security Audits 155
8.1 What Is Security? 156
8.2 Threats 157
8.3 Resources to Be Protected 159
8.4 Security Roles and Activities ...