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, block chains and distributed ledgers, ubiquitous sensors and drones, autonomous systems, real time and 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 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 environments.
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’s and architect’s perspective. 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. We will cover the broad spectrum of edge environments, their challenges and how you can address them as a developer or operator. This book will conclude with the introduction of a new architectural paradigm called capability-based architectures which takes into consideration of the capabilities provided by an edge environment.
Table of Contents
SECTION 1 EDGE COMPUTING SOFTWARE FUNDAMENTALS
1. Edge Computing Fundamentals
2. Edge Computing Factors
SECTION 2 EDGE COMPUTING DESIGN PATTERNS
3. Edge to Cloud
4. Cloud to Edge
5. Kubernetes on Edge
6. Edge Native Design
SECTION 3 CAPABILITY ORIENTED ARCHITECTURE
7. Introduction to Capability Oriented Architecture
8. COA Applications
Haishi Bai works at Microsoft as a Principal Software Engineer. He is a passionate developer, experienced architect, and devoted educator. He’s authored 9 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 teacher 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 re-joined 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. Boris 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).