Book Image

A Developer's Guide to Cloud Apps Using Microsoft Azure

By : Hamida Rebai Trabelsi
Book Image

A Developer's Guide to Cloud Apps Using Microsoft Azure

By: Hamida Rebai Trabelsi

Overview of this book

Companies face several challenges during cloud adoption, with developers and architects needing to migrate legacy applications and build cloud-oriented applications using Azure-based technologies in different environments. A Developer’s Guide to Cloud Apps Using Microsoft Azure helps you learn how to migrate old apps to Azure using the Cloud Adoption Framework and presents use cases, as well as build market-ready secure and reliable applications. The book begins by introducing you to the benefits of moving legacy apps to the cloud and modernizing existing ones using a set of new technologies and approaches. You’ll then learn how to use technologies and patterns to build cloud-oriented applications. This app development book takes you on a journey through three major services in Azure, namely Azure Container Registry, Azure Container Instances, and Azure Kubernetes Service, which will help you build and deploy an application based on microservices. Finally, you’ll be able to implement continuous integration and deployment in Azure to fully automate the software delivery process, including the build and release processes. By the end of this book, you’ll be able to perform application migration assessment and planning, select the right Azure services, and create and implement a new cloud-oriented application using Azure containers and orchestrators.
Table of Contents (20 chapters)
1
Part 1 – Migrating Applications to Azure
6
Part 2 – Building Cloud-Oriented Applications Using Patterns and Technologies in Azure
10
Part 3 – PaaS versus CaaS to Deploy Containers in Azure
14
Part 4 – Ensuring Continuous Integration and Continuous Deployment on Azure
17
Assessments

What this book covers

Chapter 1, An Introduction to the Cloud-Native App Lifecycle, starts by introducing a basic concept of building and deploying Cloud-based apps. Cloud-native is the core of application innovation and modernization. It compares monolithic and microservices and their architectures. It also briefly discusses the application lifecycle dans design and serverless applications that help to build and run scalable applications. It focusses also on the 12 Factor Application design methodology.

Chapter 2, Beginning Your Application Migration, covers Cloud Adoption Framework that is a guidance and best practices to adopt the Cloud. It also briefly discusses the difference between Cloud Migration and Cloud Adoption and the different steps to consider to prepare the migration. Cloud Adoption Strategy Assessment and Cloud rationalization are discussed. It evaluates different migration considerations. Azure presents different hosting options to migrate existing or new application using Azure Virtual machines as Infrastructure as a service (IaaS), and different Azure service as platform as service (PaaS).

Chapter 3, Migrating Your Existing Applications to a Modern Environment, begins with the benefits of moving legacy apps to the cloud and modernizing the existing legacy applications using a set of new technologies and approaches. It covers the migration of an ASP.NET Web solution to different environments: Azure VM using Microsoft migration tools and services or Azure App Service or Windows container. It covers also the database migration to Azure using different tools and services including the assessment phase.

Chapter 4, Exploring the Use Cases and Application Architecture, presents the solution reference and its architecture that will be used in the book to understand the different services to be used in Azure. This chapter will define the difference between monolithic architecture and microservices architecture. To build large-scale applications, we need to consider the different challenges and the solutions for distributed data management.

Chapter 5, Learning Cloud Patterns and Technologies, covers the different Cloud Design Pattern and technologies to build reliable, scalable and secure Cloud-based applications.

Chapter 6, Setting Up an Environment to Build and Deploy Cloud-Based Applications, covers the environment preparation to build Cloud-Native application. The book will define the prerequisites. It presents the different tools, framework, and technologies in Windows and Linux.

Chapter 7, Using Azure App Service to Deploy Your First Application, covers the creating and the deploying of an Azure App Service resource using different operating systems and platforms. This chapter will help you to select the right App Service plan and exploring a set of features like App Service deployment slots and scaling options. It discusses the deployment of a Cloud-based application to App Service.

Chapter 8, Building a Containerized App Using Docker and Azure Container Registry, starts by discussing the development process for Docker-based applications. It starts by defining the basic concepts related to Docker container, images dans Dockerfile implementation. This chapter presents Azure Service to deploy containers in the Cloud. It discusses the creating of Azure Container Registry and Azure Container Instances..

Chapter 9, Understanding Container Orchestration, covers the container orchestration. This chapter start by comparing between Docker containers and orchestrators and Kubernetes cluster architecture. This chapter will present Azure Kubernetes Services and Azure Container Apps. For multi-container applications, we will deploy microservices using Docker Desktop and Kubernetes.

Chapter 10, Setting Up a Kubernetes Cluster on AKS, covers the creating of Kubernetes Cluster on Azure Kubernetes Service. This chapter will discuss the deployment of an application to the cluster. Azure DevOps Starter will be detailed to deploy a Kubernetes Cluster. To deploy an application deployed in Azure Kubernetes Services, we will present Bridge to Kubernetes extension in Visual Studio.

Chapter 11, Introduction to Azure DevOps and GitHub, starts by defining DevOps and the basic concepts. In this chapter, we will discuss about DevOps tools like Azure DevOps and GitHub.

Chapter 12, Creating a Development Pipeline in Azure DevOps, covers the setting up of Azure DevOps environment. In this book, we will create a build pipeline and release pipeline in Azure Pipeline and we will create a continuous integration and continuous deployment pipeline for GitHub repo using Azure DevOps Starter.