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 1
Introduction to Cloud-Native
Content Locked
Section 5
Cloud-Native and Microservices
To enable the adoption of the IaaS and PaaS services, a change in how the applications are designed and architected needs to be made. The model of designing enterprise applications on a base platform (read: application server) meant that the heavy lifting of the application's scalability and availability was the responsibility of the platform. Enterprise developers would focus on using the standardized JEE patterns and developing components (Presentation, Business, Data, and Integration) to build fully functional and transactional applications. Let us learn more about it with the following topics: