Cloud-native Computing: How to Design, Develop, and Secure Microservices and Event-Driven Applications

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

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.

Author(s): Pethuru Raj, Skylab Vanga, Akshita Chaudhary
Publisher: Wiley-IEEE Press
Year: 2022

Language: English
Pages: 352
City: Hoboken

Cover
Title Page
Copyright Page
Contents
About the Authors
Preface
Acknowledgments
Chapter 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
Chapter 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
Chapter 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
Chapter 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
Chapter 5 Creating Kubernetes Clusters on Private Cloud (VMware vSphere)
Introduction
Purpose
Scope
Deployment Pre-requirements
Prerequisites
vCenter Requirements
Cluster Resources
Required IP Addresses
DNS Records
Create Local Linux Installer VM on VMware vSphere
Generating an SSH Private Key and Adding it to the Agent
Create DHCP Server
Download OpenShift Installation for vSphere
Procedure
Adding vCenter Root CA Certificates to your Installer VM
Deploying the OCP Cluster on VMware vSphere
Installing the CLI on Linux
Uninstall OpenShift Cluster
Considerations When you Delete OpenShift for VMware (https://cloud.ibm.com/docs/vmwaresolutions)
Conclusion
Further Reading
Chapter 6 Creating Kubernetes Clusters on Public Cloud (Microsoft Azure)
Introduction
Prerequisites
Configuring a Public DNS Zone in Azure
DNS Creation
Prerequisites
Create a DNS Zone
Required Azure Roles
Creating a Service Principal
Azure CLI Setup
Manually Create IAM
Start Installation of OCP
Uninstall Cluster
Conclusion
Further Reading
Chapter 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
Chapter 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
Chapter 9 Instaling Knative on a Kubernetes Cluster
Introduction
Knative Serving Resources
Further Reading
Chapter 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
Chapter 11 Setting up a Kubernetes Cluster using Azure Kubernetes Service
Introduction
Benefits of Azure Kubernetes Service
Purpose
Scope
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
Architecture Design
Deployment Pre-Requisites
Conclusion
Further Reading
Chapter 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
Deploying the Red Hat OpenShift Service Mesh Control Plane
References
Chapter 13 Cloud-Native Computing: The Security Challenges and the Solution Approaches
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
Chapter 14 Microservices Security: The Concerns and the Solution Approaches
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
Chapter 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
Prerequisites
Steps to Install
Step 1: Setup virtual machines for Kafka
Step 2: Configure Zookeeper and Kafka on both the machines
zookeeper.service
kafka.service
Step 3: Test Zookeeper and Kafka installation
Kafka Command Line Features
Set Up Your Monitoring Tools for Your Cluster: Prometheus and Grafana
Fetch Metrics Using Prometheus
Install JMX Exporter Agent on Kafka broker
Create Prometheus as a service on the Admin machine
Visualize using Grafana
Secure your cluster
Encryption
Authentication
Authorization
Conclusion
Further Reading
Chapter 16 Installing Knative Serving On EKS
Prerequisites
EKS Installation Procedure
Installing Knative Serving Using YAML Files
Prerequisites
System Requirements
Install the Serving component
Verify the Installation
Configure DNS
Install kn Using a Binary
Install kn Using Go
Sample Application
Creating Your Deployment with the Knative CLI
Interacting with Your App
Index
EULA