Reader small image

You're reading from  Cloud-Native Applications in Java

Product typeBook
Published inFeb 2018
Reading LevelIntermediate
PublisherPackt
ISBN-139781787124349
Edition1st Edition
Languages
Tools
Concepts
Right arrow
Authors (4):
Ajay Mahajan
Ajay Mahajan
author image
Ajay Mahajan

Ajay Mahajan is a distinguished member of technical staff (DMTS) at Wipro Technologies and currently is in the role of chief technologist of the retail vertical. In his current role, he helps customers adopt cloud-native and digital architecture for next-generation retail applications. He worked with retail and banking clients in Europe and the USA on large-scale mission-critical systems. He has seen the evolution of enterprise Java from the Netscape Application Server to servlets/JSP, JEE, Spring, and now the cloud and microservices during the course of 19 years of working on Java platform.
Read more about Ajay Mahajan

Munish Kumar Gupta
Munish Kumar Gupta
author image
Munish Kumar Gupta

Munish Kumar Gupta is a lead system architect with Visa. Based in Bangalore, India, his day-to-day work involves solution architectures for applications with stringent non-functional requirements, application performance engineering, managing application infrastructure, and exploring the readiness of cutting-edge, open-source technologies for enterprise adoption. He is the author of Akka Essentials. He is very passionate about software programming and craftsmanship. He blogs about technology trends, application performance engineering, and Akka.
Read more about Munish Kumar Gupta

Shyam Sundar S
Shyam Sundar S
author image
Shyam Sundar S

Shyam Sundar is a senior architect with Wipro Technologies based in Bangalore. He is part of the Emerging Technologies Architecture group within Wipro. He is responsible for helping teams adopt new and emerging technologies in their projects. He focuses primarily on the client-side and cloud technologies. He is a lifelong learner who cares deeply about software craftsmanship. He is constantly experimenting with new tools and technologies to improve the development experience.
Read more about Shyam Sundar S

View More author details
Right arrow

Chapter 9. Platform Deployment – Azure

This chapter discusses application design and deployment for Azure—a Microsoft public cloud platform. The essence of cloud-native development is the ability to integrate your application with PaaS platforms provided by the cloud provider. You, as a developer, focus on creating value (solving customer problems), and allow the cloud provider to do the heavy lifting for your application's infrastructure.

In this chapter, we will learn the following:

  • Different categories of PaaS services provided by Azure. We will delve a little deeper into services that will be used by our sample applications.
  • Migrate our sample application to Azure and understand the various options available. We will also evaluate all the options and understand the pros and cons for each option.

We are covering the Azure platform with the intention of showing how to build and deploy applications. We are not going to cover Azure in depth, and we expect the reader to use the Azure documentation...

Azure platform


Azure provides an ever-increasing set of PaaS and IaaS across a spectrum of technology areas. For our purpose, we will look at the subset of areas and services that are directly applicable and used by our application.

For ease of use, I have created this service categorization model across technology areas that are most relevant to typical business applications:

This is just an indicative list and by no means an exhaustive list. Refer to the Azure portal for a complete list.

In the preceding categorization models, we have divided the services into the following areas:

  • Infrastructure: This is an all-encompassing list of services provided by Azure to deploy and host our applications. We have combined services across compute, storage, and networking in this category. We will be looking at the following set of services for the purpose of our sample Java applications.
    • App Services: How can we take the existing Spring Boot applications and deploy them in our Azure platform? This is...

Azure platform deployment options


As we saw in the previous section, Azure provides a number of options to build and deploy applications on the platform. We will use our example of the product API REST service to examine the various options provided by Azure to deploy and run our application.

Before we begin, I am assuming you are familiar with the Azure platform and have already signed up in the portal.

Azure supports multiple programming languages and provides SDKs to support development in the respective areas. For our purpose, we are primarily exploring support for Java applications within the Azure platform.

We will explore application hosting services in the following four areas:

  • App Services
  • Container Services
  • Service Fabric
  • Functions

Refer to the following link for more details and getting started: https://azure.microsoft.com/en-in/downloads/.

Deploying Spring Boot API to Azure App Service

In this section, we are taking our product API service and migrating it to an Azure App Service. We will...

Summary


In this chapter, we saw the various features and services provided by the Azure cloud platform. As we take our applications into a cloud-native model, we move from App Service | Container Service | Service Fabric | serverless model (Cloud Functions). When we build greenfield applications, we skip the initial steps and directly adopt platform services, allowing automatic application scalability and availability management.

In the next chapter, we will cover the various types of XaaS APIs, which includes IaaS, PaaS, iPaaS, and DBaaS. We will cover the architecture and design concerns when building your own XaaS.

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Cloud-Native Applications in Java
Published in: Feb 2018Publisher: PacktISBN-13: 9781787124349
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Authors (4)

author image
Ajay Mahajan

Ajay Mahajan is a distinguished member of technical staff (DMTS) at Wipro Technologies and currently is in the role of chief technologist of the retail vertical. In his current role, he helps customers adopt cloud-native and digital architecture for next-generation retail applications. He worked with retail and banking clients in Europe and the USA on large-scale mission-critical systems. He has seen the evolution of enterprise Java from the Netscape Application Server to servlets/JSP, JEE, Spring, and now the cloud and microservices during the course of 19 years of working on Java platform.
Read more about Ajay Mahajan

author image
Munish Kumar Gupta

Munish Kumar Gupta is a lead system architect with Visa. Based in Bangalore, India, his day-to-day work involves solution architectures for applications with stringent non-functional requirements, application performance engineering, managing application infrastructure, and exploring the readiness of cutting-edge, open-source technologies for enterprise adoption. He is the author of Akka Essentials. He is very passionate about software programming and craftsmanship. He blogs about technology trends, application performance engineering, and Akka.
Read more about Munish Kumar Gupta

author image
Shyam Sundar S

Shyam Sundar is a senior architect with Wipro Technologies based in Bangalore. He is part of the Emerging Technologies Architecture group within Wipro. He is responsible for helping teams adopt new and emerging technologies in their projects. He focuses primarily on the client-side and cloud technologies. He is a lifelong learner who cares deeply about software craftsmanship. He is constantly experimenting with new tools and technologies to improve the development experience.
Read more about Shyam Sundar S