Serverless Computing Using Azure Functions
eBook - ePub

Serverless Computing Using Azure Functions

Build, Deploy, Automate, and Secure Serverless Application Development with Azure Functions

Varun Kumar, Ketan Agnihotri

Share book
  1. English
  2. ePUB (mobile friendly)
  3. Available on iOS & Android
eBook - ePub

Serverless Computing Using Azure Functions

Build, Deploy, Automate, and Secure Serverless Application Development with Azure Functions

Varun Kumar, Ketan Agnihotri

Book details
Book preview
Table of contents
Citations

About This Book

A complete end-to-end guide to implement Azure Functions and serverless orchestration with the help of various use cases.

Key Features
? Step-by-step guide along with code snippets and screenshots to master the topics.
? Easy handbook to brush up the fundamental concepts and advanced topics of Serverless computing.
? Includes real use-cases and numerous scenarios on creating Azure functions, its security, deployment, and troubleshooting them.
? Understand how to monitor, troubleshoot, and perform advanced level diagnostics on Azure functions.

Description
Serverless is the current ongoing trend in the cloud industry that allows you to focus on code without worrying about the underlying infrastructure and helps in cost optimizations by providing pay for what you use. This book provides a practical mentoring with a step-by-step guide on how to create and work on Azure functions. You will be benefited with various use cases, illustrations, and visual representation to address complex problems around serverless computing.The book will help you to integrate Azure functions with other Azure services, seamlessly, without the need of writing much code. The book brings exclusive coverage on managing the deployment and security of the Azure functions. You will learn how to use different methods to monitor the Azure functions and how to perform correct diagnostics and troubleshooting without the use of any third-party integrations.

What you will learn
? Learn to easily create Azure functions using multiple tools and options.
? Learn to use triggers and bindings for integrating Azure functions with other Azure services.
? Get to know how to orchestrate the serverless workflow using Azure Durable functions.
? Learn to practice security mechanisms to secure Azure functions in the production environment.

Who this book is for
This book is for developers, DevOps engineers, technical specialists, architects and consultants at all levels, who want to build and deploy serverless applications with Azure functions. Some prior experience with C# (for developers) and fundamental Microsoft Azure services will help you to make the most of this book. However, the book is intended for each type of cloud-specific role.

Table of Contents
1. Overview of Azure and Serverless Computing
2. Introduction to Azure Functions
3. Creating Your First Function
4. Azure Functions Triggers and Bindings
5. Durable Functions and Orchestration
6. Configuring Security for Azure Functions Security
7. Continuous Deployment for Azure Functions
8. Troubleshooting and Monitoring Azure Functions

About the Authors
Varun Kumar is currently working with Microsoft as an architect helping various enterprise customers and startups in their cloud transformations, conducting technical reviews of the existing architecture, defining technology roadmaps, and architecting multi-million-dollar solutions. He has more than 12 years of experience in leading solutions delivery in.Net tech stack, Microsoft Azure and AWS. He also has vast experience in direct engagement with stakeholders at all levels, including CxOs, MDs, Business owners, Architects, SMEs, Vendors, Consultants, and Designers, etc. LinkedIn Profile: https://www.linkedin.com/in/varun-kumar-64576825
Blogs: https://cloudavenue.in/ Ketan Agnihotri is a proud Indian working as an Azure consultant at Microsoft and loves making new professional acquaintances. He is a senior Full Stack developer having team leading experience and is a Microsoft Certified Solutions Expert (MCSE). He is a seasoned team-oriented and ambitious software engineer with a successful track record of delivering high-performance applications. He is also a speaker, blogger, and trainer working with people across the globe. LinkedIn Profile: https://www.linkedin.com/in/ketanagnihotri/
Blogs: https://k10.in/

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Serverless Computing Using Azure Functions an online PDF/ePUB?
Yes, you can access Serverless Computing Using Azure Functions by Varun Kumar, Ketan Agnihotri in PDF and/or ePUB format, as well as other popular books in Computer Science & Cloud Computing. We have over one million books available in our catalogue for you to explore.

Information

Year
2021
ISBN
9789390684946

CHAPTER 1

Overview of Azure and Serverless Computing

The software industry wants to adopt a modern application development method by building and deploying software on the cloud. The cloud industry is continuously evolving around software development, deployment, security, reliability, and performance. How can we solve business problems with the cloud? How can we focus on adding business value by developing great software and delivering a great customer experience? You will get answers to these questions in this and subsequent chapters, so let's get started!

Structure

In this chapter, we will cover the following topics:
  • The evolution of cloud service platform
  • Getting to know Azure Cloud
  • Overview of Azure products and services
  • Introduction to Azure portal and regions
  • Overview of serverless computing

Objective

After studying this chapter, you should be able to:
  • Understand Azure, Azure Services, and Azure regions
  • Understand the serverless computing components
  • Set up your Azure subscriptions

The evolution of cloud service platforms

The cloud service platforms have evolved through various stages to the options, which we have today. The industry shifted from on-premises to cloud - IaaS and PaaS to meet their business requirements. Serverless is the latest and most promising option in this evolution.

On-Premises

Before the advent of the cloud, everything was on-premises. Organizations had to buy/rent their hardware and software licenses and run them in their own or rented datacentres. They had to deal with a multitude of questions - the number of servers, physical and network security handling, hardware failures, software patching, backups, managing the underlined infrastructures, and more. Essentially a lot of questions, not all of which might be directly related to running the business. For example, insurance would like to focus on their business, selling policies rather than managing the IT infrastructure. Similarly, a pharma company would like to focus on selling medicines.
Figure 1.1 shows the things organizations may have to worry about with on-premises systems:
Figure 1.1: On-Premise activities
Then came the cloud, and it provided relief from some of the challenges with the on-premises model.

Infrastructure as a service (IaaS)

IaaS allowed utilizing servers hosted by the cloud service providers instead of hosting it yourself. While the worries around managing physical infrastructure were gone and it provides complete control to organizations, several questions still needed to be thought through:
  • How many virtual machines are needed currently?
  • How many virtual machines would be needed in the future when the usage increases?
  • How to monitors infrastructure and applications?
  • How to manage code deployment and various application dependencies, such as runtimes, and so on?
  • How to keep the latest security patches updated on servers?
This means that organizations cannot focus purely on their core business and not worry about IT infrastructure.
Figure 1.2 shows the reduced number of concerns organizations must worry about with IaaS:
Figure 1.2: Infrastructure as a Service activities

Platform as a Service (PaaS)

The cloud continued to grow and helped with these problems. With PaaS, there were even more simplifications. PaaS allows organizations to just worry about their business applications and let the cloud provider take care of the physical hardware, ongoing management of the environment like operating systems, virtual machines or containers, as well as the various application runtimes, whether it is Java Runtime, .NET, Node.js, PHP, Python or others. The cloud provides configurable options and tools to monitor the resources on the portal.
Figure 1.3 shows even lesser concerns with PaaS:
Figure 1.3: Platform as a Service activities
PaaS has become very popular because of the ease of deployment, monitoring, and troubleshooting. Moreover, cloud providers guarantee SLAs on uptime with PaaS offerings. However, they are still not completely free from thinking about how to scale their applications with business growth and more customers. This is limited to applications, but capacity planning must also be done to specify the number and size of the compute resources for the applications. The cost and volume have to be estimated.

Serverless

The latest evolution series is serverless, which provides even further abstraction from the underlying infrastructure. It allows organizations to focus on building the applications and making optimum use of them to achieve the best results for the business.
Serverless allows you to focus on your code and forget about the infrastructure.
Figure 1.4 suggests that all the questions are answered serverless:
Figure 1.4: Serverless Computing

Getting to know Azure Cloud

Microsoft Azure, commonly referred to as Azure, is a public, private, and hybrid cloud computing platform founded in the mid-2000s by Microsoft. Azure helps build, test, deploy, and manage software applications and services through Microsoft-managed data centers located across the globe.
When you think about migrating an application to the cloud, you may have many questions, a lot of concerns about data management, data security, or how you will create and manage solutions. Azure takes care of these challenges.
While using Azure services like compute and data storage, you don't have to manage any hardware. You get rapid capabilities to expand data storage, data processing power, computation power, and any other kind of scale you need without investing capital in hardware.
In cloud computing, there is a different way that resources or cloud services can be provided in a cloud environment. Those ways are Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) that can be used for services such as analytics, virtual computing, storage, networking, and much more.
The following figure 1.5 gives a glimpse of different cloud services:
Figure 1.5: Cloud Computing services

Infrastructure as a Service

Cloud infrastructure services are known as IaaS, where you get provided with highly scalable and automated compute resources to create your computing environment like your own data centers. You can create compute resources like virtual machines, operating systems, hard drives, storage space, networking, and IP addresses, and so on through virtualization technology.

Platform as a Service

PaaS provides an abstract virtualization platform with infrastructure resources to run your applications on top of it, and you are not managing any infrastructure components like virtual machines, storage, hardware. PaaS helps rapid software development, testing, and deployment.

Software as a Service

SaaS is an even higher level of abstraction. You need to subscribe to applications available over the internet and do not require client-side installation. SaaS applications are hosted on a remote server by third-party vendors.
Now, the question that comes to mind is who is using Azure? How is Azure helping their business to grow? Most of the Fortune 500 companies trust their business to run on Azure and enriching customer experience. We are going to understand the evolution of cloud service platforms in the next sections of this chapter.
The following are the key benefits of cloud computing:
  • Reduced time and cost to provision
  • Increased flexibility in scale and deployment
  • Hybrid solutions
  • Data security and control over your data
  • Mobility
  • Disaster recovery

Overview of Azure products and services

Azure offers a range of services based on use cases with great benefits to build and manage powerful applications using Azure products and services. Azure services are divided into categories like compute, networking, storage, data analytics, databases, and identity, as shown in figure 1.6:
Figure 1.6: Azure Services
Let's understand some of the important Azure services one by one.
  • Compute
    Azure compute has many available services that are publicly available and can be accessed via the internet or a private connection. Choosing the right compute service, Azure compute, is closely related to the operating system, CPU, memory, and cost consumed by your application code while running on servers. You can create an Azure virtual machine with various parameters like operating system, location, compute power, memory, and so on. There is support for c...

Table of contents