This book is intended for cloud solution architects and software architects looking to distribute load across multiple servers, applications, or regions within Microsoft Azure. Load balancing is used to improve performance and availability; however, the layer that is used to perform the load balancing action has evolved to become much more. This layer of a web application stack is known as the data plane, and it is used to transmit requests and connections to an application. The data plane can be used to validate, route, and manipulate inbound communication from clients to an application. By building up your control of this layer, you can optimize and facilitate your exact use case.
Throughout this book you will learn how load balancing and the data plane can be integral facets of your application delivery. We will discuss load balancing and application delivery in general before moving on to inform you about the available native options within Azure and explaining the software-based data plane solution known as NGINX (pronounced “engine-ex”), which can be used independently of your infrastructure provider. We will then discuss integrating NGINX with Azure and how native Azure services paired with NGINX can be complementary.
Once we have an understanding of the load-balancing data plane options available to us, we’ll detail governance and monitoring of a given solution within Azure. Regarding this topic, we’ll introduce the NGINX platform solution for control and configuration known as NGINX Controller. Finally, we’ll wrap up with a section about security and how we can enable our data plane to be an invaluable asset in security and threat management.
While the examples and context will be specific to Microsoft Azure, the methodologies and overarching concepts will hold true for any cloud or infrastructure provider. It is our hope that those ideas impact you the most and enable you to design and implement secure, highly scalable, and highly available solutions.
The following typographical conventions are used in this book:
Indicates new terms, URLs, email addresses, filenames, and file extensions.
Constant width
Used for program listings, as well as within paragraphs to refer to program elements such as variable or function names, databases, data types, environment variables, statements, and keywords.
Constant width bold
Shows commands or other text that should be typed literally by the user.
This element signifies a tip or suggestion.
This element signifies a general note.
This element indicates a warning or caution.
If you have a technical question or a problem using the code examples, please send an email to [email protected].
This book is here to help you get your job done. In general, if example code is offered with this book, you may use it in your programs and documentation. You do not need to contact us for permission unless you’re reproducing a significant portion of the code. For example, writing a program that uses several chunks of code from this book does not require permission. Selling or distributing examples from O’Reilly books does require permission. Answering a question by citing this book and quoting example code does not require permission. Incorporating a significant amount of example code from this book into your product’s documentation does require permission.
We appreciate, but generally do not require, attribution. An attribution usually includes the title, author, publisher, and ISBN. For example: “Application Delivery and Load Balancing in Microsoft Azure by Derek DeJonghe and Arlan Nugara (O’Reilly). Copyright 2021 O’Reilly Media, 978-1-098-11586-9.”
If you feel your use of code examples falls outside fair use or the permission given above, feel free to contact us at [email protected].
For more than 40 years, O’Reilly Media has provided technology and business training, knowledge, and insight to help companies succeed.
Our unique network of experts and innovators share their knowledge and expertise through books, articles, and our online learning platform. O’Reilly’s online learning platform gives you on-demand access to live training courses, in-depth learning paths, interactive coding environments, and a vast collection of text and video from O’Reilly and 200+ other publishers. For more information, visit http://oreilly.com.
Please address comments and questions concerning this book to the publisher:
We have a web page for this book, where we list errata, examples, and any additional information. You can access this page at https://oreil.ly/adlbma.
Email [email protected] to comment or ask technical questions about this book. For news and information about our books and courses, visit http://oreilly.com.
Find us on Facebook: http://facebook.com/oreilly
Follow us on Twitter: http://twitter.com/oreillymedia
Watch us on YouTube: http://youtube.com/oreillymedia
We would like to thank our technical reviewers Shahid Iqbal, Deepak Kaushik, Daniel Patrick, and Ryan Tasson for their efforts and valuable feedback. Being able to balance the work of authoring and producing this title has made possible its delivery to you, our readers.
3.145.143.239