Fueled by ubiquitous computing ambitions, the edge is at the center of confluence of many emergent technological trends such as hardware-rooted trust and code integrity, 5G, data privacy and sovereignty, blockchains and distributed ledgers, ubiquitous sensors and drones, autonomous systems and real-time stream processing. Hardware and software pattern maturity have reached a tipping point so that scenarios like smart homes, smart factories, smart buildings, smart cities, smart grids, smart cars, smart highways are in reach of becoming a reality. While there is a great desire to bring born-in-the-cloud patterns and technologies such as zero-downtime software and hardware updates/upgrades to the edge, developers and operators alike face a unique set of challenges due to environmental differences such as resource constraints, network availability and heterogeneity of the environment.
The first part of the book discusses various edge computing patterns which the authors have observed, and the reasons why these observations have led them to believe that there is a need for a new architectural paradigm for the new problem domain. Edge computing is examined from the app designer and architect's perspectives. When they design for edge computing, they need a new design language that can help them to express how capabilities are discovered, delivered and consumed, and how to leverage these capabilities regardless of location and network connectivity. Capability-Oriented Architecture is designed to provide a framework for all of these.
This book is for everyone who is interested in understanding what ubiquitous and edge computing means, why it is growing in importance and its opportunities to you as a technologist or decision maker. The book covers the broad spectrum of edge environments, their challenges and how you can address them as a developer or an operator. The book concludes with an introduction to a new architectural paradigm called capability-based architecture, which takes into consideration the capabilities provided by an edge environment.
.
About the Author: Haishi Bai works at Microsoft as a Principal Software Engineer. He is a passionate developer, experienced architect and devoted educator. He's authored nine cloud computing and distributed system books covering a great spectrum of cloud and edge technologies. He's the creator and active contributor to open source projects like Open Application Model (OAM), quantum circuit simulator (Bono) and Distributed Application Runtime (Dapr). He's also a third-year volunteer instructor teaching programming at high schools.
Boris Scholl is a Partner Product Architect with Microsoft's Cloud & AI engineering team focusing on the next generation of distributed systems platforms and application models for cloud and edge. He has been working on Azure Developer tools and platforms in various product engineering roles since late 2011. Boris rejoined the Azure Compute team in 2018 after having spent the 18 months outside Microsoft working as a VP of Engineering with Oracle building out a microservices platform based on Kubernetes and Service Meshes. His work on distributed systems platforms has resulted in several patents on cloud computing and distributed systems. He is a frequent speaker at industry events, a contributor to many blogs, instructor for distributed computing topics and the lead author of one of the first books about microservices and Docker on Azure (Microservices with Docker on Azure).