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

Exposing applications outside the Kubernetes cluster

When we deployed the voting app, we published the frontend web interface via a Kubernetes service type; that is, we used a Load Balancer. In this section, we'll look at the various ways in which we can expose applications outside the Kubernetes cluster:

  • Kubernetes service type – Cluster IP: This is used when you want to assign a Kubernetes internal IP to the service and the service is supposed to only be reachable inside the Kubernetes network and usually only communicates with other pods. In our voting app example, we're deploying the backend of Redis as a Cluster IP since the backend datastore should only be reachable inside the Kubernetes network.
  • Kubernetes service type – NodePort: Specifying NodePort requires you to specify a port number for the AKS agent nodes that will be mapped to the...