Book Image

Hands-On Cloud Solutions with Azure

By : Greg Leonardo
Book Image

Hands-On Cloud Solutions with Azure

By: Greg Leonardo

Overview of this book

Azure provides cloud-based solutions to support your business demands. Building and running solutions on Azure will help your business maximize the return on investment and minimize the total cost of ownership. Hands-On Cloud Solutions with Azure focuses on addressing the architectural decisions that usually arise when you design or migrate a solution to Microsoft Azure. You will start by designing the building blocks of infrastructure solution on Azure, such as Azure compute, storage, and networking, followed by exploring the database options it offers. You will get to grips with designing scalable web and mobile solutions and understand where to host your Active Directory and Identity Solution. Moving on, you’ll learn how to extend DevOps to Azure. You will also beneft from some exciting services that enable extremely smooth operations and streamlined DevOps between on-premises and cloud. The book will help you to design a secure environment for your solution, on both the Cloud and hybrid. Toward the end, you’ll see how to manage and monitor cloud and hybrid solutions. By the end of this book, you will be armed with all the tools and knowledge you need to properly plan and design your solutions on Azure, whether it’s for a brand new project or migration project.
Table of Contents (16 chapters)
Title Page
Copyright and Credits
Packt Upsell
Contributors
Preface
Index

Designing applications in Azure


I like to design applications for more scale, resilience, and manageability. Here are some things to keep in mind:

  • Make your applications self-healing as much as possible:
    • Design for failures and handle them
    • Log and monitor
  • Build for scaling out:
    • Offload resource intensive tasks
    • Design for scale in
    • Identify bottlenecks
  • Partition around resource limits:
  • Design with DevOps in mind:
    • Monitoring
    • Deploying
    • Escalation
    • Security/auditing
    • Make all thing observable
    • Treat configuration as code
  • Design for evolution:
    • Use loose coupling
    • Use asynchronous development patterns whenever possible
    • Use interfaces
    • Design for testing
    • Deploy services independently

There are a magnitude of design patterns to choose from. If you're finding it hard to decide which one to use, you can review them at https://docs.microsoft...