Highly available microservice-based web apps for Cloud with Java
Key Features
Take advantage of the simplicity of Spring to build a full-fledged application
Let your applications run faster while generating smaller cloud service bills
Integrate your application with various tools such as Docker and ElasticSearch and use specific tools in Azure and AWS
Book DescriptionBusinesses today are evolving so rapidly that they are resorting to the elasticity of the cloud to provide a platform to build and deploy their highly scalable applications. This means developers now are faced with the challenge of building build applications that are native to the cloud. For this, they need to be aware of the environment, tools, and resources they're coding against.
If you're a Java developer who wants to build secure, resilient, robust, and scalable applications that are targeted for cloud-based deployment, this is the book for you. It will be your one stop guide to building cloud-native applications in Java Spring that are hosted in On-prem or cloud providers - AWS and Azure
The book begins by explaining the driving factors for cloud adoption and shows you how cloud deployment is different from regular application deployment on a standard data centre. You will learn about design patterns specific to applications running in the cloud and find out how you can build a microservice in Java Spring using REST APIs
You will then take a deep dive into the lifecycle of building, testing, and deploying applications with maximum automation to reduce the deployment cycle time. Gradually, you will move on to configuring the AWS and Azure platforms and working with their APIs to deploy your application. Finally, you'll take a look at API design concerns and their best practices. You'll also learn how to migrate an existing monolithic application into distributed cloud native applications.
By the end, you will understand how to build and monitor a scalable, resilient, and robust cloud native application that is always available and fault tolerant.
What you will learn
See the benefits of the cloud environment when it comes to variability, provisioning, and tooling support
Understand the architecture patterns and considerations when developing on the cloud
Find out how to perform cloud-native techniques/patterns for request routing, RESTful service creation, Event Sourcing, and more
Create Docker containers for microservices and set up continuous integration using Jenkins
Monitor and troubleshoot an application deployed in the cloud environment
Explore tools such as Docker and Kubernetes for containerization and the ELK stack for log aggregation and visualization
Use AWS and Azure specific tools to design, develop, deploy, and manage applications
Migrate from monolithic architectures to a cloud native deployment
Who this book is forJava developers who want to build secure, resilient, robust and scalable applications that are targeted for cloud based deployment, will find this book helpful. Some knowledge of Java, Spring, web programming and public cloud providers (AWS, Azure) should be sufficient to get you through the book.