Patrones de confiabilidadReliability patterns

DisponibilidadAvailability

La disponibilidad se mide como un porcentaje del tiempo de actividad y define la proporción de tiempo que un sistema está operativo y en funcionamiento.Availability is measured as a percentage of uptime, and defines the proportion of time that a system is functional and working. Los errores del sistema, los problemas de infraestructura, los ataques malintencionados y la carga del sistema pueden afectar a la disponibilidad.Availability is affected by system errors, infrastructure problems, malicious attacks, and system load. Las aplicaciones en la nube suelen proporcionar a los usuarios un Acuerdo de Nivel de Servicio, lo cual conlleva que las aplicaciones se deben diseñar e implementar a fin de maximizar la disponibilidad.Cloud applications typically provide users with a service level agreement (SLA), which means that applications must be designed and implemented to maximize availability.

PatrónPattern ResumenSummary
Sellos de implementaciónDeployment Stamps Implemente varias copias independientes de los componentes de la aplicación, incluidos los almacenes de datos.Deploy multiple independent copies of application components, including data stores.
GeodesGeodes Implementar servicios back-end en un conjunto de nodos geográficos, cada uno de los cuales puede atender la solicitud de cualquier cliente en cualquier región.Deploy backend services into a set of geographical nodes, each of which can service any client request in any region.
Health Endpoint MonitoringHealth Endpoint Monitoring Implementa comprobaciones funcionales en una aplicación a la que pueden acceder herramientas externas a través de los puntos de conexión expuestos en intervalos regulares.Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals.
Queue-Based Load LevelingQueue-Based Load Leveling Usa una cola que actúa como búfer entre una tarea y un servicio que invoca para equilibrar cargas pesadas intermitentes.Use a queue that acts as a buffer between a task and a service that it invokes, to smooth intermittent heavy loads.
LimitacionesThrottling Controlan el consumo de recursos de una instancia de una aplicación, un inquilino individual o un servicio completo.Control the consumption of resources by an instance of an application, an individual tenant, or an entire service.

Para mitigar los riesgos de disponibilidad de los ataques de denegación de servicio distribuido malintencionados, implemente el servicio nativo Azure DDoS Protection Standard o una funcionalidad de terceros.To mitigate against availability risks from malicious Distributed Denial of Service (DDoS) attacks, implement the native Azure DDoS protection standard service or a third party capability.

Alta disponibilidadHigh availability

La infraestructura de Azure se compone de zonas geográficas, regiones y zonas de disponibilidad, que limitan el radio de impacto de un error y, por tanto, limitan el efecto potencial en los datos y las aplicaciones de los clientes.Azure infrastructure is composed of geographies, regions, and Availability Zones, which limit the blast radius of a failure and therefore limit potential impact to customer applications and data. La construcción de Azure Availability Zones se desarrolló para proporcionar una solución de software y de red para protegerse frente a errores en centros de datos y proporcionar una alta disponibilidad (HA) superior a nuestros clientes.The Azure Availability Zones construct was developed to provide a software and networking solution to protect against datacenter failures and to provide increased high availability (HA) to our customers. Con la arquitectura de alta disponibilidad, existe un equilibrio entre alta resistencia, baja latencia y costo.With HA architecture there is a balance between high resilience, low latency, and cost.

PatrónPattern ResumenSummary
Sellos de implementaciónDeployment Stamps Implemente varias copias independientes de los componentes de la aplicación, incluidos los almacenes de datos.Deploy multiple independent copies of application components, including data stores.
GeodesGeodes Implementar servicios back-end en un conjunto de nodos geográficos, cada uno de los cuales puede atender la solicitud de cualquier cliente en cualquier región.Deploy backend services into a set of geographical nodes, each of which can service any client request in any region.
Health Endpoint MonitoringHealth Endpoint Monitoring Implementa comprobaciones funcionales en una aplicación a la que pueden acceder herramientas externas a través de los puntos de conexión expuestos en intervalos regulares.Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals.
BulkheadBulkhead Aísle los elementos de una aplicación en grupos para que, si se produce un error en uno, los demás sigan funcionando.Isolate elements of an application into pools so that if one fails, the others will continue to function.
Circuit BreakerCircuit Breaker Controla los errores que pueden tardar una cantidad variable de tiempo en solucionarse durante la conexión a un recurso o servicio remoto.Handle faults that might take a variable amount of time to fix when connecting to a remote service or resource.

ResistenciaResiliency

La resistencia es la capacidad de un sistema para tratar los errores, tanto involuntarios como malintencionados, y recuperarse de ellos satisfactoriamente.Resiliency is the ability of a system to gracefully handle and recover from failures, both inadvertent and malicious.

La naturaleza del hospedaje en la nube, donde las aplicaciones a menudo son multiinquilino, usan servicios de plataforma compartidos, compiten por los recursos y el ancho de banda, y se ejecutan en hardware estándar, implica que hay una mayor probabilidad de que se produzcan errores transitorios o permanentes.The nature of cloud hosting, where applications are often multi-tenant, use shared platform services, compete for resources and bandwidth, communicate over the Internet, and run on commodity hardware means there is an increased likelihood that both transient and more permanent faults will arise. La naturaleza conectada de Internet y el aumento de la sofisticación y volumen de los ataques aumentan la probabilidad de que se produzca una interrupción de la seguridad.The connected nature of the internet and the rise in sophistication and volume of attacks increase the likelihood of a security disruption.

La detección de errores y una recuperación de ellos de forma rápida y eficaz son necesarias para mantener la resistencia.Detecting failures and recovering quickly and efficiently, is necessary to maintain resiliency.

PatrónPattern ResumenSummary
BulkheadBulkhead Aísle los elementos de una aplicación en grupos para que, si se produce un error en uno, los demás sigan funcionando.Isolate elements of an application into pools so that if one fails, the others will continue to function.
Circuit BreakerCircuit Breaker Controla los errores que pueden tardar una cantidad variable de tiempo en solucionarse durante la conexión a un recurso o servicio remoto.Handle faults that might take a variable amount of time to fix when connecting to a remote service or resource.
Compensating TransactionCompensating Transaction Deshace el trabajo realizado mediante una serie de pasos, que conjuntamente definen una operación definitivamente coherente.Undo the work performed by a series of steps, which together define an eventually consistent operation.
Health Endpoint MonitoringHealth Endpoint Monitoring Implementa comprobaciones funcionales en una aplicación a la que pueden acceder herramientas externas a través de los puntos de conexión expuestos en intervalos regulares.Implement functional checks in an application that external tools can access through exposed endpoints at regular intervals.
Leader ElectionLeader Election Coordina las acciones realizadas por una colección de instancias de tareas de colaboración de una aplicación distribuida mediante la elección de una instancia como líder que asume la responsabilidad de administrar las demás instancias.Coordinate the actions performed by a collection of collaborating task instances in a distributed application by electing one instance as the leader that assumes responsibility for managing the other instances.
Queue-Based Load LevelingQueue-Based Load Leveling Usa una cola que actúa como búfer entre una tarea y un servicio que invoca para equilibrar cargas pesadas intermitentes.Use a queue that acts as a buffer between a task and a service that it invokes in order to smooth intermittent heavy loads.
RetryRetry Permite que una aplicación trate los errores temporales anticipados cuando intenta conectarse a un servicio o un recurso de red, mediante el reintento de forma transparente de una operación que anteriormente produjo error.Enable an application to handle anticipated, temporary failures when it tries to connect to a service or network resource by transparently retrying an operation that's previously failed.
Scheduler Agent SupervisorScheduler Agent Supervisor Coordina un conjunto de acciones en un conjunto distribuido de servicios y otros recursos remotos.Coordinate a set of actions across a distributed set of services and other remote resources.