Book Image

Migrating Applications to the Cloud with Azure

By : Sjoukje Zaal, Amit Malik, Sander Rossel, Jason Marston, Mohamed Waly, Stefano Demiliani
Book Image

Migrating Applications to the Cloud with Azure

By: Sjoukje Zaal, Amit Malik, Sander Rossel, Jason Marston, Mohamed Waly, Stefano Demiliani

Overview of this book

Whether you are trying to re-architect a legacy app or build a cloud-ready app from scratch, using the Azure ecosystem with .NET and Java technologies helps you to strategize and plan your app modernization process effectively. With this book, you’ll learn how to modernize your applications by using Azure for containerization, DevOps, microservices, and serverless solutions to reduce development time and costs, while also making your applications robust, secure, and scalable. You will delve into improving application efficiency by using container services such as Azure Container Service, Azure Kubernetes Service (AKS), and more. Next, you will learn to modernize your application by implementing DevOps throughout your application development life cycle. You will then focus on increasing the scalability and performance of your overall application with microservices, before learning how to add extra functionality to your application with Azure serverless solutions. Finally, you’ll get up to speed with monitoring and troubleshooting techniques. By the end of this book, you will have learned how to use the Azure ecosystem to refactor, re-architect, and rebuild your web, mobile, and desktop applications.
Table of Contents (22 chapters)
Free Chapter
1
Planning Application Modernization
4
Implementing Containerization and DevOps in a Development Cycle
8
Building a Web and Microservices Architecture on Azure
12
Going Serverless and Deploying to the Cloud
17
Planning for Security, Availability, and Monitoring

Introducing application modernization

The cloud is rapidly changing the way in which applications are designed and architected. We are shifting from monolithic applications to applications that are designed as loosely coupled services that can either communicate through APIs or are using asynchronous messaging and eventing. These applications need to be designed to easily scale horizontally, and new instances should be added or removed rapidly, and mostly automatically. 

This brings big challenges to the underlying architecture of your applications. Operations should be able to be processed in parallel and deployments must be fully automated. The system as a whole, with all the different services included, should be resilient when failures occur.

Monitoring and telemetry must be embedded for the system as a whole as well, to gain insights into the health and performance...