BPB Online LLP
Cloud Native Applications with Jakarta EE
Cloud Native Applications with Jakarta EE
US$ 19.95
The publisher has enabled DRM protection, which means that you need to use the BookFusion iOS, Android or Web app to read this eBook. This eBook cannot be used outside of the BookFusion platform.
Description
Contents
Reviews

Deploy serverless and scalable cloud-native applications with Jakarta EE

Key Features
● Example-driven approach crafted specially for developers and architects.
● Covers all core areas for cloud-native development.
● Step-by-step implementation of core concepts, including application scalability and security, serverless, and containerization.


Description
The book helps readers to get a basic understanding of features provided by the cloud and core concepts of cloud native development. A hands-on approach makes sure that after reading the book, one can straight away implement the concepts in their daily design and development activities.
The book starts with the basics of cloud computing and moves on to understanding the core concepts to create a production-ready cloud-native application. The book helps readers to develop a code that is testable and maintainable to support Agile cloud native development. This book also talks about the security and scalability aspects of applications which are the backbone of any large-scale application. The book covers advanced cloud native application development approaches using containers and serverless approaches.

The book will help readers to get ready for a cloud native development journey. Whether one is creating a small application or a large scale application, core concepts explained in this book remain relevant and will work as a guiding light for developers and architects.


What you will learn
● Explains the core features that are part of cloud computing.
● Build applications that are fast to market due to testability and maintainability.
● Build applications that are secured against vulnerabilities.
● Build applications that are easy to scale.

Who this book is for
The book is meant for software developers, architects and technical readers who want to learn about Cloud-based application development. Basic knowledge of the Java programming language or Jakarta EE platform is expected to understand code examples used in the book.


Table of Contents
1. Introduction to Cloud Computing
2. Design for Cloud
3. Major Players in Cloud Computing
4. Sample Application Using Jakarta EE
5. Testing Cloud-Native Applications
6. Continuous Integration and Continuous Delivery
7. Securing Cloud-Based Applications
8. Scalability
9. Monitoring, Alerting, and Reporting
10. Containers
11. Serverless Computing
12. Best Practices for Developing Cloud-Native Applications


About the Authors
Kamalmeet Singh, has 16 years of experience in the IT Industry. He has worked in bootstrapping startups as well as Fortune 500 companies. He has worked in different technologies and domains. The technologies he has worked on range from Cloud computing, Machine Learning, Augmented reality, Serverless applications, Microservices, Mobile applications, Java, Python, ROR, C#, and so on.
He has co-authored two books on Java design patterns and microservices. He is passionate about cloud computing and exploring the power of the
LinkedIn profile: https://www.linkedin.com/in/meenukohli78/

Language
English
ISBN
9789390684892
Cover Page
Title Page
Copyright Page
Dedication Page
About the Author
About the Reviewer
Acknowledgement
Preface
Errata
Table of Contents
1. Introduction to Cloud Computing
Structure
Objectives
What is Cloud?
Pay As You Go
How does cloud work?
Major service providers for Cloud
Understanding IaaS, PaaS, SaaS, and FaaS
Traditional software development and deployment
Infrastructure as a Service
Platform as a Service
Software as a Service
Functions as a Service
Major services provided by cloud
Compute
Storage
Database
Networking
Security
Resource and cost management
Additional noteworthy services
Summary
Questions
2. Design for Cloud
Structure
Objectives
Cloud Native versus Conventional Development
From monolithic to microservices
Monolith
Service-Oriented Architecture
Microservices
Design factors to be considered for cloud
Think in terms of services
Design for failure
No single point of failure
Stay Stateless
Fail fast
Gracefully handle failure
Think scalability
Automate
Self-healing system
Manage data
Cache whenever possible
Go asynchronous
Common mistakes
Unoptimized usages
Lack of monitoring
Design not optimized for cloud
Consider containers, serverless, and off the shelf
Summary
Questions
3. Major Players in Cloud Computing
Structure
Objectives
Amazon Web Services
Compute
Storage
Databases
Other services
Microsoft’s Azure
Compute
Storage
Databases
Other services
Google Cloud
Other important players
Summary
Questions
4. Sample Application Using Jakarta EE
Structure
Objectives
What is Jakarta EE?
Creating a sample application
Creating a Jakarta EE Application
Eclipse MicroProfile
Using MicroProfile
Implementing with Spring
Deploying to the cloud
Ways to deploy on the cloud
Deploying web service with virtual machines
Summary
Questions
5. Testing Cloud-Native Applications
Structure
Objectives
Unit Testing
Integration testing
Service Testing
End-to-End System Testing
Performance Testing
Additional testing
Test-driven development
Static code analysis and code coverage
Summary
Questions
6. Continuous Integration and Continuous Delivery
Structure
Objectives
CI and CD - An Introduction
Branching strategies
Feature-based branching
Single development branch
Infrastructure as code
AWS CloudFormation
Azure ARM templates
Continuous Integration
Setting up Jenkins
Continuous Integration example
Continuous Delivery
Continuous Delivery versus Continuous Deployment
Why Continuous Delivery?
Challenges with Continuous Delivery
Continuous Delivery example
Cloud support for CI and CD
Summary
Questions
7. Securing Cloud-Based Applications
Structure
Objectives
Security in Cloud
Securing Infrastructure
Monitoring infrastructure changes
Securing resources in virtual networks
Automated deployment of resources
Additional security tools
Common threats and defence
HTTPS - Securing your APIs
Encryption
DDOS attack
Code and SQL Injections
Understanding security with an example
An E-Commerce example
Summary
Questions
8. Scalability
Structure
Objectives
Introduction to scalability
Cloud-based scalability
Compute scalability
Database scalability
Storage scalability
Design for scalability
An example implementation of a scalable application
Summary
Questions
9. Monitoring, Alerting, and Reporting
Structure
Objectives
Need for monitoring
Cloud-based monitoring, alerting, and reporting
Amazon CloudWatch
Step-by-step example of CloudWatch
Azure Monitor
Cost management in Cloud
Application Logs Management
Prometheus
Prometheus server
Pushgateway
Alert Manager
ELK Stack
Elastic Search
Logstash
Kibana
Additional tools for logs management
Summary
Questions
10. Containers
Structure
Objectives
Introduction to containers
Docker
Installing Docker
Docker commands
Docker volumes
Kubernetes
What is container orchestration?
Kubernetes architecture
Master node
Worker node
Example – Container-based application
Creating an application with Docker
Managing with Kubernetes
Summary
Questions
11. Serverless Computing
Structure
Objectives
Serverless Computing – An Introduction
Functions as a Service
Advantages of FaaS
Disadvantages of FaaS
AWS Lambda Example
Hello-World function example
AWS Lambda with API Gateway
Advanced examples for serverless computing
Summary
Questions
12. Best Practices for Developing Cloud-Native Applications
Structure
Objectives
Revisiting Cloud-Native development
Cloud-native development
12-factor application
Factor 1 – Codebase
Factor 2 – Dependencies
Factor 3 – Config
Factor 4 – Backing services
Factor 5 – Build, release, run
Factor 6 – Processes
Factor 7 – Port binding
Factor 8 – Concurrency
Factor 9 – Disposability
Factor 10 – Dev/prod parity
Factor 11 – Logs
Factor 12 – Admin processes
Common design patterns for Cloud-native applications
SAGA pattern
Choreography based SAGA
Orchestration-based SAGA
Choreography versus orchestrations
CQRS - Command Query Responsibility Segregation
Distributed tracing
Strangler pattern
Service Registry and Discovery Pattern
API Gateway Routing and Aggregator Pattern
Blue-Green deployment pattern
Sidecar pattern
Service mesh
Bulkhead pattern
Circuit breaker pattern
Summary
Questions
Index
The book hasn't received reviews yet.