Actualmente se habla de cloud sin tener una idea clara de lo que es y si es lo que realmente necesitamos como solución de empresa. En este caso vamos a hablar de las funcionalidades básicas de uno de los servicios cloud más famosos por el momento. Se trata de Amazon Web Services.
Amazon Web Services se basa en dos tipos de gestión. La primera es la más común y conocida, que es la consola de administración de AWS:
La segunda es AWS Cli: una herramienta basada en Python que permite interactuar con AWS sin necesidad del portal y que permite ser gestionado desde una Shell sencilla.
Pero, ¿para que sirve realmente? En principio, AWS está orientado a cuatro conceptos:
- Alta disponibilidad: para ello Amazon posee el concepto de Regiones, lo que indica conjuntos de Centros de Datos (no uno solo) que trabajan al unísono. Amazon posee gran cantidad de regiones repartidas por todo el mundo. A día de hoy existen 20 regiones distintas. Cada región está compuesta por zonas de disponibilidad. Una zona de disponibilidad es similar a un Centro de Procesamiento de Datos de alta tecnología con conexión de alta velocidad y baja latencia entre el resto de zonas de disponibilidad. Con lo cual podemos crear servicios en una región y que los recursos que necesitemos estén en distintas zonas de disponibilidad para evitar la caída de servicio.
- Balanceo de carga: AWS posee distintos recursos, pero los más interesantes son los balanceadores de carga. Existen tres tipos, la versión Classic (mantenida para las versiones previas de balanceadores), la versión HTTP para peticiones a servidores web, y la versión TCP para poder balancear cualquier recurso.
- Elasticidad: en el caso de AWS, se trata de varios conceptos. El primero es la monitorización de recursos por medio del servicio Cloud Watch. Posee una versión por defecto, que toma datos cada 5 minutos y otra de pago que toma datos por minuto, pudiendo realizar tareas, generar alertas o producir cambios en AWS basado en ellos. El segundo es que todos los recursos gestionados por Amazon no son recursos únicos Están orientados a ser recursos elásticos, es decir, nosotros no creamos un balanceador, sino que creamos un ELB (Elastic LoadBalancer): según la carga crece para poder gestionar todo el tráfico, no creamos una instancia en Amazon, sino que creamos un EC2 (Elastic Cloud Compute), una plantilla de máquina con características definidas por nosotros. Por lo tanto, podemos crear alertas que permitan iniciar o parar instancias basadas en tráfico a nuestras máquinas, uso de proceso, etc.
- Sencillez: gran cantidad de servicios, como por ejemplo RDS (Relational Databas Service), nos permiten obviar la configuración de la máquina física en favor de poder gestionar solo la base de datos sin necesidad de saber nada más. Podemos optimizar la base de datos, crear copias en otras zonas de disponibilidad o hacer copias de seguridad en los famosos bucket S3.
Su objetivo es ofrecer servicios que simplifiquen conceptos y que ayuden a reducir mantenimientos, favoreciendo a su vez mantener una estructura de alta disponibilidad, con balanceo de carga y escalable por naturaleza.