Watch videos with subtitles in your language, upload your videos, create your own subtitles! Click here to learn more on "how to Dotsub"


0 (0 Likes / 0 Dislikes)
In this video, we'll talk about how to ensure a high degree of availability in our cloud-based systems. Availability defines the proportion of time that a system is functional and working, usually measured as a percentage of uptime. In today's world, we aim to keep everything running 24/7, 365 days a year. But as you know, things like system errors, infrastructure problems, malicious attacks, and even system load are inevitable. Thus, a highly available application must absorb these fluctuations in availability, load, and temporary failures, and at their dependencies, including services and hardware that the applications rely on. Fortunately, Azure's entire platform is designed just for this. The fabric controller is the heart of Azure, handling provision, management, and the system resource pool. It monitors the status of all the hardware and all the software of the host and guest machine instances. When it detects a failure or it needs to perform scheduled maintenance, it maintains the service level agreements or SLAs by automatically relocating the VM instance. The concept of fault and upgrade domains further supports the compute SLA. When you deploy multiple virtual machine instances in Azure, you should define an availability set. Think of it as a placement request the Azure fabric controller will respect during deployment to ensure machines in this availability set are deployed to different fault domains. A fault domain boundary is essentially a different hardware rack in the same region with separate power and networking switches. Fault domains reduce the probability of a localized hardware failure interrupting the service of an application. The fabric controller will use dedicated resources that are separate from the Azure hosted applications. It requires 100% uptime, because it serves as the nucleus of the Azure system, monitoring and managing role instances across all the fault domains. Individual Azure services also have additional design considerations that make them highly available by default. For example, Azure Storage maintains at least three replicas of all of your data inside of an Azure Storage account. while also enabling georeplication to store copies of your data in a secondary region somewhere else in the world. The Azure Content Delivery Network allows blobs to be cached around the world for redundancy, scalability, and lower latency to the clients. Likewise, Azure SQL Database maintains multiple replicas of the data as well. Thus far, everything we've talked about is what the Azure platform provides you by default. However, when you're making applications that run on top of this platform, you still have to consider strategies to keep all the systems highly available. The Azure Architecture Center outlines several availability patterns and best practices that help you design resilient applications. We won't take the time to investigate them here, there just isn't enough time. But promise me that you'll make the time to review these guidelines and their applications while creating your highly available solution. To wrap up, the Azure platform and its services gives you the best chance at creating a highly available foundation for your system, but you must also take the additional measures at the application level to ensure its highest availability.

Video Details

Duration: 3 minutes and 19 seconds
Language: English
License: Dotsub - Standard License
Genre: None
Views: 7
Posted by: csintl on Aug 29, 2018


Caption and Translate

    Sign In/Register for Dotsub above to caption this video.