Book Image

Cloud-Native Applications in Java

By : Ajay Mahajan, Munish Kumar Gupta, Shyam Sundar S, Anirudh Balasubramanian
Book Image

Cloud-Native Applications in Java

By: Ajay Mahajan, Munish Kumar Gupta, Shyam Sundar S, Anirudh Balasubramanian

Overview of this book

Businesses today are rapidly evolving and cloud-native applications are now needed more than ever before. To build these types of applications, you must be able to determine the right environment, tools, and resources. This course is designed to help you get to grips with all the concepts and techniques you need to build secure, robust, and scalable applications for cloud-based deployment. The course begins by explaining the driving factors behind cloud adoption and how cloud deployment is different from regular application deployment. You’ll learn about design patterns specific to apps running in the cloud, and discover how you can build a microservice in Java Spring using REST APIs. Next, you’ll focus on how to build, test, and deploy applications with maximum automation to reduce the deployment cycle time. A dedicated section will then guide you through configuring the Amazon Web Services (AWS) and Azure platforms and working with their APIs to deploy your apps. Toward later chapters, you’ll understand how to write efficient code by exploring API design concerns and their best practices. Finally, you’ll learn to migrate an existing monolithic app to a distributed cloud-native app. By the end of this course, you’ll have learned how to confidently build and monitor a cloud-native application that is highly available and fault tolerant.
Table of Contents (12 chapters)
Chapter 6
Cloud-Native Application Deployment
Content Locked
Section 4
Deployment Patterns
Having covered the packaging and deployment models of cloud-native applications, we will now cover the patterns used for deploying cloud-native applications. Traditionally, applications get deployed in several environments such as development, testing, staging, pre-production, and so on, and each of these environments might be a scaled-down version of the final production environment. Applications move through a series of pre-production environments and get deployed finally to the production environment. However, one significant difference is that while downtime is tolerated in all other environments, downtime in a production deployment could lead to serious business consequences. Let us learn more about it with the following topics: