En esta entrada aprenderemos de forma sencilla los conceptos básicos más importantes del proveedor cloud AWS (Amazon Web Services).
Contenidos
¿Qué es AWS?
AWS o Amazon Web Services es el servicio cloud propiedad de Amazon. Nos proporciona acceso a máquinas alojadas en sus centros de datos, así como servicios de todo tipo a través de internet.
Ventajas de AWS
Entre las ventajas más evidentes de usar infraestructura cloud se encuentra el hecho de que no debemos preocuparnos de mantener el hardware. No debemos pensar solamente en las operaciones de mantenimiento y reparación, sino también de la planificación del hardware que usaremos en determinados periodos.
Debido a la elasticidad de los servicios cloud, podemos solicitar el aprovisionamiento de más hardware en el caso de tener picos de tráfico o de demanda.
Muchos servicios en Amazon como por ejemplo bases de datos, abstraen la complejidad de la configuración, pudiendo utilizar estos servicios sin la necesidad de conocer los detalles de su implementación o funcionamiento.
AWS es uno de los actores cloud dominantes en el mundo. Sirve como proveedor cloud de multitud de grandes empresas a las que ofrece soporte.
Servicios Esenciales en AWS
A continuación, voy a explicar los conceptos básicos de AWS que me gustaría haber sabido cuando empecé a trabajar con este servicio. ¡Espero que os resulte útil esta guía rápida!
EC2
EC2 (Elastic Cloud Compute) es uno de los componentes básicos de AWS. Este servicio proporciona los servidores de máquinas virtuales que necesitaremos para ejecutar nuestro software.
Permite elegir la configuración que desees como CPU, Memoria, almacenamiento o direcciones IP.
Seguramente en algún momento tengas que interactuar con alguna instancia de EC2 si trabajas con AWS. Es posible conectarse a ellas a través del protocolo SSH para usarla desde la terminal como cualquier servidor.
El servicio de EC2 cobra por tiempo en uso y características de la instancia. Cuanto más tiempo se encuentre la instancia en ejecución y de más recursos disponga, más ascenderá la factura. Existen formas de reducir los costes si necesitas realizar operaciones puntuales, por ejemplo con instancias spot, más baratas.
AWS VPC
Los VPC (Virtual Private Cloud) son las redes privadas que podemos crear dentro de la red de AWS. Son muy útiles para desplegar nuestros servicios sobre redes privadas, configurando un punto de acceso para tener un entorno totalmente controlado.
Cuando consumimos cualquier servicio de AWS desde una instancia EC2, el tráfico de red pasa por Internet. Esto no es un comportamiento totalmente seguro. Además, se incrementa el coste por los componentes de NAT e Internet. Para evitar esto, podemos utilizar el VPC Endpoint Gateway. De esta forma el tráfico permanece dentro de AWS.
Balanceadores de Carga
Los balanceadores de carga son elementos que se sitúan en redes de instancias y monitorizan la carga de cada servidor. En el caso de que un servidor tenga más carga de trabajo de la deseada, las peticiones se dirigen a otro servidor, de manera que estén balanceadas.
Es un servicio fundamental cuando debemos desplegar clusters de máquinas que sirven multitud de clientes.
Funciones Lambda
Este servicio nos permite ejecutar código sin la necesidad de desplegar un servidor. Tiene la ventaja de ahorrarnos todo el mantenimiento del servidor. Además, se ejecutan solo cuando son invocadas, por lo que el coste es proporcional a su uso.
Podemos usar las funciones lambda para multitud de casos de uso y arquitecturas serverless. Además, pueden ejecutarse como reacción a eventos. Por ejemplo, la creación de objetos en S3 o cambios en una base de datos.
También, deberéis familiarizaros con qué es y cómo funciona el servicio de almacenamiento de objetos en AWS S3.
Servicios Big Data en AWS
El cloud computing ha habilitado algunas soluciones Big Data escalables y muy eficientes en coste. A continuación presento una lista de los servicios de AWS más orientados a Big Data.
Procesamiento de Datos
- EMR (Elastic Map Reduce): Solución de Hadoop
- Funciones Step: Orquestador de Workflows parecido a Apache Airflow
- AWS Glue: Solución ETL
- Funciones Lambda: Ejecución de código serverless
Ingesta de Datos
- Kinesis: Procesamiento en Streaming
- Amazon MSK (Managed Streaming for Kafka): Procesamiento en Streaming
- SQS (Amazon Simple Queue Service): Cola de Mensajería
Almacenamiento de Datos
- Amazon S3: Almacenamiento de Objetos
- RDS: Base de datos relacional parecida a MySQL
- DynamoDB: Base de datos NoSQL parecida a Apache Cassandra
- ElastiCache: Caché en Memoria parecida a Redis
- Neptune: Base de datos de grafos parecida a Neo4j
- DocumentDB: Base de datos de documentos parecida a MongoDB
- AWS Lake Formation: Solución de Lago de Datos
- EC2 EBS: Almacenamiento de Bloques en EC2
Análisis de Datos
- Redshift: Data Warehouse
- Athena: Data Warehouse
- CloudSearch: Servicio de Búsquedas, parecido a ElasticSearch
- Quicksight: Business Intelligence, parecido a Power BI
¿Quieres Convertirte en experto en Ingeniería de Datos?
Siguientes Pasos, Formación y Cursos Recomendados de AWS
Si tienes interés en aprender más sobre Big Data en AWS, te recomiendo el siguiente curso que tienes disponible en la plataforma de formación online Coursera. Está ofrecido directamente por AWS y te proporcionará los conocimientos necesarios para iniciarte en el uso de sus servicios cloud:
AWS Fundamentals Specialization
Este curso de iniciación es perfecto para principiantes que quieran empezar a usar los servicios en la nube de Amazon. Cuenta con más de 35000 estudiantes. Además, podrás preparar la certificación. Consta de los siguientes módulos:
También debes echar un vistazo a mi artículo de certificaciones en AWS, no te lo pierdas.