107,99 €
Explore the cloud-native paradigm for event-driven and service-oriented applications In Cloud-Native Computing: How to Design, Develop, and Secure Microservices and Event-Driven Applications, a team of distinguished professionals delivers a comprehensive and insightful treatment of cloud-native computing technologies and tools. With a particular emphasis on the Kubernetes platform, as well as service mesh and API gateway solutions, the book demonstrates the need for reliability assurance in any distributed environment. The authors explain the application engineering and legacy modernization aspects of the technology at length, along with agile programming models. Descriptions of MSA and EDA as tools for accelerating software design and development accompany discussions of how cloud DevOps tools empower continuous integration, delivery, and deployment. Cloud-Native Computing also introduces proven edge devices and clouds used to construct microservices-centric and real-time edge applications. Finally, readers will benefit from: * Thorough introductions to the demystification of digital transformation * Comprehensive explorations of distributed computing in the digital era, as well as reflections on the history and technological development of cloud computing * Practical discussions of cloud-native computing and microservices architecture, as well as event-driven architecture and serverless computing * In-depth examinations of the Akka framework as a tool for concurrent and distributed applications development Perfect for graduate and postgraduate students in a variety of IT- and cloud-related specialties, Cloud-Native Computing also belongs in the libraries of IT professionals and business leaders engaged or interested in the application of cloud technologies to various business operations.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 649
Veröffentlichungsjahr: 2022
Cover
Series Page
Title Page
Copyright Page
About the Authors
Preface
Acknowledgments
1 The Dawning of the Digital Era
Demystifying the Digitization Paradigm
Delineating the Digitalization Technologies
Trendsetting Technologies for the Digital Era
Why Digitization Is Indispensable
The Connectivity and Integration Options
The Promising Digital Intelligence Methods
The Technological Approaches Toward Smarter Environments
Briefing the Brewing Idea of Digital Twin
Envisioning the Digital Universe
Cloud‐Native Applications (CNAs)
Conclusion
References
2 The Cloud‐Native Computing Paradigm for the Digital Era
Introduction
The Onset of the Digital Era
The Maturity of Software‐defined Cloud Environments
The Hybrid Model of Microservices Architecture (MSA) and Event‐driven Architecture (EDA)
The Aspect of Containerization
The Emergence of Container Lifecycle Management Platforms
Tending Toward Cloud‐Native Computing
Demystifying the Cloud‐Native Architecture Style
Distinguishing Cloud‐Native Infrastructure
Cloud‐Native Security
Cloud‐Native Computing Advantages
Conclusion
References
3 Kubernetes Architecture, Best Practices, and Patterns
Introduction
The Emergence of Containerized Applications for IT Portability
Microservices Architecture (MSA) Applications for IT Agility and Adaptivity
The Onset of Containerized Cloud Environments
The Need for Container Orchestration Platform Solutions
The Significance of Kubernetes for Cloud‐Native Systems
Kubernetes for Edge Cloud Environments
Kubernetes for Multi‐Cloud Implementations
Delineating the Kubernetes’ Master–Slave Architecture
The Special Features of the Kubernetes Platform
Best Practices for Efficient and Effective Kubernetes
Kubernetes Patterns
Conclusion
References
4 The Observability, Chaos Engineering, and Remediation for Cloud‐Native Reliability
Introduction
The Emergence of Cloud‐Native Observability
The Key Motivations for Cloud‐Native Applications
Cloud‐Native Applications: The Realization Technologies
DevOps for Cloud‐Native Applications (CNAs)
Container Orchestration Platforms
The Cloud‐Native Application Challenges [1, 2]
Cloud‐Native Resiliency
Cloud‐Native Chaos Engineering
Cloud‐Native Observability [3–5]
Cloud‐Native Observability: The Benefits
Cloud‐Native Observability for Chaos Engineering
AIOps‐Enabled Cloud‐Native Observability
Building System Resilience Through AIOps
Cloud‐Native Remediation
Conclusion
References
5 Creating Kubernetes Clusters on Private Cloud (VMware vSphere)
Introduction
Deployment Pre‐requirements
Download OpenShift Installation for vSphere
Adding vCenter Root CA Certificates to your Installer VM
Deploying the OCP Cluster on VMware vSphere
Installing the CLI on Linux
Uninstall OpenShift Cluster
Conclusion
Further Reading
6 Creating Kubernetes Clusters on Public Cloud (Microsoft Azure)
Introduction
Prerequisites
DNS Creation
Conclusion
Further Reading
7 Design, Development, and Deployment of Event‐Driven Microservices Practically
Introduction
Technology Stack to Build Microservices
Express Framework
Steps to Set Up Your Project
Blog Post Microservice
Comments Microservice
Implementation of Event‐Driven Model
Event Bus
Deployment Strategies
Conclusion
8 Serverless Computing for the Cloud‐Native Era
Introduction
The Key Motivations for Serverless Computing [1, 2]
Briefing Serverless Computing
The Serverless Implications
The Evolution of Serverless Computing [3, 4]
Serverless Application Patterns
Containers as the Function Runtime
Serverless Computing Components [5, 6]
Advantages of Using a Serverless Database
Disadvantages of Using Serverless Databases
Top Benefits of Serverless Computing
Overcoming Serverless Obstacles
The Future of Serverless Computing
Conclusion
Appendix
Knative for Serverless Computing
References
9 Instaling Knative on a Kubernetes Cluster
Introduction
Knative Serving Resources
Further Reading
10 Delineating Cloud‐Native Edge Computing
Introduction
Briefing Cloud‐Native Computing
Technical and Business Cases for Cloud‐Native Computing [3, 4]
The Emergence of Edge Computing
Cloud‐Native Technologies for Edge Computing
Benefits of Bringing the Cloud‐Native Principles to the Edge
The Deployment Scenarios at the Edge
Kubernetes Deployment Options for Edge Computing
Cloud‐Native at the Edge: The Use Cases
Navigating Heterogeneous Environments at the Edge
Monitoring Kubernetes‐Enabled Edge Environments
Edge Analytics for Real‐Time Video Surveillance
Describing Edge AI
Conclusion
References
11 Setting up a Kubernetes Cluster using Azure Kubernetes Service
Introduction
Benefits of Azure Kubernetes Service
Purpose
An Introduction to Azure Kubernetes Service
Features of Azure Kubernetes Services
Azure Kubernetes Service Use Cases
Common Uses for Azure Kubernetes Service
High‐Level Architecture
Conclusion
Further Reading
12 Reliable Cloud‐Native Applications through Service Mesh
Introduction
Delineating the Containerization Paradigm
Demystifying Microservices Architecture
Decoding the Growing Role of Kubernetes for the Container Era
Describing the Service Mesh Concept [1–3]
Demystifying Service Mesh
The Service Mesh Contributions
The Leading Service Mesh Solutions
Why Service Mesh is Paramount?
Service Mesh Architectures
Monitoring the Service Mesh
Service Mesh Deployment Models
Conclusion
Appendix
References
13 Cloud‐Native Computing
Introduction to Cloud Capabilities
Delineating the Cloud‐Native Paradigm
Why Cloud‐Native Computing
About Cloud‐Native Applications
Beginning of Cloud‐Native Application Security
Cloud‐Native Security Challenges
Capabilities of Cloud‐Native Security Solutions
Cloud‐Native Application Security Procedures
Securing Cloud‐Native Applications
Pillars of Cloud‐Native Security
Cloud‐Native Security: Best Practices
Kubernetes Security Best Practices
Container Security Best Practices
Cloud‐Native Security Best Practices
The Emergence of Cloud‐Native Security Products and Platforms
Key Properties of Cloud‐Native Security Platforms
Cloud Workload Protection Platforms
Kubernetes Security Products
AIOps for Cloud‐Native Security
Conclusion
Reference
14 Microservices Security
Microservice Security Challenges and Concerns
Best Practices to Secure Microservices
How to Implement Fundamental Authentication and Authorization Strategies
Dive Deeper into API Gateway
APACHE APISIX
Configuring APISIX
Conclusion
Further Reading
15 Setting Up Apache Kafka Clusters in a Cloud Environment and Secure Monitoring
Introduction
Introspecting Kafka
Kafka Component Overview
Guide to Set Up a Kafka Cluster
Set Up Your Monitoring Tools for Your Cluster: Prometheus and Grafana
Fetch Metrics Using Prometheus
Conclusion
Further Reading
16 Installing Knative Serving On EKS
Prerequisites
EKS Installation Procedure
Installing Knative Serving Using YAML Files
Index
End User License Agreement
Chapter 2
Figure 2.1 Monolithic versus microservices approaches.
Figure 2.2 Multiple containers running on a container host.
Figure 2.3 What container orchestrators do.
Figure 2.4 A galaxy of support services.
Cover Page
Series Page
Title Page
Copyright Page
About the Authors
Preface
Acknowledgments
Table of Contents
Begin Reading
Index
Wiley End User License Agreement
ii
iii
iv
xi
xiii
xiv
xv
xvi
xvii
xix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
317
318
319
320
321
322
323
324
325
326
327
329
330
331
332
IEEE Press445 Hoes LanePiscataway, NJ 08854
IEEE Press Editorial BoardSarah Spurgeon, Editor in Chief
Jón Atli Benediktsson
Andreas Molisch
Diomidis Spinellis
Anjan Bose
Saeid Nahavandi
Ahmet Murat Tekalp
Adam Drobot
Jeffrey Reed
Peter (Yong) Lian
Thomas Robertazzi
Pethuru Raj
Reliance Jio Platforms Ltd
Bangalore, India
Skylab Vanga
Hybrid Cloud Architect
Kyndrl Solution Pvt Ltd
Bangalore, India
Akshita Chaudhary
Reliance Jio Platforms Ltd
Mumbai, India
Copyright © 2023 by The Institute of Electrical and Electronics Engineers, Inc. All rights reserved.
Published by John Wiley & Sons, Inc., Hoboken, New Jersey.Published simultaneously in Canada.
No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning, or otherwise, except as permitted under Section 107 or 108 of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization through payment of the appropriate per‐copy fee to the Copyright Clearance Center, Inc., 222 Rosewood Drive, Danvers, MA 01923, (978) 750‐8400, fax (978) 750‐4470, or on the web at www.copyright.com. Requests to the Publisher for permission should be addressed to the Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748‐6011, fax (201) 748‐6008, or online at http://www.wiley.com/go/permission.
Limit of Liability/Disclaimer of Warranty: While the publisher and author have used their best efforts in preparing this book, they make no representations or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaim any implied warranties of merchantability or fitness for a particular purpose. No warranty may be created or extended by sales representatives or written sales materials. The advice and strategies contained herein may not be suitable for your situation. You should consult with a professional where appropriate. Neither the publisher nor author shall be liable for any loss of profit or any other commercial damages, including but not limited to special, incidental, consequential, or other damages.
For general information on our other products and services or for technical support, please contact our Customer Care Department within the United States at (800) 762‐2974, outside the United States at (317) 572‐3993 or fax (317) 572‐4002.
Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic formats. For more information about Wiley products, visit our web site at www.wiley.com.
Library of Congress Cataloging‐in‐Publication DataNames: Pethuru Raj, 1968‐ author. | Skylab Vanga, author. | Akshita Chaudhary, author.Title: Cloud‐native computing : how to design, develop, and secure microservices and event‐driven applications / Pethuru Raj Skylab Vanga, Akshita Chaudhary.Description: Hoboken, New Jersey : Wiley‐IEEE Press, [2023] | Includes bibliographical references and index.Identifiers: LCCN 2022017490 (print) | LCCN 2022017491 (ebook) | ISBN 9781119814764 (cloth) | ISBN 9781119814771 (adobe pdf) | ISBN 9781119814788 (epub)Subjects: LCSH: Cloud computing. | Application software–Development.Classification: LCC QA76.585 .C444 2022 (print) | LCC QA76.585 (ebook) | DDC 004.67/82–dc23/eng/20220527LC record available at https://lccn.loc.gov/2022017490LC ebook record available at https://lccn.loc.gov/2022017491
Cover Design: WileyCover Image: © da‐kuk/Getty
Pethuru Raj is a chief architect and vice president at Reliance Jio Platforms Ltd (JPL), Bangalore. Previously, he has worked in IBM Global Cloud Center of Excellence (CoE), Wipro consulting services (WCS), and Robert Bosch Corporate Research (CR). He has more than 22 years of IT industry experience and 8 years of research experience. He has completed his CSIR‐sponsored PhD degree at Anna University, Chennai, and has continued with UGC‐sponsored postdoctoral research in the Department of Computer Science and Automation, Indian Institute of Science (IISc), Bangalore. Pethuru Raj was granted two international research fellowships (JSPS and JST) to work as a research scientist for three and a half years at two leading Japanese universities.
Pethuru Raj’s works focuses on emerging technologies such as the industrial Internet of Things (IoT); artificial intelligence (AI); model optimization techniques; big, fast, and streaming analytics; blockchain; digital twins; cloud‐native computing; edge and serverless computing; reliability engineering; microservices architecture (MSA); event‐driven architecture (EDA); 5G, among others.
You can see a list of Pethuru Raj’s latest books at
https://peterindia.net/MyBooks.html.
Skylab Vanga works as a hybrid cloud architect at Kyndrl Solution Pvt Ltd., Bangalore.
He has had more than 13 years of experience in the IT industry, working on various trending technologies such as Kubernetes, containerization, and big data analytics. Vanga has solid expertise in infrastructure automation for provisioning, compliance, and management of any hyperscale cloud (AWS, Azure, GCP, and IBM Cloud) using Terraform. He has created and published a variety of best practices collaterals and white papers while working at IBM Cloud Center of Excellence, India. Vanga has conducted tutorial sessions on several emerging information technologies and tools for graduate and postgraduate students in engineering colleges in Bangalore. His academic and industry accomplishments are listed on LinkedIn at linkedin.com/in/skylabreddy‐vanga‐14542018
Akshita Chaudhary has more than four years of experience working in product‐based organizations such as Reliance Jio Platforms Ltd. She describes herself as a curious and task‐driven software engineering professional, and her education and experience with various innovative projects have taught her the intricacies of the software industry and made her capable of dealing with byzantine problems. Chaudhary’s experience includes working with various cloud‐native technologies, exploring aspects of machine learning, contributing to microservice‐based projects, creating collaterals, and POCs through research‐based work. Her creative zeal has helped her develop a penchant toward working with front‐end technology. Chaudhary has also made key contributions in the edge‐based domain. Her goal is to explore emerging technologies, research, analyze, implement, and spread the word to the world and is glad that she demonstrated the same approach and contributed to this book. Chaudhary looks forward to learning and making a difference in this technological paradigm.
Undoubtedly the cloud phenomenon is adventuring in the fast track. It all started with server virtualization. Then came a litany of automated tools to simplify and streamline IT environment operations. That is, several complicated tasks such as job/task scheduling, load balancing, workload consolidation, configuration management, capacity planning and provisioning, and resource allocation and monitoring get neatly automated and accelerated through a host of pioneering algorithms, platforms, optimized processes, specialized accelerators, and toolsets. Precisely speaking, the much‐touted server virtualization in conjunction with scores of cutting‐edge technologies and state‐of‐the‐art tools has laid down a stimulating foundation for the mesmerizing era of cloud computing. The agility, adaptivity, and affordability natively enshrined in cloud environments have led to the grandiose realization of fully virtualized cloud environments. Besides server virtualization, we started to experience storage and network virtualization implementations. This phase is being typically termed as software‐defined cloud computing (often referred to as Cloud 2.0). In short, the cloudification concept has resulted in highly optimized and organized IT environments for frequently deploying and efficiently delivering next‐generation digital life applications and services. The world is definitely enthralled with a plethora of fresh possibilities and opportunities, which are being instigated by the noteworthy advancements in the cloud IT landscape. The new modernization, migration, hosting, delivery, and operating models articulated and accentuated by the versatile and resilient cloud phenomenon are being pronounced as the way forward for artistically producing and running highly sophisticated digital applications in plenty.
The current buzzword in the IT industry is none other than the paradigm of cloud‐native computing, which is all about meticulously leveraging all the distinct capabilities of cloud computing to build and run portable, extensible, available, composable, and reliable applications. Cloud‐native technologies and tools have the wherewithal to empower organizations to have scores of service‐oriented, event‐driven, process‐aware, knowledge‐filled, cloud‐agnostic, and people‐centric applications running in modern IT environments such as public, private, hybrid, and edge clouds. Microservices as the agile software design and development technique, containers as an immutable infrastructure and optimal runtime for microservices, container orchestration platforms such as Kubernetes with declarative APIs, API gateways as the aggregator and adaptor in the microservice world, service meshes as resiliency platforms, observability and remediation solutions, and so on greatly exemplify and elevate this new phenomenon of cloud‐native computing. Cloud‐native architectures and applications are modular (loosely or lightly coupled and cohesive), resilient, robust, observable, and versatile. Combined with a bevy of nimble automation and orchestration tools, the cloud‐native concepts allow software engineers to build, operate, and improve highly impactful and inspiring cloud‐native systems with minimal toil.
Software applications have become increasingly complicated yet sophisticated with users demanding intimate and orchestrated functionalities and facilities. Numerous third‐party applications spread across disparate and distributed cloud environments are being technologically integrated in order to guarantee an integrated and insightful look and feel for users. End users expect rapid responsiveness, intuitive and informative interfaces, innovative features to be consistently incorporated, and zero downtime. Businesses insist for quick accommodation of business and technology changes in software solutions and services. The cloud‐native computing paradigm has all in it to empower the software engineering community decisively.
This book is specially planned and prepared to delineate the nitty‐gritty of cloud‐native computing and how it is to impact the software and hardware engineering precepts in bringing forth connected, composable, and cognitive systems for the ensuing knowledge era.
Chapter 1– The Dawning of the Digital Era – With the faster maturity and solidity of digitization and digitalization technologies and tools, the dreamt digital era is all set to mesmerize the whole world. There are several path‐breaking digitization and edge technologies (sensors, stickers, RFID tags, barcodes, microcontrollers, beacons, LED lights, etc.). These technological innovations and disruptions have solidly and succulently enabled the digitization movement. Thereby today we are being surrounded by so many digital elements, which turn out to be computational, communicative, sensitive, perceptive, vision‐enabled, decision‐making, responsive, and active. Digital entities have facilitated the mainstream computing in our everyday environments such as homes, hotels, and hospitals. All kinds of physical, mechanical, and electrical systems in our midst are being transitioned into digital assets through the above‐mentioned digitization and edge technologies. It is projected that there will be trillions of digital assets in the planet Earth in the years to come. Then came the connectivity technologies. Resultantly digital elements are now being integrated with one another in the neighborhood and with the cloud‐hosted software services and databases over the Internet, which is being projected as the world largest communication infrastructure. Such an integration empowers digital assets to gain additional capabilities from remote entities. Digital elements are publicly discoverable and network accessible. Context‐aware applications are bound to thrive and will be delivered to humans in an unobtrusive manner. The IoT paradigm typically represents the strategically sound combination of digitization/edge and connectivity technologies.
Chapter 2– The Cloud‐Native Computing Paradigm for the Digital Era – With a series of ground‐breaking technologies, the cloud‐native computing paradigm is being proclaimed as the futuristic and flexible model for building and deploying highly scalable, available, and reliable applications across cloud environments. The product and tool vendors have come out with a litany of products for elegantly building and releasing cloud‐native systems.
Chapter 3– Kubernetes Architecture, Best Practices, and Patterns – Without an iota of doubt, the Kubernetes (K8s) platform is being touted as the game changer in the IT operations space. The field of software engineering, especially the domain of software deployment, has received a strong boost with the arrival of Kubernetes. The growing IT operational and management complexities are being methodically mitigated through the growing power of Kubernetes. For the increasingly connected and containerized world, Kubernetes is being applauded as the pioneering IT solution that automates and accelerates the application deployment, management, and maintenance of containerized applications. That is, besides auto‐scaling, auto‐healing of containerized infrastructure modules if anything goes amiss, is being accomplished through Kubernetes. Further on, Kubernetes had laid down an invigorating foundation for visualizing and realizing multi‐container composite applications that are process‐aware and business‐critical. Kubernetes in conjunction with microservices architecture (MSA), containerization, and enterprise DevOps tools has simplified and speeded up the idea of cloud‐native computing to flourish across with the nourishment from product and tool vendors.
Chapter 4– The Observability, Chaos Engineering, and Remediation for Cloud‐Native Reliability – Experts reason that cloud‐native applications are being designed and developed to be deployed and run in any cloud environment. The widely circulated optimization features of cloud infrastructures are being meticulously used by cloud‐native services and application to be distinctive and delightful in their offerings and outputs. As noted in the first chapter, cloud infrastructures have gained some unique characteristics such as elasticity to guarantee workload scalability. Further on, the various DevOps tools built and used for enterprise IT environments are being remedied to achieve the much‐wanted continuous integration, delivery, deployment, and improvement in cloud IT environments. Containers have emerged as the most optimal application deployment runtime. There are platform solutions for appropriately managing container life cycle activities. Microservices guarantee agile software design and development. As microservices are the key building‐block for cloud‐native apps, it is easy to create versatile and resilient cloud‐native applications through configuration changes and service composition.
Chapter 5– Creating Kubernetes Clusters on Private Cloud (VMware vSphere) – This is purely a practical chapter. All the details regarding setting up a Kubernetes cluster on VMware vSphere cloud environment are given in this chapter. This is for explaining how a Kubernetes‐managed private cloud environment can be established and sustained.
Chapter 6– Creating Kubernetes Clusters on Public Cloud (Microsoft Azure) – In this chapter, we are tutoring about creating Kubernetes clusters on a public cloud. Here we have chosen Microsoft Azure Cloud, one of the market leaders in the cloud space.
Chapter 7– Design, Development, and Deployment of Event‐Driven Microservices Practically – This chapter is for articulating the powerful features of the two dominant application architectures: MSA and event‐driven architecture (EDA). How these two architectural patterns connect and contribute in constructing cloud‐native applications is explained in this chapter. How event‐driven microservices can be built and containerized to be deployed, managed, and maintained through a Kubernetes platform is also detailed in this chapter. The code snippets of microservices are being provided in this chapter in order to rekindle the interests of our esteemed readers in cloud‐native programming. We have shown a couple of microservices developed using different programming languages and frameworks. The idea here is to showcase how the often repeated vendor lock‐in issue gets eliminated through the leverage of MSA best practices. With event‐driven microservices, the importance of synchronous and asynchronous communications is described in this chapter for the benefit of our readers.
Chapter 8– Serverless Computing for the Cloud‐Native Era – Cloud computing is all about building, releasing, and running applications through cloud platforms and infrastructures. With the recently ordained serverless capability, application developers need not indulge in server setup and sustenance. Instead server operations and management are being handled by cloud providers through the seamless assistance of a serverless platform solution. This phenomenon describes a next‐generation deployment model where software applications, which are typically bundled as a collection of fine‐grained functions, are uploaded to a standardized serverless platform. Most of the established public cloud service providers host such a platform to deliver serverless computing services. There are many open‐source and commercial‐grade serverless‐enablement platforms. The serverless platform takes care of everything. That is, functions and applications are automatically called, executed, scaled, and exactly billed in response to users’ requests.
Chapter 9– Installing Knative on a Kubernetes Cluster – We have discussed about the significance of serverless computing for the cloud‐native era. This is a practical chapter demonstrating how serverless applications can be quickly built, deployed, and managed in Kubernetes clusters. How the Knative framework comes in handy in accelerating serverless application development and deployment on Kubernetes.
Chapter 10– Delineating Cloud‐Native Edge Computing – With the advent of the 5G and the Internet of Things (IoT) era, the number of connected devices is bound to rapidly grow. This means that the centralized data storage and processing popularized by the traditional cloud computing model can no longer meet the demands of massive amount of multi‐structured data getting sourced from heterogeneous IoT sensors, devices, and systems. That is, the conventional cloud model does not guarantee real‐time data capture, storage, analytics, decision‐making, and actuation. To cope up with this grandiose vision, experts have recommended that the much‐celebrated cloud capability must be systematically realized through edge devices and their clusters/clouds to lessen the load on centralized cloud centers. Off course, there are several operational difficulties being associated with edge computing. Device mobility and management, resource and task scheduling, service delivery, resiliency, device operations, integration, orchestration, and security are being touted as the prime challenges of establishing and sustaining edge device clouds. In this chapter, we are to focus on applying the proven and potential cloud‐native design principles on edge devices. Edge devices and their clouds are being presented and prescribed as the new service deployment, execution, and delivery platforms.
Chapter 11– Setting Up a Kubernetes Cluster Using Azure Kubernetes Service – AKS is a managed Kubernetes service that lets you quickly create and manage clusters. With AKS, you can quickly create a production‐ready Kubernetes cluster. It enables deploying and managing containerized applications. AKS offers serverless Kubernetes, an integrated continuous integration and continuous delivery (CI/CD) experience, and enterprise‐grade security and governance. It also unites development and operations teams on a single platform to rapidly build, deliver, and scale applications with all the confidence. AKS has several features that are attractive for users of Microsoft Azure and provides the ability to easily create, maintain, scale, and monitor AKS cluster. This is a practical chapter illustrating how Microsoft AKS facilitates setting up and sustaining Kubernetes clusters in Azure Cloud environments.
Chapter 12– Reliable Cloud‐Native Applications Through Service Mesh – There is a hugely beneficial convergence between containers and microservices. This distinctive linkage brings forth several strategic advantages for worldwide businesses in accomplishing more with less. Containers are being positioned as the most appropriate packaging and runtime mechanism for microservices and their redundant instances. Subsequently microservices are meticulously containerized, curated, and stocked in publicly available container image repositories. Now with the widespread acceptance of Kubernetes as a promising and potential container clustering and orchestration platform, setting up and sustaining Kubernetes‐managed containerized cloud environments are being speeded up across in order to avail all the originally expressed benefits of the idea of containerization. Containers are being deployed, monitored, managed, and empowered through the various automation and acceleration capabilities of the Kubernetes platform. Kubernetes does a lot of things in operationalizing containers. In addition, there are a few DevOps toolsets and techniques emerging and evolving fast to enable frequent and accelerated software deployment in production environments. With containerized services in large numbers even in a reasonably sized cloud environments, service communication must be specially taken care in order to succulently enhance the service resiliency. Service mesh is a framework for ensuring service communication resiliency. In this chapter, we are to focus on how cloud‐native applications are adroitly empowered by service mesh to be reliable in their operations, and outputs.
Chapter 13– Cloud‐Native Computing: The Security Challenges and the Solution Approaches – Experts and experienced hands have brought in a series of best practices for ensuring unbreakable and impenetrable security for cloud‐native systems. This chapter lists out the security implications and solutions.
Chapter 14– Microservices Security – This chapter is added in this book in order to tell the significance of producing and maintaining secure microservices in order to ensure secure cloud‐native software. The chapter focuses on explaining specific security attacks on microservices and how they can be surmounted through security best practices
Chapter 15– Setting Up Apache Kafka Clusters in a Cloud Environment and Secure Monitoring – Kubernetes is emerging as the one‐stop IT solution for deploying and delivering cloud‐native applications. This is a practical chapter explaining how to install, monitor, and secure Apache Kafka on a Kubernetes cluster. As Kafka is being pitched as the most powerful messaging broker for producing message‐driven, service‐oriented, mission‐critical, and cloud‐hosted applications, this chapter is relevant to our readers.
Pethuru Raj PhD
Chief Architect and Vice President
Reliance Jio Platforms Ltd.
Bangalore, India
https://www.peterindia.net/Digital.html
https://www.linkedin.com/in/sweetypeter/
I (Pethuru Raj Chelliah) express my sincere gratitude to Aileen Storry and Kimberly Monroe‐Hill at Wiley for immeasurably helping us from the conceptualization to the completion of this book. I wholeheartedly acknowledge the contributions of my colleagues, Skylab Vanga and Akshita Chaudhary.
I also wish to acknowledge my supervisors, Professor Ponnammal Natarajan, Anna University, Chennai; Professor Priti Shankar (late), Computer Science & Automation (CSA) Department, Indian Institute of Science (IISc), Bangalore; Professor Naohiro Ishii, Department of Intelligence and Computer Science, Nagoya Institute of Technology; and Professor Kazuo Iwama, School of Informatics, Kyoto University, for shaping my research life. I express my heartfelt gratitude to managers, Anish Shah and Kiran Thomas, President, Chief Operating Officer, Reliance Jio Platforms Ltd, India.
I reflect on the selfless sacrifices made by my parents in shaping up me to this level. I would expressly like to thank my wife (Sweetlin Reena) and sons (Darren Samuel and Darresh Bernie) for their perseverance as I have taken the tremendous and tedious challenge of putting this book together. Above all, I give all the glory and honor to my Lord and Savior Jesus Christ for His abundant grace and guidance.
This chapter discusses the following:
The Trendsetting Technologies and Tools for the Digital Era
Why Digitization Is Indispensable
The Connectivity and Integration Options
About Digitally Transformed Systems, Networks, and Environments
The Promising Digital Intelligence Methods
The Cloud‐Native Principles Are Essential for Producing and Delivering Breakthrough Applications for the Impending Digital Era
With the faster maturity and solidity of digitization and digitalization technologies and tools, the dreamt digital era is all set to mesmerize the whole world. There are several path‐breaking digitization and edge technologies (sensors, stickers, RFID tags, barcodes, microcontrollers, beacons, LED lights, etc.). These technological innovations and disruptions have solidly and succulently enabled the digitization movement. Thereby, today we are being surrounded by so many digital elements, which turn out to be computational, communicative, sensitive, perceptive, vision‐enabled, decision‐making, responsive, and active. Digital entities have facilitated mainstream computing in our everyday environments such as homes, hotels, and hospitals. All kinds of physical, mechanical, and electrical systems in our midst are being transitioned into digital assets through the above‐mentioned digitization and edge technologies. It is projected that there will be trillions of digital assets on planet earth in the years to come. Then came the connectivity technologies. Resultantly digital elements are now being integrated with one another in the neighborhood and also with the cloud‐hosted software services and databases over the Internet, which is being projected as the world’s largest communication infrastructure. Such integration empowers digital assets to gain additional capabilities. Digital elements are publicly discoverable and network‐accessible. Further on, remote monitoring, measurement, and management of digital elements are made possible. Multi‐device applications, which are process‐aware, business‐critical, and people‐centric will flourish with the proper nourishment. Digital assets become self‐, surrounding‐ and situation‐aware. Context‐aware applications are bound to thrive and will be delivered to humans in an unobtrusive manner. The IoT paradigm represents the combination of digitization/edge and connectivity technologies.
Further on, the device ecosystem is growing fast. Today we are bombarded with a dazzling array of slim and sleek, handy and trendy devices, which are increasingly multifaceted and versatile. We have medical instruments, defense equipment, appliances, machineries, kitchen utilities, consumer electronics, personal gadgets and gizmos, handhelds, wearables, implantables, portables, etc., in large quantities. Robots, digital assistants with speech recognition capability, drones, and other edge devices are found in our everyday environments. These devices are also integrated with cloud‐based applications. Worldwide market watchers, researchers, and analysts have estimated that there will be billions of connected devices. Interestingly, we have billions of smartphones connected to the Internet. These empowered digital entities and connected devices are being termed the Internet of Things (IoT) sensors and devices, respectively. Typically, IoT sensors are resource‐constrained whereas IoT devices are resource‐intensive. IoT sensors are for capturing operational aspects of digital assets. In addition, IoT sensors capture environment data in which digital assets are situated. IoT devices have more memory and storage capacities and processing capability, thereby they can participate and contribute to data processing individually and collectively.
IoT devices will naturally interact with human beings also with the emergence of human–machine interfaces (HMIs). Devices will get the power to find and interact with others in the vicinity to accomplish better and bigger things for people. Through digitization and connectivity technologies, every common and casual thing in our personal, professional, and social environments becomes digitized and connected. Ordinary things become extraordinary in providing enhanced services. Dumb things become animated. Precisely speaking, everything becomes smart, every device becomes smarter, and every man becomes the smartest. A variety of automation, augmentation, and acceleration will happen with the skilled usage of the distinct advancements in the IoT space.
We have discussed digitization and edge technologies in the previous section. Also, with the local as well as remote connectivity technologies, how the IoT paradigm is promising a lot for the world is deliberated. It is no exaggeration to state that the human race is to benefit immensely through the hugely potential IoT idea. The IoT phenomenon is to ultimately result in the digital era, which is going to be software‐defined. In this section, we are to focus on digitalization technologies and how they are going to shape the digital world. When digitization and digitalization technologies converge seamlessly and spontaneously, there is a possibility for an explosion of hitherto unheard software applications and industry use cases. Newer IT products, solutions and services will emerge and evolve fast to tackle existing and emerging people’s problems, societal challenges, and business expectations. Fresh use cases will be unearthed and articulated through technological innovations. The real digital transformation will happen and hence business and people transformations are to see the grandiose reality.
With digitized objects (interchangeably referred to as IoT sensors and devices) abound in our living environments and workplaces, they collaborate, correlate, and corroborate, resulting in a massive amount of multi‐structured data. For the digital transformation goals to be realized, the basic tenet is to transition digit data into information and knowledge. Digitalization technologies play a very vital role. There are digitalization technologies and tools for performing data capture, cleansing, preprocessing, storage, processing, analytics, and visualization tasks. That is, the process of transitioning data to information and knowledge is highly optimized. There is a bevy of automated tools fully complying with various digitalization technologies. Thus, the goal of translating data to knowledge gets speeded up and simplified through the adroit usage of digitalization technologies. Here is a list of prominent digitalization technologies:
Artificial intelligence (AI) algorithms, frameworks, accelerators, and libraries
Big, fast, and streaming data analytics methods and platforms
Software‐defined cloud infrastructures
Digital twins
Cybersecurity
Cloud‐native computing
Edge computing
Serverless computing
Microservices architecture (MSA)
Event‐driven architecture (EDA)
Blockchain technology
5G communication
These technologies come in handy for extracting actionable insights into time out of voluminous data. The knowledge discovered gets disseminated to the concerned systems and people in a time in order to empower them to ponder about the next course of action. This set of cutting‐edge technologies is seen as the key contributor and prime method for realizing intelligent business workloads and IT services. Digitized elements and connected devices are also being made intelligent in their actions and reactions through knowledge discovery technologies. Thus, data and learning from data are seen as two crucial enablers for the ensuing intelligent era. Connected assets are bountifully liable for probing and manipulation. With the pervasive Internet communication infrastructure, remote attacks through networks are getting accelerated. Thus, for the digital era to really shine, cyberterrorism activities must be eliminated through competent security technologies and tools. Thus, the field of cybersecurity [1] is gaining prominence these days.
We have discussed both digitization and digitalization technologies. They are together called digital technologies. One of the most visible and value‐adding trends in IT is nonetheless the digitization aspect. All kinds of concrete items in our personal, professional, and social environments are being digitized through digitization technologies to be communicative, sensitive, perceptive, and responsive. These days, due to the unprecedented maturity and stability of a host of path‐breaking technologies such as miniaturization, sensing, actuation, connectivity, and intermediation technologies, every tangible thing in our environments has grasped the inherent power of finding and binding with one another in its vicinity as well as with remote objects via networks purposefully and on need basis to uninhibitedly share their distinct capabilities toward the goal of providing deeper automation. With such an accumulation of digitized entities in and around us, human beings are all set to become the smartest in their deals, decisions, and deeds. In this section, the most prevalent and pioneering trends and transitions in the IT landscape will be discussed. Especially, the digitization technologies and techniques are given a sufficient push.
As widely reported, there are several delectable transitions in the IT landscape. The consequences are definitely vast and varied. First, it is the incorporation of nimbler and next‐generation features and functionalities into the existing IT solutions. Second, the eruption of altogether new IT products and solutions for humanity. These have the intrinsic capabilities to bring forth numerous subtle and succinct transformations for businesses as well as people.
IT Consumerization: There are much‐discoursed and deliberated reports detailing the diversity and availability of mobile devices (smartphones, tablets, digital assistants, wearables, drones, robots, etc.) and their management platforms. Today we have millions of mobile apps. This trend is ultimately empowering people in their daily works and walks. The ubiquitous information access is made possible. Further on, the IT infrastructures are being tweaked accordingly in order to gracefully support this strategically sound movement. There are some challenges for IT administrators in fulfilling the device explosion. That is, IT is steadily becoming an inescapable part of consumers directly and indirectly. And the need for robust and resilient device management software with the powerful emergence of “bring your own device (BYOD)” paradigm is being felt and is being insisted across. With smartphones emerging as the most pervasive input and output tools for everyone across the world, there is a myriad of development platforms, cross‐compilers, programming and markup languages, enabling frameworks, tools, and lightweight operating systems in the fast‐moving mobile space. Precisely speaking, IT is not only for businesses but also for every human being. 5G communication [2] capabilities come in handy in ubiquitous and mobile access to digital applications and services
IT Commoditization: This is another cool trend penetrating the IT industry. Due to the sudden surge of big data analytics (BDA) requirements, there is a demand for large‐scale computing and storage. Instead of using expensive hyperconverged infrastructures (HCIs) (alternative referred to as appliances), there is a movement toward leveraging commodity server machines and their clusters. HCIs are basically beset by a high total cost of ownership (TCO) and less return on investment (ROI).
This is in line with the goal of IT optimization. The IT resource utilization has been on the lower side, and there came a series of technologies to bring in highly optimized and organized IT. Such an optimization process is to bring down IT cost sharply. This is the crux of the cloud computing paradigm. This is a new kind of consolidated, centralized, automated, and shared computing model. Virtualization and containerization concepts emerged and evolved fast in order to fulfil the much‐touted optimization goal. With these compartmentalization technologies (explained later), the IT resource utilization efficiency is going up steadily. These impactful techniques have penetrated every IT module including networking, security, and storage components.
The intelligence embedded in IT hardware elements is being abstracted and centralized through hypervisor software solutions. Hardware systems are thus software‐enabled to be easily manipulated and programmed. With this transition, all the hardware resources in any data center can be easily updated, upgraded, replaced, substituted, and composed for quickly fulfilling different requirements and use cases. Commoditized IT solutions are relatively cheap and hence the IT affordability target is realized along with a number of other advantages. That is, the future IT data centers and server farms are going to be stuffed with a number of commodity servers, storages, and network solutions.
IT Compartmentalization (Virtualization and Containerization): The “divide and conquer” method has been the most versatile and rewarding mantra in the IT field. Abstraction is another powerful and established technique in the IT space. The widely used virtualization, which had laid a stimulating and sustainable foundation for the raging cloud idea, is actually hardware virtualization. The virtualization has penetrated into storage appliances, network components and security solutions. That is, entire data centers are methodically virtualized. There are a few serious drawbacks with virtualization.
Then came the aspect of containerization being represented through the popular Docker platform. Containerization is the operating system (OS)‐level virtualization. Containers are lightweight and hence attain the native performance of the physical machines. The real‐time horizontal scalability is being facilitated by the concept of containerization. Containerization has surmounted many of the limitations of virtualization. Containerization is enabling the originally expressed goals of cloud computing.
IT Industrialization: The cloud idea has laid down a stellar foundation for IT industrialization. Consolidating, virtualizing, and/or containerizing and centralizing all kinds of IT systems, putting them on‐premises and/or off‐premises, operating them in a shared and automated fashion, delivering them in an online and on‐demand manner, continuously adding newer capabilities by bringing forth fresh technologies and tools, etc., lead toward industrialized IT.
IT Digitization and Distribution: As explained in the beginning, digitization has been an ongoing process and it has quickly generated and garnered a lot of market and mind shares. Digitally enabling everything around us induces a dazzling array of cascading and captivating effects in the form of cognitive and comprehensive transformations for businesses as well as people. With the growing maturity and affordability of scores of edge technologies, every common thing in our personal, social, and professional environments is becoming digitized.
Similarly, the distribution aspect too gains more ground. Due to its significant advantages in crafting and sustaining a variety of large‐scale business applications, the distributed computing phenomenon has become popular. Distributed applications, though weighed down by security implications, are good for fulfilling various nonfunctional requirements (NFRs) such as availability, scalability, modifiability, and accessibility. Lately, there is a bevy of software architectures, frameworks, patterns, practices, and platforms for realizing distributed applications. With blockchain grabbing the attention of many, decentralization is picking up for producing decentralized applications.
Ultimately, all kinds of perceptible objects in our everyday environments will be empowered to be remotely identifiable, reachable, readable, recognizable, addressable, and controllable. Such profound empowerment will bring forth real transformations for the total human society, especially in establishing and sustaining smarter environments, such as smarter homes, buildings, hospitals, classrooms, offices, and cities. Suppose a man‐made or natural disaster occurs. If everything in the disaster area is digitized, then it becomes possible to rapidly determine what exactly has happened, the intensity of the disaster, and the hidden risks in the affected environment. Any worthwhile information extracted provides a way to properly plan and proceed insightfully, reveals the extent of the destruction, and conveys the correct situation of the people therein. The knowledge gained would enable the rescue and emergency team leaders to cognitively contemplate appropriate decisions and plunge into actions straightaway to rescue as much as possible, thereby minimizing damages and losses to properties and people.
In short, digitization will substantially enhance our decision‐making capability in our personal as well as professional lives. Digitization also means that the ways we learn and teach are change profoundly, energy usage will become knowledge‐driven so that green goals can be met more smoothly, and the security and safety of noble things will go up considerably. As digitization becomes pervasive, our living, relaxing, working, eating, and socializing places will be filled up with a variety of electronics including environment‐monitoring sensors, actuators, disappearing controllers, projectors, cameras, appliances, high‐definition IP TVs, and robots. In addition, items such as furniture and packages will become empowered by attaching state‐of‐the‐art LEDs, beacons, infinitesimal sensors, specialized electronics, and communication modules. Whenever we walk into such kinds of enlightened environments, the devices we carry and even our e‐clothes will enter into a collaboration mode to form wireless and ad hoc networks with the digitized objects in that environment. For example, if someone wants to print a document from his smartphone or tablet, and he enters a room where a printer is installed, the smartphone will automatically begin a conversation with the printer, check its competencies and compatibilities, and send the documents to be printed. The smartphone will then alert the owner about the neat and nice accomplishment.
Digitization will also provide enhanced care, comfort, choice, and convenience. Next‐generation healthcare services will demand deeply connected and cognitive solutions. For example, ambient assisted living (AAL) is a new prospective application domain where lonely, aged, diseased, bedridden, and debilitated people living at home will receive a remote diagnosis, care, and management by medical doctors, nurses, and other caregivers who remotely monitor patients’ health and physiological parameters.
People can track the progress of their fitness routines. Taking decisions becomes an easy and timely affair with the prevalence and participation of connected solutions that benefit knowledge workers immensely. All the secondary and peripheral needs will be accomplished in an unobtrusive manner so that people nonchalantly focus on their primary activities. However, there are some areas of digitization that need some attention. One is the goal of energy efficiency. Green solutions and practices are being insisted upon everywhere these days, and IT is one of the principal culprits in wasting a lot of precious energy due to the pervasiveness of commoditized IT servers and connected devices. Data centers armed with a large number of server machines, storage appliances, and networking solutions are bound to consume a lot of electricity and dissipate more heat into the fragile environment. So, green IT has become a hot subject for deeper study and research across the globe. Another prime area of interest is remote monitoring, management, and enhancement of empowered devices. With the number of devices in our everyday environments growing at an unprecedented scale, their real‐time administration, configuration, activation, monitoring, management, patching, and repair (if any problem arises) can be eased considerably with effective remote connection and correction competencies.
Deeper Connectivity: The connectivity trait has risen dramatically. The network topologies and technologies are consistently expanding and empowering their participants and constituents to be highly productive. There are unified, ambient, and autonomic communication technologies emanating from worldwide research organizations and labs. These transitions draw the attention of executives and decision‐makers in a bigger way. All kinds of digitized elements are intrinsically empowered to form ad hoc networks for accomplishing specialized tasks in a simpler and smarter manner. There are a variety of network and security solutions in the form of load balancers, switches, routers, gateways, proxies, firewalls, etc., and these are nowadays available as hardware and software appliances.
Device Middleware or Device Service Bus (DSB) is the latest buzzword enabling seamless and spontaneous connectivity and integration between disparate and distributed devices. That is, device‐to‐device (in other words, machine‐to‐machine [M2M]) communication is the talk of the town. The interconnectivity‐facilitated interactions among diverse categories of devices precisely portend a litany of supple, smart, and sophisticated applications for people. Due to the multiplicity and heterogeneity of devices, the device complexity is to rise further. Device middleware solutions are being solicited in order to substantially enable devices to talk to one another in the vicinity and with remote ones through appropriate networking.
Software‐Defined Networking (SDN) is the latest technological trend captivating professionals to have a renewed focus on this emerging yet compelling concept. With clouds being strengthened as the core, converged and central IT infrastructure, the scenarios for device‐to‐cloud interactions are fast‐materializing. This local, as well as remote connectivity, empowers ordinary articles to become extraordinary objects by distinctively communicative, collaborative, and cognitive.
Another associate topic is virtual network functions (VNFs). With containerization, we are tending toward cloud‐native network functions (CNFs). Network capabilities and resources are being shrewdly used to achieve more with less. Network slicing is seen as a paradigm shift. Newer network functionalities are being realized through CNFs. That is, network functions are developed as microservices [3] and they are containerized. With the leverage of container orchestration platform solutions such as Kubernetes, CNFs are portrayed as the way forward for communication service providers to be proactive in offering premium services to their clients and consumers. With such network segmentation/partition, network resource usage productivity goes up significantly. Thus, networks are being readied through versatile technological solutions to be adaptive in order to succulently support smart systems and environments.
Service Enablement: Physical devices at the ground level are being seriously service‐enabled in order to uninhibitedly join in the mainstream computing tasks. That is, devices, individually and collectively, could become service providers or publishers, brokers and boosters, and consumers. The prevailing and pulsating idea is that any service‐enabled device in a physical environment could interoperate with others in the vicinity as well as with remote devices and applications. Services could abstract and expose only the specific capabilities of devices through service interfaces while service implementations are hidden from user agents. Such a smart separation enables any requesting device to see only the capabilities of target devices, and then connect, access, and leverage those capabilities to achieve business or people services. The service enablement completely eliminates all dependencies so that devices could interact with one another flawlessly and flexibly. Further on, application interoperability gets accomplished through the widely adopted service‐enablement facet. Ultimately, the majority of next‐generation, enterprise‐scale, mission‐critical, process‐centric, and multi‐purpose applications are being assembled out of multiple discrete and complex services.
The Future Internet: As digitization gains more accolades and success, all sorts of everyday objects are being connected with one another as well as with scores of applications running in cloud environments. That is, everything is becoming a data supplier for the next‐generation applications, thereby becoming an indispensable ingredient individually as well as collectively in consciously conceptualizing and concretizing smarter applications. There are several promising implementation technologies, standards, platforms, and tools enabling the realization of the IoT vision. The probable outputs of the IoT field are a cornucopia of smarter environments such as smarter offices, homes, hospitals, retail stores, cities, etc. Cyber‐physical systems (CPSs), ambient intelligence (AmI), ubiquitous computing (UC), and pervasive and sentient computing are some of the related concepts encompassing the ideals of IoT.
In the upcoming era, computers, communication modules, and multifaceted sensors will be facilitating the right decision‐making. Computers of different sizes, looks, capabilities, and interfaces will be fitted, glued, implanted, and inserted everywhere to be coordinative, calculative, consistent, and coherent in their actions. The interpretation and involvement of humans in operationalizing these sophisticated and sentient objects are almost zero. With autonomic IT infrastructures, more intensive and insightful automation and orchestration are bound to happen. Devices collectively will also handle all kinds of everyday needs. Drones will be pervasive and humanized robots extensively will get used in order to fulfil our daily physical chores.
On summarizing, the Internet is fast expanding. Manufacturing machines, medical instruments, defense equipment, home appliances, everyday devices, specialized robots and drones, kitchen utensils, consumer electronics, infinitesimal sensors, etc., will be linked up with the Internet in order to get more people‐centric use cases. With the addition of billions of electronic devices and trillions of digitized items, the future Internet is going to be humongous and complex.
Tending Toward the Trillions of IoT Devices: The table below [4] lists the prominent and dominant IoT technologies for realizing IoT devices and applications.
The realization technologies are maturing (miniaturization, instrumentation, connectivity, remote programmability/service‐enablement/APIs, sensing, vision, perception, analysis, knowledge‐engineering, decision‐enablement, etc.)
A flurry of edge technologies (sensors, stickers, specks, smart dust, codes, chips, controllers, LEDs, tags, actuators, etc.)
Ultra‐high bandwidth communication technologies (wired as well as wireless [4G, 5G, etc.])
Low‐cost, power, and range communication standards (LoRa, LoRaWAN, NB‐IoT, 802.11x Wi‐Fi, Bluetooth Smart, ZigBee, Thread, NFC, 6LowPAN, Sigfox, Neul, etc.)
Powerful network topologies, Internet gateways, integration and orchestration frameworks, and transport protocols (MQTT, UPnP, CoAP, XMPP, REST, OPC, etc.) for communicating data and event messages
A variety of IoT application enablement platforms (AEPs) with application building, deployment and delivery, data and process integration, application performance management, security, orchestration, and messaging capabilities
Event processing and streaming engines for event message capture, ingestion, processing, etc.
A bevy of IoT data analytics platforms for extracting timely and actionable insights out of IoT data
Edge/fog analytics through edge clouds
IoT gateways, platforms, middleware solutions, databases, and applications on cloud environments
Source: Modified from [4].
Envisioning Millions of Software Services: With the accelerated adoption of MSA and EDA, enterprise‐scale applications are being expressed and exposed as a dynamic collection of fine‐grained, self‐contained, loosely coupled, network‐accessible, publicly discoverable, API‐enabled, composable, and lightweight services. Not only business applications and IT services but also embedded applications are increasingly built as a collection of microservices. As reported earlier, all kinds of devices express their functionalities as services. Thus, the number of device services is going to grow rapidly. That is, hardware resources are being software‐defined in order to incorporate the much‐needed flexibility, maneuverability, and extensibility. This arrangement of preparing event‐driven microservices and composing them to arrive at relevant applications is all set to lay down a stimulating and sustainable foundation for producing next‐generation software applications out of distributed microservices. The emergence of the scintillating concepts such as Docker containers, container orchestration platforms, and DevOps is to lead the realization of cloud‐native applications in conjunction with the MSA and EDA [5] patterns.
The disruptions and transformations brought in by the series of delectable advancements are really mesmerizing. IT has touched every small or big entity decisively in order to produce context‐aware, service‐oriented, event‐driven, knowledge‐filled, people‐centric, and cloud‐hosted applications. Data‐driven insights and insights‐driven enterprises are indisputably the new normal.
Infrastructure Optimization: The entire IT stack has been going for a makeover periodically. Especially on the infrastructure front, due to the closed, inflexible, and monolithic nature of conventional IT infrastructures, there are concerted efforts being undertaken by many in order to untangle them into modular, open, extensible, converged, and programmable infrastructures. Another worrying factor is the underutilization of expensive IT infrastructures (servers, storages, and networking solutions). With IT becoming ubiquitous for automating most of the tasks across industry verticals, the problem of IT sprawl has gone up considerably and they are mostly underutilized and sometimes even unutilized for a long time. Having understood the wastage issue pertaining to IT infrastructures, the concerned have plunged into unveiling versatile and venerable measures for enhanced utilization and infrastructure optimization. Infrastructure rationalization and simplification are related activities. That is, next‐generation IT infrastructures are being realized through consolidation, centralization, federation, virtualization, containerization, automation, and sharing. To bring in more flexibility, software‐defined infrastructures are being proclaimed and prescribed these days.
With the faster spread of BDA platforms and applications, commodity hardware is being insisted for big data storage and processing. That is, we need low‐cost and power infrastructures with supercomputing capability and virtually infinite storage. The answer is that all kinds of underutilized servers are collected and clustered together to form a dynamic and huge pool of server machines to efficiently tackle the increasing and intermittent needs of computation. Precisely speaking, clouds are the highly optimized and organized infrastructures that fully comply with the evolving expectations elegantly and economically. The cloud technology, though not a new one, represents a cool and compact convergence of several proven technologies to create a spellbound impact on both business and IT. Clouds emerge as the one‐stop IT solution for all kinds of business modernization requirements. Cloudification represents the virtual IT era. As there is a tighter coupling between the physical and cyber worlds, the distinct contributions of the cloud paradigm are definitely vast and varied.
The tried and tested technique of “divide and conquer” in software engineering is steadily percolating to hardware engineering. Decomposition of physical machines into a collection of sizable and manageable virtual machines/containers for enhanced resource utilization and on the other hand, these segregated virtual machines can be aggregated to create virtual supercomputers. The extreme elasticity, extensibility, scalability, availability, adaptability, and agility of the cloud idea are good signs for the future of IT.
Finally, software‐defined cloud centers see the light with the faster maturity and stability of a number of implementation technologies. To attain the originally envisaged goals, researchers are proposing to incorporate software wherever needed in order to bring in the desired separations and sophistication so that a significantly higher utilization level can be reached. When the utilization rate goes up, the cost is bound to come down. In short, the longstanding target of infrastructure programmability can be met with the embedding of intelligent software so that the infrastructure manageability, serviceability, and sustainability tasks become easier and more economical.
Data Analytics: