Muutke küpsiste eelistusi

E-raamat: Edge Computing and Capability-Oriented Architecture [Taylor & Francis e-raamat]

, (Microsoft, Redmond, Washington, USA)
  • Formaat: 164 pages, 3 Tables, black and white; 35 Line drawings, black and white; 2 Halftones, black and white; 37 Illustrations, black and white
  • Ilmumisaeg: 16-Aug-2021
  • Kirjastus: CRC Press
  • ISBN-13: 9781003091455
  • Taylor & Francis e-raamat
  • Hind: 124,64 €*
  • * hind, mis tagab piiramatu üheaegsete kasutajate arvuga ligipääsu piiramatuks ajaks
  • Tavahind: 178,05 €
  • Säästad 30%
  • Formaat: 164 pages, 3 Tables, black and white; 35 Line drawings, black and white; 2 Halftones, black and white; 37 Illustrations, black and white
  • Ilmumisaeg: 16-Aug-2021
  • Kirjastus: CRC Press
  • ISBN-13: 9781003091455

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. 



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.

Foreword xi
Section I Edge computing software fundamentals
1 Edge computing fundamentals
3(16)
1.1 Finding the edge
4(2)
1.1.1 Edge computing models
4(2)
1.1.2 Defining edge computing S
1.2 Edge computing characteristics
6(6)
1.2.1 Compute in context
7(1)
1.2.2 Capability oriented
7(1)
1.2.3 Centralized management, distributed compute
8(1)
1.2.4 Secured
9(1)
1.2.5 Heterogeneity
10(2)
1.3 Edge computing scenarios
12(6)
1.3.1 loT scenarios
12(1)
1.3.2 Hardware as a service
13(1)
1.3.3 Hybrid scenarios
14(1)
1.3.4 SG scenarios
15(2)
1.3.5 Edge computing in a pandemic
17(1)
1.4 Summary
18(1)
2 Edge computing factors
19(20)
2.1 Edge computing networking
19(5)
2.1.1 Software-defined network (SDN)
19(2)
2.1.2 Sensor networks
21(1)
2.1.3 SG
22(2)
2.1.4 Long-distance networks
24(1)
2.2 Edge devices
24(7)
2.2.1 Edge host
24(1)
2.2.2 Virtualization
25(1)
2.2.3 Software stack
26(2)
2.2.4 Device security
28(1)
2.2.5 Intelligent devices
29(2)
2.3 Fleet management
31(3)
2.3.1 Clustering
31(1)
2.3.2 Identities and access control
32(2)
2.3.3 Configurations and policies
34(1)
2.4 Perspectives and uniformity
34(3)
2.4.1 Human players
35(1)
2.4.2 Multiple perspectives
35(1)
2.4.3 Uniformity
36(1)
2.5 Summary
37(2)
Section II Edge computing design patterns 39(82)
3 Edge to cloud
41(16)
3.1 Data collection patterns
42(5)
3.1.1 Data collection through messaging
42(2)
3.1.2 Data collection through ingress endpoints
44(1)
3.1.3 Bulk data transportation and in-context data processing
45(1)
3.1.4 Data pipeline on cloud
45(2)
3.2 Remoting patterns
47(4)
3.2.1 Connected consumer devices
48(1)
3.2.2 Online collaborations
49(1)
3.2.3 Cloud-based relays
50(1)
3.2.4 Multi-party computations
50(1)
3.3 Compute offloading patterns
51(4)
3.3.1 Multi-level offloading
52(1)
3.3.2 Bursting to cloud
52(1)
3.3.3 Adaptive offloading
53(1)
3.3.4 Dynamic delegation
54(1)
3.4 Summary
55(2)
4 Cloud to edge
57(24)
4.1 Edge acceleration patterns
57(2)
4.1.1 Smart CDNs
58(1)
4.1.2 EdgeWorkers
58(1)
4.2 Cloudlet pattern
59(1)
4.2.1 AWS Wavelength
59(1)
4.2.2 Azure Edge Zones
60(1)
4.3 Edge functions pattern
60(5)
4.3.1 AWS IoT Greengrass
62(1)
4.3.2 Azure IoT Edge
62(1)
4.3.3 Apache OpenWhisk
63(1)
4.3.4 Function host management at scale
63(1)
4.3.5 Edge PaaS paradox
64(1)
4.4 Cloud compute stack on edge
65(6)
4.4.1 AWS Outputs
66(2)
4.4.2 Azure Stack
68(1)
4.4.3 OpenStack
69(2)
4.5 Edge native compute stack
71(4)
4.5.1 Uplifting on-premises datacenters
71(1)
4.5.2 Template-based compute stack
72(2)
4.5.3 Multi-access edge computing framework
74(1)
4.6 Autonomous systems
75(4)
4.6.1 From automatic to autonomous
75(1)
4.6.2 The human factor
76(1)
4.6.3 Autonomous system architecture
77(1)
4.6.4 Cloud-assisted robotics
78(1)
4.7 Summary
79(2)
5 Kubernetes on edge
81(22)
5.1 An anatomy of a Kubernetes cluster
82(4)
5.1.1 Kubelet
83(1)
5.1.2 CRI
83(1)
5.1.3 OCI
84(1)
5.1.4 Device plugin
84(1)
5.1.5 CNI
85(1)
5.1.6 Cluster API
86(1)
5.2 Lightweight Kubernetes clusters
86(2)
5.2.1 Minikube
86(1)
5.2.2 K3s
87(1)
5.2.3 MicroK8s
87(1)
5.3 Separating the control plane and the compute plane
88(2)
5.3.1 KubeEdge
88(1)
5.3.2 OpenYurt
89(1)
5.4 Custom kubelet implementations
90(3)
5.4.1 Virtual kubelet
90(2)
5.4.2 Krustlet
92(1)
5.5 Lightweight container runtimes
93(4)
5.5.1 CRI-O
93(1)
5.5.2 Kata containers
94(1)
5.5.3 Windows containers
94(1)
5.5.4 Nabla containers
95(1)
5.5.5 k3 container solution
95(1)
5.5.6 Other noticeable container runtimes
96(1)
5.6 Cluster federation
97(3)
5.6.1 Federation topologies
97(2)
5.6.2 Key challenges
99(1)
5.7 Securing Kubernetes clusters on edge
100(2)
5.7.1 Container isolation
100(1)
5.7.2 Data protection
101(1)
5.7.3 Access control
102(1)
5.7.4 Security monitoring
102(1)
5.8 Summary
102(1)
6 Edge native design
103(18)
6.1 Edge native applications
103(8)
6.1.1 Autonomous bootstrapping
103(1)
6.1.2 Adaptive to environmental changes
104(1)
6.1.3 Edge high availability
105(2)
6.1.4 End-to-end security
107(3)
6.1.5 Manageability at scale
110(1)
6.2 A model for designing edge native applications
111(4)
6.2.1 The OSMP model
112(2)
6.2.2 Perspectives
114(1)
6.2.3 Views
115(1)
6.3 Edge native design
115(5)
6.3.1 Bootstrapping
116(1)
6.3.2 Adaptive design
116(1)
6.3.3 Edge high availability
117(2)
6.3.4 End-to-end security practices with the OSMP model
119(1)
6.3.5 Manageability
119(1)
6.4 Summary
120(1)
Section III Capability-oriented architecture 121(40)
7 Introduction to capability-oriented architecture
123(20)
7.1 Capability proxy
123(6)
7.1.1 Location transparency
124(1)
7.1.2 Hybrid patterns
125(1)
7.1.3 Proxy middleware
126(1)
7.1.4 Proxy bootstrapper, capability set, capability profile and acquisition agent
127(1)
7.1.5 Proxy HA
128(1)
7.2 Intention
129(3)
7.2.1 Interpreting user intention
130(2)
7.2.2 Intention annotations
132(1)
7.3 Semantic service discovery
132(4)
7.3.1 Semantic service discovery process
133(1)
7.3.2 Capability endpoint
134(1)
7.3.3 Classic service discovery and description
134(1)
7.3.4 Acquisition recipe
135(1)
7.3.5 Client-initiated auctions
135(1)
7.4 COA compute plane
136(4)
7.4.1 Skynet-style computing
136(2)
7.4.2 Crowdsourced cloud
138(2)
7.4.3 Better computing for everyone
140(1)
7.5 Context
140(2)
7.5.1 User context
140(1)
7.5.2 Activity context
141(1)
7.5.3 Device context
142(1)
7.6 Summary
142(1)
8 COA applications
143(18)
8.1 A phone without applications
143(2)
8.2 Intelligent applications
145(2)
8.3 Zero-touch device provisioning
147(3)
8.3.1 Device provisioning process
148(1)
8.3.2 Design a generic solution
149(1)
8.4 Collaborative computing
150(2)
8.5 Context-aware computing
152(4)
8.5.1 Device context descriptor
152(1)
8.5.2 Adapt to network conditions
153(1)
8.5.3 Real-world contexts
154(2)
8.6 Approachable AI
156(2)
8.6.1 Al inferences
156(1)
8.6.2 Custom Al models
157(1)
8.7 Browser-based cloud
158(2)
8.8 COA - A confession
160(1)
8.9 Summary
160(1)
Index 161
Haishi Bai works at Microsoft as a Principal Software Engineer. He is a passionate developer, experienced architect and devoted educator. Hes authored nine cloud computing and distributed system books covering a great spectrum of cloud and edge technologies. Hes the creator and active contributor to open source projects like Open Application Model (OAM), quantum circuit simulator (Bono) and Distributed Application Runtime (Dapr). Hes also a third-year volunteer instructor teaching programming at high schools.

Boris Scholl is a Partner Product Architect with Microsofts 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).