Explore 1.5M+ audiobooks & ebooks free for days

Only €10,99/month after trial. Cancel anytime.

Edge Computing Patterns for Solution Architects: Learn methods and principles of resilient distributed application architectures from hybrid cloud to far edge
Edge Computing Patterns for Solution Architects: Learn methods and principles of resilient distributed application architectures from hybrid cloud to far edge
Edge Computing Patterns for Solution Architects: Learn methods and principles of resilient distributed application architectures from hybrid cloud to far edge
Ebook547 pages3 hours

Edge Computing Patterns for Solution Architects: Learn methods and principles of resilient distributed application architectures from hybrid cloud to far edge

Rating: 0 out of 5 stars

()

Read preview
LanguageEnglish
PublisherPackt Publishing
Release dateJan 30, 2024
ISBN9781805125815
Edge Computing Patterns for Solution Architects: Learn methods and principles of resilient distributed application architectures from hybrid cloud to far edge
Author

Ashok Iyengar

Ashok Iyengar, raised in a conservative Indian background, has traveled extensively around the world as a construction engineer and sports enthusiast. Laura Dallape was born and raised in the rural Midwest and uses those experiences in the creation of this novel.

Related to Edge Computing Patterns for Solution Architects

Related ebooks

Computers For You

View More

Reviews for Edge Computing Patterns for Solution Architects

Rating: 0 out of 5 stars
0 ratings

0 ratings0 reviews

What did you think?

Tap to rate

Review must be at least 10 words

    Book preview

    Edge Computing Patterns for Solution Architects - Ashok Iyengar

    Cover.png

    Edge Computing Patterns for Solution Architects

    Copyright © 2024 Packt Publishing

    All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

    Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author(s), nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.

    Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

    Group Product Manager: Kunal Sawant

    Publishing Product Manager: Samriddhi Murarka

    Book Project Manager: Manisha Singh

    Senior Editor: Nithya Sadanandan

    Technical Editor: Vidhisha Patidar

    Copy Editor: Safis Editing

    Indexer: Pratik Shirodkar

    Production Designer: Ponraj Dhandapani

    DevRel Marketing Coordinator: Shrinidhi Manoharan

    Business Development Executive: Debadrita Chatterjee

    First published: January 2024

    Production reference: 1190124

    Published by Packt Publishing Ltd.

    Grosvenor House

    11 St Paul’s Square

    Birmingham

    B3 1RB, UK

    ISBN 978-1-80512-406-1

    www.packtpub.com

    This book would not be possible without the unwavering support and understanding of Radha and tons of encouragement from Sameer, Siddharth, and Mythili. They collectively inspire me with their own successes. And to my newest cheerleader, Seelan, who never ceases to amaze me.

    -- Ashok Iyengar

    To my mentor and guide, Rob High. Thanks for the guidance, trust, and opportunity to learn about edge computing.

    – Joe Pearson

    Contributors

    About the authors

    Ashok Iyengar is an Executive Cloud Architect at IBM. As a member of the Architecture Guild, he focuses on creating solution architectures that encompass distributed computing, edge computing and AI. He follows NDSU Bison football and is eagerly looking forward to bringing generative AI to edge computing. He enjoys being a mentor, author, speaker and blogger.

    I owe a debt of gratitude to my co-author, Joe Pearson, who keeps me honest. I would not have undertaken this effort if it was not for his willingness, encouragement and tireless work ethic.

    Joseph Pearson has worked as a college instructor and in various media companies for over three decades, most recently as Software Architect at The Weather Channel on weather.com. He has since worked for IBM Cloud as a Strategist and then IBM Software in Edge Computing. He currently works for IBM Software’s Networking and Edge Computing unit on their open source strategy. He volunteers with the Linux Foundation as Chair of the LF Edge Technical Advisory Council (TAC) and leads the Open Horizon project. And in any spare time, he enjoys geocaching.

    I would like to thank my wife and children for bearing with me as I stole time from them throughout the process of writing this book. I especially want to thank Ashok Iyengar for supporting and encouraging me to tackle working on this book when it seemed so daunting. It’s always helpful to have an experienced friend and author to collaborate with who can also be a big brother and provide frank guidance when it’s most needed.

    About the reviewer

    Frédéric Desbiens manages Embedded, IoT, and Edge Computing programs at the Eclipse Foundation, Europe’s largest open-source organization. His job is to help the community innovate by bringing devices and software together. He is a strong supporter of open source. In the past, he worked as a product manager, solutions architect, and developer for companies as diverse as Pivotal, Cisco, and Oracle. Frédéric holds an MBA in electronic commerce, a BASc in Computer Science, and a BEd, all from Université Laval (Québec City, Canada).

    Frédéric is the author of Building Enterprise IoT Solutions using Eclipse IoT Technologies: An Open-Source Approach to Edge Computing, published in December 2022 by Apress (ISBN: 978-1484288818).

    Table of Contents

    Preface

    Part 1:Overview of Edge Computing as a Problem Space

    1

    Our View of Edge Computing

    Suggested pre-reading material

    Speaking like an edge native

    What is the edge?

    Are the edge and the cloud extremes of the same thing?

    How does edge computing bring value, and why now?

    Which edge? Categorizing edges

    The user edge – field-deployed compute

    The SP edge – regional compute

    Your computer or mine? Tactics for service deployment

    Edge computing doesn’t require dedicated resources

    Single device, running multiple applications simultaneously

    Single device, alternating applications by schedule or purpose

    Hosted edge infrastructure – applications on shared compute

    Cloud-out versus edge-in

    Looking deeper at cloud-out architectures

    Delving into edge-in architectures

    Introducing archetype patterns

    What is an archetype?

    The days of software creation

    Deploying archetype patterns

    Summary

    2

    Edge Architectural Components

    Edge components

    Functional requirements

    Sensing

    Inferencing

    Analytics

    Data

    Non-functional requirements

    Security

    Service management and operations

    Edge use cases and patterns

    Edge device specifications and protocols

    Architectural decisions

    Grouping edge ADs

    Cloud

    Network

    Server/cluster

    Device

    Summary

    Part 2: Solution Architecture Archetypes in Context

    3

    Core Edge Architecture

    Suggested pre-reading material

    What is legacy IoT architecture?

    A bit of history

    Purpose and promise

    Fundamental drawbacks

    Device configuration

    Rationale

    Architectural element categories

    Edge devices versus edge hub

    Reviewing the pattern

    Self-propelled inspection robot example

    Containers

    Disconnected operations

    Summary

    4

    Network Edge Architecture

    Definitions

    NFV

    NFV considerations

    SDN

    VNF, NFV, SDN, and edge computing

    Underlay and overlay networks

    Network traffic management

    MEC

    Network edge architecture

    RAN

    CSPs and hyperscalers

    Sample architectures

    Manufacturing scenario

    Healthcare scenario

    Campus network scenario

    Summary

    5

    End-to-End Edge Architecture

    IT and OT convergence

    AI and edge computing

    Industrial edge scenario

    Manufacturing scenario

    Retail edge scenario

    Retail store scenario

    Network slicing

    Example scenario

    Edge reference architecture

    The cloud

    The network

    The edge

    Edge and distributed cloud computing

    Distributed cloud computing

    The scenario

    Summary

    Part 3: Related Considerations and Concluding Thoughts

    6

    Data Has Weight and Inertia

    Suggested pre-reading material

    Data encryption

    Motivations for encrypting data

    Protecting data without making it difficult to use

    Ensuring that data modifications are noticeable

    Data storage and management

    Strategies for defining and enforcing data policies

    Usage options ranging from real to synthetic data

    Rules of thumb for retaining data, or not

    Using data to build machine learning (ML) models

    The promise of foundation models

    How small and efficient can we make models?

    Customizing existing models for each deployment

    Using general-purpose platforms rather than single-purpose applications

    Connectivity and the data plane

    Optimizing data availability without connectivity

    Aggregating data versus keeping it distributed

    Migrating data files automatically

    Summary

    7

    Automate to Achieve Scale

    Automating service delivery

    DevOps

    Infrastructure as code

    Extending automation to the edge

    Developing edge applications

    Scalability with automation

    Prepping an edge device

    Prepping an edge cluster

    Operational security

    Limiting physical access

    Limiting connectivity

    Trusted hardware and provisioning

    Trusted data

    Trusted compute

    Tactical Edge

    Automation with AI

    LLMs and generative AI

    Using AI in automation

    Summary

    8

    Monitoring and Observability

    Monitoring and observability

    How monitoring works

    How observability works

    How network observability works

    Measuring to improve

    Network observability example

    What to measure

    Real user monitoring

    Network performance management

    Anomaly detection

    Capacity

    Business outcomes

    Improving edge solution

    Monitoring challenges at the edge

    Configuration changes at the edge

    Edge application monitoring

    Personas

    Summary

    9

    Connect Judiciously but Thoughtlessly

    Suggested pre-reading material

    Declarative versus imperative configuration

    Comparing the two approaches

    What slows down application deployment on the edge?

    Solutioning edge-connected networks and applications

    Zero Trust or as close as you can get

    Managing secrets on the edge

    Zero Trust architectures in edge computing

    Secure access service edge

    Overlay, underlay, and shared responsibilities

    The network underlay

    The network overlay

    Zero Trust Network Access

    End-to-end encryption

    Application-centric networking

    Summary

    10

    Open Source Software Can Benefit You

    Suggested pre-reading material

    Open source and edge computing

    Edge computing and OSS are intertwined

    Do you really need to create that component?

    Creating and supporting an open source program office (OSPO)

    A software bill of materials is your friend

    Using SBOMs to track software dependencies

    The characteristics of a mature OSS project

    How to nurture and assist projects you rely on

    Responses to projects that stray from their mission

    Common objections

    Recommendations for contributing code

    Let the cat out of the bag (Successfully open source your code and documentation)

    Five options for open sourcing

    What to open source

    Summary

    11

    Recommendations and Best Practices

    Suggested pre-reading material

    Edge-native best practices as an outgrowth of cloud native

    Pulling can be more secure than pushing

    Application dependency resolution approaches

    Deployment models for distributed edge applications compared

    Making antifragile applications

    Defining the terms

    What are your current areas of weakness or vulnerability?

    Properties of antifragile architectures

    An ounce of prevention...

    When things go wrong

    What to avoid

    Anti-patterns

    How to recover, gracefully or not

    Summary

    Index

    Other Books You May Enjoy

    Preface

    Edge computing as we know it has rapidly evolved from its early days as a successor to the Internet of Things (IoT). Processing data at the source has become the ultimate goal because businesses and people expect analytics insights to be available and transaction results to be cleared in real time. That includes medical analysis, money transfers, payment receipts, video inferencing, and voice recognition. All this is possible because devices have become smart and the communication networks are able to deliver high speed and high throughput with low latencies to these new deployments. We have seen the rise of a new paradigm of application architecture specifically designed to run in domains that are not only constrained but also widely distributed. The IT architectures facilitating these advancements are unique because of the very nature of edge computing.

    If the name of the game is to get insights quickly from all the data, we have to ensure there are applications able to do that, devices that can host the applications, and a network facilitating the information flow. That is the challenge solution architects face, which is who this book is primarily written for.

    Drawing from real-world deployments in large enterprises and standards proposed by edge computing community organizations, this book emphasizes practical and tested-at-scale patterns and best practices used by leading companies worldwide. The book takes the reader from edge computing terminology and concepts to simple architectures, and eventually through end-to-end industry-specific approaches. It gives several points of view and rules of thumb and provides resources and recommendations for deeper thinking and research.

    Who this book is for

    This book is intended for IT professionals who have created solution architectures and are looking to extend their skills to the edge computing space. It should be valuable to VPs of IT infrastructure, enterprise architects, solution architects, and SRE professionals who are familiar with cloud computing and are interested in creating an edge reference architecture or a solution architecture for a particular industry use case. The book provides common patterns from solutions implemented by customers in industries ranging from retail to telcos to manufacturing.

    What this book covers

    Chapter 1

    , Our View of Edge Computing, establishes a shared vernacular, describes infrastructure scenarios, and relies on industry conventions to ensure standard and widely compatible solutions.

    Chapter 2

    , Edge Architectural Components, covers four roles of components in edge architectures, benefits and limitations, and functional versus non-functional requirements.

    Chapter 3

    , Core Edge Architecture, covers managing and enabling sensors and smart devices using the Edge Device Hub pattern.

    Chapter 4

    , Network Edge Architecture, explores transitioning to software-defined network architectures to enable digital service provider scenarios.

    Chapter 5

    , End-to-End Edge Architecture, brings together devices, macro components, and applications to solve industry-specific challenges.

    Chapter 6

    , Data Has Weight and Inertia, explores the data-related considerations that edge-native solutions will need to address.

    Chapter 7

    , Automate to Achieve Scale, includes approaches that have worked at the extreme scales that edge deployments may encounter.

    Chapter 8

    , Monitoring and Observability, covers how to ensure that a deployed edge solution is performing as designed, despite unique challenges.

    Chapter 9

    , Connect Judiciously but Thoughtlessly, covers three connection scenarios and how application-centered approaches can address them.

    Chapter 10

    , Open Source Software Can Benefit You, explores strategies for ensuring that open source dependencies are used optimally, and when and how an enterprise should open source their solutions.

    Chapter 11

    , Recommendations and Best Practices, takes a wider view of the problem space and how thinking deeply about what you are doing and why can yield some surprising insights.

    Images used in the book

    You can find the images used in this book in the GitHub repository at https://github.com/PacktPublishing/Edge-Computing-Patterns-for-Solution-Architects

    .

    Conventions used

    There are a number of text conventions used throughout this book.

    Code in text: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: If you notice closely, it is an Open Horizon environment variable, namely HZN_DEVICE_ID.

    A block of code is set as follows:

    #!/bin/sh

    # Simple edge service

    while true; do

        echo HZN_DEVICE_ID says: Hello from Packt!

        sleep 5

    done

    Bold: Indicates a new term, an important word, or words that you see onscreen. For instance, words in menus or dialog boxes appear in bold. Here is an example: The following code snippet is a very simple Hello World service that outputs Hello from Packt every five seconds.

    Tips or important notes

    Appear like this.

    Get in touch

    Feedback from our readers is always welcome.

    General feedback: If you have questions about any aspect of this book, email us at [email protected]

    and mention the book title in the subject of your message.

    Errata: Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you have found a mistake in this book, we would be grateful if you would report this to us. Please visit www.packtpub.com/support/errata

    and fill in the form.

    Piracy: If you come across any illegal copies of our works in any form on the internet, we would be grateful if you would provide us with the location address or website name. Please contact us at [email protected]

    with a link to the material.

    If you are interested in becoming an author: If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com

    .

    Share Your Thoughts

    Once you’ve read Edge Computing Patterns for Solution Architects, we’d love to hear your thoughts! Please click here to go straight to the Amazon review page for this book and share your feedback

    .

    Your review is important to us and the tech community and will help us make sure we’re delivering excellent quality content.

    Download a free PDF copy of this book

    Thanks for purchasing this book!

    Do you like to read on the go but are unable to carry your print books everywhere?

    Is your eBook purchase not compatible with the device of your choice?

    Don’t worry, now with every Packt book you get a DRM-free PDF version of that book at no cost.

    Read anywhere, any place, on any device. Search, copy, and paste code from your favorite technical books directly into your application.

    The perks don’t stop there, you can get exclusive access to discounts, newsletters, and great free content in your inbox daily

    Follow these simple steps to get the benefits:

    Scan the QR code or visit the link below

    https://packt.link/free-ebook/9781805124061

    Submit your proof of purchase

    That’s it! We’ll send your free PDF and other benefits to your email directly

    Part 1:Overview of Edge Computing as a Problem Space

    To build a shared understanding, we lay the groundwork and survey the territory in the first two chapters. Since the concepts and terminology in edge computing can be overloading, it’s important to explain exactly what is meant when we elucidate our concepts, problems, and solutions. The first two chapters in the book aim to provide clarity and a common foundation that will be built on in Parts 2 and 3. This part begins with how to think and talk about edge computing grounded in context. It then delves into the various components, describes their purposes, and shows how they relate to others and where they best fit.

    This part has the following chapters:

    Chapter 1

    , Our View of Edge Computing

    Chapter 2

    , Edge Architectural Components

    1

    Our View of Edge Computing

    One of the first challenges when discussing edge computing between IT professionals is establishing a shared vernacular. In the authors’ experience, professionals in this space differ in how they describe the goals, methods, available tools, and deployment targets/operating environments. We’ve also found that, due to experiences and even generational distinctions, some fundamental assumptions may be at play. By agreeing on a definition of terms at the outset, we avoid misunderstandings and talking past each other.

    In this chapter, we will start by describing various edge computing scenarios from an infrastructure point of view, moving from cloud to far edge based on our experiences, research, and available de facto standards. Along the way, we compare and contrast different points of view that will affect architectural choices you can make, such as edge computing versus distributed computing and the network edge versus the enterprise edge.

    We will rely on conventions covered in the Suggested pre-reading material section, such as State of the Edge annual reports and LF Edge whitepapers. By the end of the chapter, you should have the shared vocabulary and a wider perspective needed to engage in fruitful conversations on edge computing with software architects and other IT professionals.

    In this chapter, we will cover the following main topics:

    Speaking like an edge native

    Which edge? Categorizing edges

    Your computer or mine? Tactics for service deployment

    Cloud-out versus edge-in

    Introducing archetype patterns

    Suggested pre-reading material

    State of the Edge Report 2023 (The Linux Foundation)

    (https://stateoftheedge.com/reports/state-of-the-edge-report-2023/

    )

    From DevOps to EdgeOps: A Vision for Edge Computing (Eclipse Foundation) (https://outreach.eclipse.foundation/edge-computing-edgeops-white-paper

    )

    Sharpening the Edge – Part 1 (LF Edge) (https://lfedge.org/wp-content/uploads/sites/24/2023/12/LFEdge_Akraino_Whitepaper2_v1_PrePrint.pdf

    )

    Sharpening the Edge – Part 2 (LF Edge) (https://lfedge.org/wp-content/uploads/sites/24/2023/12/LFEdgeTaxonomyWhitepaper_062222.pdf

    )

    Software-as-a-Service (SaaS) overview (https://www.salesforce.com/saas/

    )

    Defining software deployment as days (https://dzone.com/articles/defining-day-2-operations

    )

    Speaking like an edge native

    In this section, you will learn to articulate fundamental differences between the edge and the cloud. This impacts the available infrastructure, platforms, services, and application deployments. Additionally, you will be able to explain concisely what the edge is and what the field of edge computing does to both line-of-business (LOB) executives and other non-IT professionals. This includes being able to explain the value it can provide, as well as why this field is emerging at this point in time.

    What is the edge?

    The edge in edge computing is commonly used to describe the location where computing takes place. The name itself is meant to evoke a spot in a corner or by the wayside, and not in a central area, and actually refers to the very end of a communications network (the edge of the internet; see Figure 1.1). Thus, edge computing happens outside a cloud computing facility, and many times outside the four walls of a traditional data center (DC).

    Edge computing

    Enjoying the preview?
    Page 1 of 1