32,67 €
Successfully modernize your apps on Azure using APIs, event-driven systems, functions, and Service Fabric and connect them to different relational and non-relational databases
Purchase of the print or Kindle book includes a free PDF eBook
Key Features
Book Description
To deliver software at a faster rate and reduced costs, companies with stable legacy systems and growing data volumes are trying to modernize their applications and accelerate innovation, but this is no easy matter. A Developer's Guide to Building Resilient Cloud Applications with Azure helps you overcome these application modernization challenges to build secure and reliable cloud-based applications on Azure and connect them to databases with the help of easy-to-follow examples.
The book begins with a basic definition of serverless and event-driven architecture and Database-as-a-Service, before moving on to an exploration of the different services in Azure, namely Azure API
Management using the gateway pattern, event-driven architecture, Event Grid, Azure Event Hubs, Azure message queues, FaaS using Azure Functions, and the database-oriented cloud. Throughout the chapters, you'll learn about creating, importing, and managing APIs and Service Fabric in Azure, and discover how to ensure continuous integration and deployment in Azure to fully automate the software delivery process, that is, the build and release process.
By the end of this book, you'll be able to build and deploy cloud-oriented applications using APIs, serverless, Service Fabric, Azure Functions, and Event Grid technologies.
What you will learn
Who this book is for
This book is for cloud developers, software architects, system administrators, database administrators, data engineers, developers, and computer science students who want to understand the role of the software architect or developer in the cloud world. Professionals looking to enhance their cloud and cloud-native programming concepts on Azure will also find this book useful. A solid background in C#, ASP.NET Core, and any recent version of Visual Studio and basic knowledge of cloud computing, Microsoft Azure, and databases will be helpful when using this book.
Sie lesen das E-Book in den Legimi-Apps auf:
Seitenzahl: 258
Veröffentlichungsjahr: 2023
Deploy applications on serverless and event-driven architecture using a cloud database
Hamida Rebai Trabelsi
BIRMINGHAM—MUMBAI
Copyright © 2023 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
Group Product Manager: Rahul Nair
Publishing Product Manager: Surbhi Suman
Senior Editor: Divya Vijayan/Romy Dias
Technical Editor: Arjun Varma
Copy Editor: Safis Editing
Project Coordinator: Ashwin Kharwa
Proofreader: Safis Editing
Indexer: Hemangini Bari
Production Designer: Aparna Bhagat
Marketing Coordinator: Nimisha Dua
First published: January 2023
Production reference: 1250123
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham
B3 2PB, UK.
ISBN 978-1-80461-171-5
https://www.packtpub.com
To my mother, Rafika Boukari, and to the memory of my father, Mongi Rebai, for their sacrifices, their blessings, and the constant support that they have given to me. To my husband, Mohamed Trabelsi, for supporting me during my writing journey. To my son, Rayen Trabelsi, and my baby daughter, Eya Trabelsi, for their smiles every day, which always keep me motivated.
On March 11, 2020, the World Health Organization officially declared a pandemic amid a global COVID-19 outbreak. As the world went into lockdown, it was imperative that businesses pivot and leverage innovative ways to continue their operations. We witnessed organizations employing creative techniques across a variety of industries. Many retail businesses provided online ordering and curbside pick-up when they were required to close their doors or limit the number of customers in-store.
When grocery store shelves were barren and struggling to restock, restaurants also leveraged their direct suppliers to offer grocery kits including produce, dairy, and raw meats to their customers. Fitness studios offered online virtual classes to keep their members active and engaged. Doctors provided online virtual appointments for their patients. Offices that traditionally required employees to be on-site transitioned to enable remote work using collaboration tools such as Microsoft Teams. What did they all have in common? They leveraged cloud services.
In his first earnings call during the pandemic, Satya Nadella, CEO of Microsoft, stated, “We’ve seen two years of digital transformation in two months.” Enabling remote work, accelerating the digital transformation to the cloud, and building innovative solutions allowed organizations to not only survive but also thrive.
Three years later, the world has slowly gone back to a new normal – a hybrid world partaking in experiences online as well as in person. Yet, organizations are not slowing down. They are accelerating their digital transformation and application modernization initiatives. Gartner predicts that cloud spending will continue to increase through to 2025, with enterprise organizations continuing to invest in their shift to the cloud. I see this firsthand in my day-to-day work in leading a team of cloud solution architects that helps organizations to modernize and innovate in Azure.
What does this mean for you, whether you’re an architect, developer, student, or aspiring technologist? As the demand for cloud-native skills continues to grow, now is the time to learn these crucial development skills, or risk getting left behind. A simple search for “cloud native” jobs on LinkedIn yields thousands of results. This is an in-demand skill that serves as a career accelerator. You have taken the first step by buying Hamida’s book, which is a wise investment on your part.
Hamida draws on years of experience in developing cloud-native solutions in Azure and has distilled her expertise for you here. This is a comprehensive resource that goes beyond the question “what is cloud-native application development?” This is not another book on containers and orchestration services. Hamida provides you with the “how-to.” She delivers the roadmap to build an end-to-end cloud-native application, from development to deployment.
You will walk away ready to put into practice everything that you learn within these pages. You will gain a deeper understanding of which cloud service to use, why, and how it all comes together to create and deploy a scalable, reliable, highly available application.
Good luck on your journey!
Lori Lalonde
Senior cloud solution architect manager, Microsoft
Hamida Rebai Trabelsi has been working in the computing domain for over 12 years. She started her professional career in Tunisia working for multinational corporations (MNCs) as a software developer, then served as a .NET consultant at CGI, Canada. She is currently a senior advisor and information and solution integration architect at Revenu Québec, Canada. She has been awarded as Most Valuable Professional in Developer Technologies and Microsoft DevHeros by Microsoft and holds several Azure certifications. Besides being a Microsoft Certified Trainer and a member of the .NET Foundation, Hamida is a blogger, an international speaker, and one of the finalists in the Women in IT Award in Canada in 2019.
I have been overwhelmed by the support that I have received from all of the team. They encouraged me during this period, and I feel proud that I was able to finish this book and share my experience as a developer to start with Azure. To the memory of my father, Mongi Rebai, I offer this book to you and I hope that you were with me, sharing in this new adventure that is added to my professional career. Thank you to my mum, Rafika Boukari, for your sacrifices and your support. Thank you to my husband, Mohamed Trabelsi, for believing in me. Every day, I wake up and see my son, Rayen Trabelsi, and my baby girl, Eya Trabelsi, and I feel more motivated, so thank you for this energy.
Ryan Mangan is a cloud and an end user computing technologist focusing on application migration and modernization. He's an international speaker on a wide range of topics, an author, and has helped customers and technical communities over the past decade. Ryan is a chartered fellow of the British Computer Society, a Microsoft Most Valuable Professional (MVP), as well as a VMware vExpert, and Very Important Parallels Professional (VIPP).
Stefano Demiliani is a Microsoft MVP in business applications, a Microsoft Certified Solution Developer (MCSD), an Azure Certified Architect, and an expert in other Microsoft-related technologies. His main activity is architecting and developing enterprise solutions based on the entire stack of Microsoft technologies (mainly focused on ERP and the cloud). He has worked with Packt Publishing on many IT books related to Azure cloud applications and Dynamics 365 Business Central and is a speaker at conferences around Europe. You can reach him on Twitter (@demiliani) or LinkedIn.
In this part of the book, we will introduce the serverless architecture, APIs, event-driven architecture, and the database-oriented cloud.
This part comprises the following chapters:
Chapter 1, Introduction to Serverless Architecture, Event-Driven Architecture, and Cloud DatabasesChapter 2, API Management – Import, Manage, and Publish Your First APIChapter 3, Developing Event-Based and Message-Based SolutionsThis first chapter introduces the book’s content, which includes the modernization of apps using application programming interfaces (APIs), event-driven architecture, functions, and Service Fabric, and connecting them with a database.
Modernization is not just reserved for companies that have been operating stable systems for years and whose data volume has evolved. Organizations want to remain profitable and not be left behind by not modernizing technology and taking advantage of changes in the market due to world-changing factors, such as Covid-19.
Modernization is about accelerating innovation and reducing costs. Modernization is not just about the app but also the data.
In this chapter, we’re going to cover the following main topics:
Understanding serverless architectureUnderstanding the role of APIs inside an application and their ecosystemUnderstanding event-driven architectureExploring cloud databasesServerless architecture is a software design pattern where applications are hosted by a third-party service, allowing developers to build and run services without having to manage the underlying infrastructure.
Applications are divided into separate functions that can be called and scaled individually.
Developers implement and deploy application-only code and can run applications, databases, and storage systems hosted in servers provisioned by cloud providers.
We will understand the role of APIs inside an application and the ecosystem. To start modernizing legacy applications without any modification, we can use APIs to interact with existing code. These APIs will run in the cloud, but if we need to add more features to the application to modernize it, we will encapsulate the data and the functions in services via an API. This encapsulation phase is a technique that consists of reusing legacy software components. The goal is to keep the code in its environment and connect it to the new presentations via encapsulation to access the different layers through an API. APIs permit you to define common protocols (rules) to expose data from an application with the possibility of decoupling the presentation layer.
Technically, the encapsulation works with wrapper technology, providing a new interface for a legacy component. This component will be easily accessible from the rest of the software components.
These minimal modifications reduce the risk of destabilizing the application. Even if encapsulation is a fast, effective, and less expensive solution, it will not solve the present problems related to the difficulties of maintenance or upgrading.
Because we are talking about the role of APIs in digital transformation and their life cycle, we need to define them.
APIs form a bridge between different applications to ensure communication and the exchange of information between them. They can even define the behavior of these applications.
APIs are considered connectors because they provide the ability for disparate applications to exchange information.
The information exchanged is generally data; for example, if we make a request in a mobile application, the data will be sent to a server that performs the reading and then sends back a response in a format readable in JSON.
Sometimes, microservices are compared with APIs. We often talk about the relationship between APIs and microservices, but there is also a difference between them. Microservices are a style of architecture that divides an application into a set of services; each service presents a very particular domain, for example, an authentication service or another service for the management of the products. On the other hand, an API is a framework (a structure that you can build software on) used by developers to provide interaction with a web application. Alternatively, microservices can use an API to provide communication between services. But how does an API work?
Applications that send requests are called clients, and applications that send responses are called servers. Using bees as an example, the hive is the client, the flower is the server, and the bee is the communication path (REST API requests).
The API manager – usually the enterprise architect or API product manager – manages the API life cycle.
The API life cycle consists of the following three main phases:
The creation phase: This consists of creating and documenting the API. There are some key aspects of API creation to consider; the API will use or reuse backend resources (service or business capability implementation). These resources are typically available as RESTful services, Simple Object Access Protocol (SOAP)-based web services, or even Advanced Message Queuing Protocol (AMQP)-compliant message brokers.The control phase: This consists of applying the security policies necessary to ensure that the exchanges are secure.The consumption phase: This consists of publishing the API so that we can consume and monetize it.After understanding the API life cycle and the different phases, we will next look at the important role of an API in terms of communication between applications.
A set of rules ensures the communication of APIs by defining how applications or machines can communicate, so the API is an intermediate bridge between two applications wanting to communicate with each other.
A web API is an API that can be accessed via the HTTP protocol. There are many API protocols/specifications, as follows:
Open APIsPartner APIsInternal APIsComposite APIsRepresentational State Transfer (REST)SOAPExtensible Markup Language Remote Procedure Call (XML-RPC)JavaScript Object Notation Remote Procedure Call (JSON-RPC)The most popular type of API is RESTful because it has several advantages in terms of flexibility when creating an API that meets the client’s needs and dependencies because the data is not bound to methods or resources. A RESTful API supports different data formats, such as application/json, application/xml, application/x-wbe+xml, multipart/form-data, and application/x-www-form-urlencoded.
RESTful APIs take advantage of existing protocols – for example, web APIs take advantage of the HTTP protocol.
So far, in this chapter, we have talked about encapsulation to access the different layers through an API as a technique used for legacy system modernization. We have presented the API life cycle and API roles, which encompasses several roles to ensure communication, and we have identified the API types, such as RESTful APIs, which are the most popular. In the next section, we will present the event-driven architecture used to improve agility in complex applications.
Event-driven architecture is a software architecture that uses events in order to be able to communicate between decoupled services. It is a pattern for designing applications that are loosely coupled and is used in modern applications built with microservices. When consumers are listening to an event, which could be a status change or an update, event producers are not able to know which event consumers are listening to and do not even know the consequences of its occurrence.
In an event-driven architecture, we have the following three key components:
Event producers: These generate a stream of eventsEvent routers: These manage event delivery between producers and consumersEvent consumers: These listen to the eventsThe following diagram illustrates these components:
Figure 1.1 – Event-driven architecture
The source of an event is triggered by internal or external inputs. They can be generated by either a user (by clicking or using keyboard input, for example), an external source (such as a sensor output), or through a system (such as loading a program).
In an event-driven architecture, we can use event streaming or a publisher/subscriber model. But what is the difference between event streaming and a publisher/subscriber model?
Publisher/subscriber model: This provides a framework that enables message exchanges between publishers and subscribers. This pattern involves the publisher and the subscriber and depends on a message broker that reroutes messages from the publisher to the subscriber.Event streaming: When a stream of events is published to a broker, the clients are able to subscribe to the stream and join at any time; they have access to them and can consume multiple preferred streams, and they are able to read from any part and advance their position. The events are always written in a log file.Event-driven architectures are recommended to improve agility and move quickly. They are used in modern applications, mainly microservices, or in any application that includes several decoupled components. When adopting an event-driven architecture, you may need to rethink how you view your application design.
Tausende von E-Books und Hörbücher
Ihre Zahl wächst ständig und Sie haben eine Fixpreisgarantie.
Sie haben über uns geschrieben: