Contents ' Copyright IBM Corp. 2 020. All rights reserved. iii Notices  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii Preface  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii Now you can become a published author, too! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix Stay connected to IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix Chapter 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1 Integration has changed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Audience and scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Navigating the book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Chapter 2. Agile integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1 Agile integration: A brief introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.1 People: Decentralized integration ownership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.1.2 Architecture: Delivery focused integration architecture. . . . . . . . . . . . . . . . . . . . . . 7 2.1.3 Infrastructure aspect: Cloud-portable integration infrastructure . . . . . . . . . . . . . . . 9 2.2 The journey so far: SOA, ESBs, and APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.1 The forming of the ESB pattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.2 What went wrong for the centralized ESB pattern . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.3 The API economy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 Microservices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.1 The rise of lightweight run times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.2 Microservices architecture: A more agile and scalable way to build applications . 14 2.3.3 Comparing SOA and the microservices architecture . . . . . . . . . . . . . . . . . . . . . . 17 2.3.4 Bi-modal IT and decentralization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.3.5 Decentralization and integration versus point-to-point . . . . . . . . . . . . . . . . . . . . . 20 2.4 The three aspects of agile integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5 People: Decentralized integration ownership . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5.1 Moving to a decentralized and business-focused team structure . . . . . . . . . . . . . 23 2.5.2 Big bangs generally lead to big disasters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.5.3 Decentralized integration ownership and decentralized infrastructures . . . . . . . . 25 2.5.4 Prioritizing project delivery first . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.5.5 Evolving the role of the architect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 2.5.6 Automation: The key to consistency in decentralization . . . . . . . . . . . . . . . . . . . . 27 2.5.7 Producing multi-skilled developers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.5.8 Conclusions on decentralized integration ownership . . . . . . . . . . . . . . . . . . . . . . 30 2.6 Architecture: Delivery-focused architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.6.1 Consumer-centric API management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 2.6.2 Fine-grained application integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 2.6.3 Application-owned messaging and events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.6.4 Conclusions on delivery-focused architecture. . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 2.7 Technology: Cloud-native infrastructure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.7.1 Virtual machines, containers, and serverless . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.7.2 Cloud-native approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2.7.3 Portability: Public, private, and multicloud. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 2.7.4 Conclusion on cloud-native integration infrastructure . . . . . . . . . . . . . . . . . . . . . . 39