Cloud Computing Flashcards

1
Q

Definir Cloud Computing

A

Modelo para permitir el acceso ubicuo (desde cualquier lado) a un conjunto de recursos computacionales configurables que son rapidamente provistos

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Caracteristicas del Cloud Computing

A
  • On demand
  • Broad network access
  • Resource pooling
  • Rapid elasticity
  • pay as you go
  • measured service
  • Multitenancy: una instancia del software sirve para multilpes consumidores y cada uno de estos esta aislado del otro
  • Resilency: hay redundancia de recursos a lo largo de desitintas distribuciones fisicas
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cuales son los 3 tipos de planificacion de la capacidad?

A
  • Lead Strategy: anticiparse a la demanda
  • Lag Strategy: cuando un recurso alcanza su maximo uso
  • Match Strategy: pequeños incrementos/decrementos acompañando la demanda

Con los primeros 2 se puede tener over-provisioning o under-provisioning

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Cules son los 3 Deployment Models?

A
  • Public Cloud
  • Private Cloud
  • Hybrid Cloud
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Cuales son las cosas favorables de Cloud?

A
  • Costos menores
  • Abstraccion de la infra
  • Reduccion de inversiones upfront
  • Elasticity/Availability/Scalability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cuales son las cosas desfavorables de Cloud?

A
  • Seguridad (tamb depende del provedor, no solo de nosotros)
  • Menor control que on premise
  • Cuestiones legales
  • Portabilidad baja entre distintos provedores de cloud
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Nombrar y explicar los estilos comunes de arquitectura en Cloud

A
  • N tier: las tiers son capas separadas fisicamente y cada uno de ellas puede escalar horizontalmente
  • Web-Queue-Worker: llegan mensajes desde la web que se encolan en una cola y de ahi los va sacando un wrker y procesando para desp responder
  • Event Driven
  • Microservicios: Son un enfoque arquitectonico en el que una aplicacion monolıtica se divide en servicios mas pequenos, autonomos y desacoplados, cada uno encargado de una funcion o area funcional especıfica de la empresa. EStos microservicios se comunican entre APIs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Nombrar los 3 delivery models

A
  • IaaS
  • PaaS
  • SaaS
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Cuales son los patrones de uso del Cloud Computing?

A
  • Queue Based Load Leveling
  • Auto Scaling
  • Health Endpoint
  • Competing Consumers
  • Priority Queue
  • Throttling
  • Retry
  • Circuit Breaker
  • Sharding
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Explicar Auto-Scaling

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Explicar Queue Based Load Leveling

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Explicar competing cosumers

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Explicar priority queue

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Explicar Health Endpoint Monitoring

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Explicar el patron Retry

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Explicar Circuit Breaker

A

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.

17
Q

Explicar Throttling

A

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.