Definir Cloud Computing
Modelo para permitir el acceso ubicuo (desde cualquier lado) a un conjunto de recursos computacionales configurables que son rapidamente provistos
Caracteristicas del Cloud Computing
Cuales son los 3 tipos de planificacion de la capacidad?
Con los primeros 2 se puede tener over-provisioning o under-provisioning
Cules son los 3 Deployment Models?
Cuales son las cosas favorables de Cloud?
Cuales son las cosas desfavorables de Cloud?
Nombrar y explicar los estilos comunes de arquitectura en Cloud
Nombrar los 3 delivery models
Cuales son los patrones de uso del Cloud Computing?
Explicar Auto-Scaling
Disponer un proceso de asignacion dinamica de recursos para implementar ‘match strategy’.
Se pueden usar replas para ecentos conocidos como reglas para reaccionar a eventos de ambiente.
Esto favorece a la Performance, Scalability, Elasticity.
Explicar Queue Based Load Leveling
Consiste en introducir una cola de mensahjes, usualmente FIFO, entre los clientes del servicio y el servicio, actuando como buffer almacenando temporalmente los mensajes antes de que el servicio los procese.
La cola asegura que el mensaje haya sido entregado al menos una vez.
La cant de colas puede ser configurable segun la demanda y es solo para una comunicacion unidireccional. Si se quisiese dar una respuesta, este patron por si solo no alcanza.
Explicar competing cosumers
Multiples componentes consumers procesan mensajes de multilples producers de forma concurrente. Todos los producers publican en una cola de donde el pool de consumers van sacando mensajes.
Beneficios:
- Procesamiento concurrente
- La cola garantiza al entrega
- Escalabilidad y disponibilidad
- Sin coordinacion
Este patron favorece la availability, performance y scalability
Explicar priority queue
Se puede usar una cola de prioridad para priorizar solicitudes de clientes particulares. Los mensajes se ordenan en la cola segun su prioridad.
Esto se prodria implementar tambien con varias colas (una por cada prioridad) y varios grupos de workers que se dedican a agarrar de alguna de esas colas o con varias colas y que los workers se vayan fijando si en las de mas prioridad no hay mensajes entonces se puede usar las de menos prioridad
Explicar Health Endpoint Monitoring
Sirver para verificar si un componente esta cumpliendo con el nivel requerido de availability y performance. Se implementa un punto de control que se puede encontrar en cualquier lado que proporciona info redundante sobre cierto componente/s.
Esto favorece a la Performance, Availability.
Explicar el patron Retry
Sirve para manejar fallas temporales. Si hay una de estas se hace cierta cantidad de retries cada cierto tiempo.
Los reintentos son menos peligrosos si la operacion es idempotente.
Esto favorece a la Availability.
Explicar Circuit Breaker
El patron consiste en implementar un proxy que registre la cantidad de fallas recientes y use esos datos para decidir si invocar el servicio o si fallar inmediatamente. Esto sirve para evitar el llamado a servicios que estan caidos.
Estados del circuit breaker:
- Closed: pasan todos los requests
- Open: devuelve excepcion inmediatamente
- Half open: un numero limitado de requests pasan, los otros fallan
Esto favorece a la Availability.
Explicar Throttling
Imponer un limite al uso de recursos, que al alcanzarse, el sistema comenzara a regular los requests de los clientes.
Para implementar el throttling, se pueden rechazar las solicitudes de clientes que han excedido el lımite establecido durante un cierto perıodo de tiempo, degradar o deshabilitar funcionalidades no esenciales para liberar recursos o priorizar las solicitudes segun los acuerdos de nivel de servicio (SLA) para dar prioridad a las solicitudes de alta prioridad.
Esto favorece a la Availability, Performance.