Docker es una plataforma de software que le permite crear, probar e implementar aplicaciones rápidamente. Docker empaqueta software en unidades estandarizadas llamadas contenedores que incluyen todo lo necesario para que el software se ejecute, incluidas bibliotecas, herramientas de sistema, código y tiempo de ejecución.
https://aws.amazon.com/es/docker
Amazon EC2 Container Service (ECS) es un servicio de administración de contenedores de alto desempeño y escalabilidad, compatible con los contenedores de Docker y que le permite ejecutar fácilmente aplicaciones distribuidas en un clúster administrado de instancias de Amazon EC2. Amazon ECS elimina la necesidad de instalar, operar y escalar su propia infraestructura de administración de clústeres.
https://aws.amazon.com/es/ecs/
Este documento presenta una clase magistral sobre Amazon EC2. Explica los conceptos fundamentales de EC2 como regiones, zonas de disponibilidad e instancias. También cubre temas como almacenamiento con EBS, redes VPC, balanceo de carga con ELB, monitoreo con CloudWatch, y seguridad y control de acceso con IAM. La presentación concluye con una demostración de cómo configurar el auto escalado con Auto Scaling.
Este documento presenta las herramientas y procesos de DevOps de Amazon, incluyendo AWS CodeDeploy para despliegues automatizados, AWS CodePipeline para entrega continua, y AWS CodeCommit para control de versiones. Explica cómo Amazon utiliza arquitecturas de microservicios y equipos pequeños para lograr más de 50 millones de despliegues al año de forma rápida y confiable. También describe cómo otras organizaciones pueden implementar procesos similares de DevOps utilizando estas herramientas administradas de AWS.
Amazon EC2 es un servicio de computación en la nube que permite alquilar servidores virtuales de forma escalable y a demanda. Ofrece una variedad de servicios fundamentales como EC2 (computación), S3 (almacenamiento) y EBS (almacenamiento persistente), así como servicios recomendables como Cloudfront (entrega de contenidos) y VPC (red virtual). Los usuarios pueden acceder a estos servicios mediante credenciales de seguridad y gestionar los recursos a través de interfaces como la consola web o línea de comandos.
Este documento describe los servicios de bases de datos administradas de Amazon Web Services (AWS), incluyendo Amazon Relational Database Service (RDS). RDS proporciona una forma sencilla de implementar, operar y escalar bases de datos relacionales en la nube de AWS, manejando tareas administrativas como respaldos, parches y replicación. El documento también discute opciones de almacenamiento, seguridad, monitoreo y costos efectivos de RDS.
Este documento presenta una sesión sobre cómo construir APIs seguras y escalables utilizando Amazon API Gateway y AWS Lambda. Explica cómo declarar una API con API Gateway, crear la lógica de aplicación con Lambda, autorizar el acceso con IAM y consumir el microservicio, sin necesidad de administrar infraestructura. También incluye una demostración práctica de cómo crear una calculadora simple que almacena datos en DynamoDB y es escalable sin límites de usuarios.
AWS ofrece una variedad de opciones de almacenamiento para diferentes casos de uso, incluyendo S3 para almacenamiento de objetos, EBS para almacenamiento de bloques, EFS para almacenamiento de archivos, y Glacier para archivado de bajo costo a largo plazo. Estas opciones se integran con otros servicios de AWS y ofrecen escalabilidad, disponibilidad y seguridad.
Este documento presenta las opciones de almacenamiento en AWS, incluyendo S3 para almacenamiento de objetos, EBS para almacenamiento de bloques, EFS para almacenamiento de archivos, Glacier para almacenamiento de archivos, y Storage Gateway para integrar el almacenamiento local y en la nube. Cada servicio se diseñó para casos de uso específicos y ofrece características como escalabilidad, disponibilidad, rendimiento y costo efectivo. AWS continúa innovando en sus servicios de almacenamiento para satisfacer las necesidades camb
Amazon EC2 Container Service (ECS) es un servicio de administración de contenedores de alto desempeño y escalabilidad, compatible con los contenedores de Docker y que le permite ejecutar fácilmente aplicaciones distribuidas en un clúster administrado de instancias de Amazon EC2. Amazon ECS elimina la necesidad de instalar, operar y escalar su propia infraestructura de administración de clústeres.
https://aws.amazon.com/es/ecs/
Este documento presenta una clase magistral sobre Amazon EC2. Explica los conceptos fundamentales de EC2 como regiones, zonas de disponibilidad e instancias. También cubre temas como almacenamiento con EBS, redes VPC, balanceo de carga con ELB, monitoreo con CloudWatch, y seguridad y control de acceso con IAM. La presentación concluye con una demostración de cómo configurar el auto escalado con Auto Scaling.
Este documento presenta las herramientas y procesos de DevOps de Amazon, incluyendo AWS CodeDeploy para despliegues automatizados, AWS CodePipeline para entrega continua, y AWS CodeCommit para control de versiones. Explica cómo Amazon utiliza arquitecturas de microservicios y equipos pequeños para lograr más de 50 millones de despliegues al año de forma rápida y confiable. También describe cómo otras organizaciones pueden implementar procesos similares de DevOps utilizando estas herramientas administradas de AWS.
Amazon EC2 es un servicio de computación en la nube que permite alquilar servidores virtuales de forma escalable y a demanda. Ofrece una variedad de servicios fundamentales como EC2 (computación), S3 (almacenamiento) y EBS (almacenamiento persistente), así como servicios recomendables como Cloudfront (entrega de contenidos) y VPC (red virtual). Los usuarios pueden acceder a estos servicios mediante credenciales de seguridad y gestionar los recursos a través de interfaces como la consola web o línea de comandos.
Este documento describe los servicios de bases de datos administradas de Amazon Web Services (AWS), incluyendo Amazon Relational Database Service (RDS). RDS proporciona una forma sencilla de implementar, operar y escalar bases de datos relacionales en la nube de AWS, manejando tareas administrativas como respaldos, parches y replicación. El documento también discute opciones de almacenamiento, seguridad, monitoreo y costos efectivos de RDS.
Este documento presenta una sesión sobre cómo construir APIs seguras y escalables utilizando Amazon API Gateway y AWS Lambda. Explica cómo declarar una API con API Gateway, crear la lógica de aplicación con Lambda, autorizar el acceso con IAM y consumir el microservicio, sin necesidad de administrar infraestructura. También incluye una demostración práctica de cómo crear una calculadora simple que almacena datos en DynamoDB y es escalable sin límites de usuarios.
AWS ofrece una variedad de opciones de almacenamiento para diferentes casos de uso, incluyendo S3 para almacenamiento de objetos, EBS para almacenamiento de bloques, EFS para almacenamiento de archivos, y Glacier para archivado de bajo costo a largo plazo. Estas opciones se integran con otros servicios de AWS y ofrecen escalabilidad, disponibilidad y seguridad.
Este documento presenta las opciones de almacenamiento en AWS, incluyendo S3 para almacenamiento de objetos, EBS para almacenamiento de bloques, EFS para almacenamiento de archivos, Glacier para almacenamiento de archivos, y Storage Gateway para integrar el almacenamiento local y en la nube. Cada servicio se diseñó para casos de uso específicos y ofrece características como escalabilidad, disponibilidad, rendimiento y costo efectivo. AWS continúa innovando en sus servicios de almacenamiento para satisfacer las necesidades camb
Este documento describe cómo escalar una aplicación desde un solo usuario hasta más de 10 millones de usuarios en AWS. Comienza con una sola instancia EC2 y luego separa componentes, agrega redundancia y escala horizontalmente utilizando servicios como ELB, RDS, DynamoDB, S3 y Lambda. También cubre técnicas como auto escalamiento, arquitectura SOA y optimización de rendimiento.
Este documento presenta una introducción a las arquitecturas sin servidores utilizando AWS Lambda. Explica cómo las arquitecturas serverless son la evolución natural de los modelos monolíticos, SOA y de microservicios. Describe los componentes clave de AWS Lambda como las funciones, eventos y el servicio administrado. También incluye ejemplos de patrones arquitectónicos serverless y mejores prácticas para AWS Lambda y Amazon API Gateway.
La informática sin servidor le permite crear y ejecutar aplicaciones y servicios sin preocuparse de los servidores. Las aplicaciones sin servidor no requieren que aprovisione, escale ni administre ningún servidor. Puede crearlas para prácticamente cualquier tipo de aplicación o servicio backend. Además, usted administra todo lo necesario para ejecutar y escalar la aplicación con alta disponibilidad.
https://aws.amazon.com/es/serverless
El documento describe los componentes principales de AWS IoT, incluyendo la seguridad, protocolos soportados, Thing Gateway, IoT Rules Engine, Thing Registry, Thing Shadow, y cómo AWS Greengrass permite ejecutar código de AWS Lambda en dispositivos IoT. También presenta ejemplos de cómo usar estos servicios para un escenario de monitoreo de pacientes en un hospital.
Este documento describe las ventajas de migrar cargas de trabajo SAP HANA a instancias X1 de Amazon EC2. Estas instancias ofrecen mayor memoria y procesamiento que otras opciones, lo que permite escalar cargas de trabajo SAP HANA de manera más efectiva. La migración a la nube de AWS también puede reducir costos, mejorar la agilidad y permitir enfocarse en iniciativas de negocio de mayor valor.
Este documento presenta una introducción a Docker y contenedores en AWS. Explica los beneficios de usar contenedores para implementar microservicios y describe los componentes clave de Amazon ECS, como la administración de clústeres, la programación de tareas de contenedor y la facilidad para ejecutar y actualizar servicios de forma escalable.
Este documento presenta las diversas opciones de almacenamiento en AWS, incluyendo S3 para almacenamiento de objetos, EBS para almacenamiento de bloques, EFS para almacenamiento de archivos, Glacier para archivado a largo plazo, y Storage Gateway para integrar el almacenamiento en la nube con datos locales. Cada servicio se ha diseñado para casos de uso específicos y ofrece características como escalabilidad, disponibilidad, seguridad y bajos costos. AWS continúa innovando con nuevas funciones como encripción
Este documento describe cómo crear una aplicación de big data completa en AWS desde la recolección de datos hasta el análisis. La aplicación recopila registros de acceso web usando Amazon Kinesis y Log4J, procesa los datos con Amazon EMR y Spark, almacena resultados en Amazon S3, y analiza los datos cargados en Amazon Redshift usando SQL. El documento guía al lector a través de cada paso del proceso con instrucciones detalladas.
Este documento presenta un marco para la optimización de costos en AWS. Se enfoca en cinco pilares clave: 1) elegir el tamaño correcto de instancias, 2) incrementar la elasticidad, 3) utilizar el modelo de precios correcto, 4) seleccionar la clase apropiada de almacenamiento, y 5) medir y monitorear el uso y gastos. También discute implementar estas mejores prácticas a gran escala a través de la automatización, herramientas como Trusted Advisor, y estableciendo objetivos
DevOps permite acelerar el ciclo de desarrollo de software mediante la automatización y la integración continua de los procesos de desarrollo, pruebas y despliegue. Amazon ha adoptado prácticas DevOps como equipos pequeños con responsabilidades compartidas, microservicios y despliegues continuos automatizados a través de servicios como AWS CodeCommit, AWS CodePipeline y AWS CodeDeploy. Estos servicios permiten a los equipos de Amazon realizar más de 50 millones de despliegues por año de forma rápida, confiable y sin tiempo de
Este documento describe los servicios principales de AWS IoT, incluyendo Thing Registry, Thing Shadow, IoT Rules Engine y cómo se pueden usar junto con otros servicios de AWS como Kinesis, DynamoDB, Lambda, SNS y Greengrass para construir aplicaciones de Internet de las Cosas escalables. También presenta ejemplos de cómo estos servicios podrían usarse para un escenario de monitoreo de pacientes en un hospital.
Este documento proporciona una introducción a EC2, incluyendo una descripción de las diferentes familias de instancias EC2, cómo se asignan los recursos, y consejos sobre el rendimiento. También cubre temas como el uso de la fuente de reloj TSC para medir el tiempo, el control de estados P y C, supervisar los créditos CPU en instancias T2, y el equilibrio NUMA en sistemas con múltiples sockets. El objetivo es ayudar a los usuarios a elegir la instancia adecuada y optimizar el
Este documento presenta las mejores prácticas de AWS Identity and Access Management (IAM), incluyendo la creación de usuarios individuales con los privilegios mínimos necesarios, el uso de grupos para administrar permisos, y la habilitación de AWS CloudTrail para auditoría. También discute el uso de roles IAM para compartir accesos de manera segura entre cuentas y para instancias EC2, así como la eliminación del uso de la cuenta raíz.
Este documento presenta varios servicios de bases de datos administradas de AWS, incluyendo Amazon DynamoDB (una base de datos NoSQL), Amazon RDS (una base de datos relacional administrada), Amazon ElastiCache (un cache en memoria administrado), y Amazon Redshift (una data warehouse administrada). Explica las ventajas de usar bases de datos administradas en AWS en lugar de administrar bases de datos localmente, como la eliminación de la necesidad de administrar hardware, software y actualizaciones.
Este documento describe diferentes técnicas y casos de uso para implementar un plan de recuperación ante desastres (DRP) en AWS. Estas incluyen realizar copias de seguridad en S3 para recuperación inicial, usar AWS Import/Export para grandes volúmenes de datos, replicar entornos virtualizados con AWS Storage Gateway y realizar failover a sitios remotos con Direct Connect o VPN. También presenta opciones para trabajadores remotos como Amazon Workspaces y controlar despliegues con CloudFormation.
El documento presenta las opciones de almacenamiento en AWS, incluyendo Amazon S3 para almacenamiento de objetos, Amazon EBS para almacenamiento de bloques, Amazon EFS para almacenamiento de archivos, Amazon Glacier para almacenamiento de archivos, y AWS Storage Gateway para integrar el almacenamiento en la nube con el almacenamiento local. Cada servicio se adapta a diferentes casos de uso y ofrece características como escalabilidad, disponibilidad, rendimiento y cumplimiento.
Este documento describe las ventajas de ejecutar cargas de trabajo SAP HANA en instancias X1 de Amazon EC2. Estas instancias ofrecen más memoria que otras instancias certificadas por SAP y están diseñadas para SAP HANA. El documento también describe cómo las empresas pueden acelerar su transformación digital al migrar soluciones SAP como S/4HANA y BW/4HANA a AWS para reducir costos y tiempos de implementación.
Este documento presenta una introducción a Docker y Amazon ECS. Explica los beneficios de los contenedores y microservicios y cómo ECS permite la administración y programación de contenedores a gran escala a través de clústeres de EC2. También describe cómo ECS permite ejecutar servicios de larga duración mediante el balanceo de carga y la actualización automática de contenedores.
Este documento presenta una introducción a Docker y Amazon ECS. Explica los beneficios de los contenedores y cómo Amazon ECS permite administrar clústeres de contenedores de manera escalable. También describe cómo crear y actualizar servicios de contenedores en Amazon ECS usando tareas y definiciones de tareas.
Este documento describe cómo escalar una aplicación desde un solo usuario hasta más de 10 millones de usuarios en AWS. Comienza con una sola instancia EC2 y luego separa componentes, agrega redundancia y escala horizontalmente utilizando servicios como ELB, RDS, DynamoDB, S3 y Lambda. También cubre técnicas como auto escalamiento, arquitectura SOA y optimización de rendimiento.
Este documento presenta una introducción a las arquitecturas sin servidores utilizando AWS Lambda. Explica cómo las arquitecturas serverless son la evolución natural de los modelos monolíticos, SOA y de microservicios. Describe los componentes clave de AWS Lambda como las funciones, eventos y el servicio administrado. También incluye ejemplos de patrones arquitectónicos serverless y mejores prácticas para AWS Lambda y Amazon API Gateway.
La informática sin servidor le permite crear y ejecutar aplicaciones y servicios sin preocuparse de los servidores. Las aplicaciones sin servidor no requieren que aprovisione, escale ni administre ningún servidor. Puede crearlas para prácticamente cualquier tipo de aplicación o servicio backend. Además, usted administra todo lo necesario para ejecutar y escalar la aplicación con alta disponibilidad.
https://aws.amazon.com/es/serverless
El documento describe los componentes principales de AWS IoT, incluyendo la seguridad, protocolos soportados, Thing Gateway, IoT Rules Engine, Thing Registry, Thing Shadow, y cómo AWS Greengrass permite ejecutar código de AWS Lambda en dispositivos IoT. También presenta ejemplos de cómo usar estos servicios para un escenario de monitoreo de pacientes en un hospital.
Este documento describe las ventajas de migrar cargas de trabajo SAP HANA a instancias X1 de Amazon EC2. Estas instancias ofrecen mayor memoria y procesamiento que otras opciones, lo que permite escalar cargas de trabajo SAP HANA de manera más efectiva. La migración a la nube de AWS también puede reducir costos, mejorar la agilidad y permitir enfocarse en iniciativas de negocio de mayor valor.
Este documento presenta una introducción a Docker y contenedores en AWS. Explica los beneficios de usar contenedores para implementar microservicios y describe los componentes clave de Amazon ECS, como la administración de clústeres, la programación de tareas de contenedor y la facilidad para ejecutar y actualizar servicios de forma escalable.
Este documento presenta las diversas opciones de almacenamiento en AWS, incluyendo S3 para almacenamiento de objetos, EBS para almacenamiento de bloques, EFS para almacenamiento de archivos, Glacier para archivado a largo plazo, y Storage Gateway para integrar el almacenamiento en la nube con datos locales. Cada servicio se ha diseñado para casos de uso específicos y ofrece características como escalabilidad, disponibilidad, seguridad y bajos costos. AWS continúa innovando con nuevas funciones como encripción
Este documento describe cómo crear una aplicación de big data completa en AWS desde la recolección de datos hasta el análisis. La aplicación recopila registros de acceso web usando Amazon Kinesis y Log4J, procesa los datos con Amazon EMR y Spark, almacena resultados en Amazon S3, y analiza los datos cargados en Amazon Redshift usando SQL. El documento guía al lector a través de cada paso del proceso con instrucciones detalladas.
Este documento presenta un marco para la optimización de costos en AWS. Se enfoca en cinco pilares clave: 1) elegir el tamaño correcto de instancias, 2) incrementar la elasticidad, 3) utilizar el modelo de precios correcto, 4) seleccionar la clase apropiada de almacenamiento, y 5) medir y monitorear el uso y gastos. También discute implementar estas mejores prácticas a gran escala a través de la automatización, herramientas como Trusted Advisor, y estableciendo objetivos
DevOps permite acelerar el ciclo de desarrollo de software mediante la automatización y la integración continua de los procesos de desarrollo, pruebas y despliegue. Amazon ha adoptado prácticas DevOps como equipos pequeños con responsabilidades compartidas, microservicios y despliegues continuos automatizados a través de servicios como AWS CodeCommit, AWS CodePipeline y AWS CodeDeploy. Estos servicios permiten a los equipos de Amazon realizar más de 50 millones de despliegues por año de forma rápida, confiable y sin tiempo de
Este documento describe los servicios principales de AWS IoT, incluyendo Thing Registry, Thing Shadow, IoT Rules Engine y cómo se pueden usar junto con otros servicios de AWS como Kinesis, DynamoDB, Lambda, SNS y Greengrass para construir aplicaciones de Internet de las Cosas escalables. También presenta ejemplos de cómo estos servicios podrían usarse para un escenario de monitoreo de pacientes en un hospital.
Este documento proporciona una introducción a EC2, incluyendo una descripción de las diferentes familias de instancias EC2, cómo se asignan los recursos, y consejos sobre el rendimiento. También cubre temas como el uso de la fuente de reloj TSC para medir el tiempo, el control de estados P y C, supervisar los créditos CPU en instancias T2, y el equilibrio NUMA en sistemas con múltiples sockets. El objetivo es ayudar a los usuarios a elegir la instancia adecuada y optimizar el
Este documento presenta las mejores prácticas de AWS Identity and Access Management (IAM), incluyendo la creación de usuarios individuales con los privilegios mínimos necesarios, el uso de grupos para administrar permisos, y la habilitación de AWS CloudTrail para auditoría. También discute el uso de roles IAM para compartir accesos de manera segura entre cuentas y para instancias EC2, así como la eliminación del uso de la cuenta raíz.
Este documento presenta varios servicios de bases de datos administradas de AWS, incluyendo Amazon DynamoDB (una base de datos NoSQL), Amazon RDS (una base de datos relacional administrada), Amazon ElastiCache (un cache en memoria administrado), y Amazon Redshift (una data warehouse administrada). Explica las ventajas de usar bases de datos administradas en AWS en lugar de administrar bases de datos localmente, como la eliminación de la necesidad de administrar hardware, software y actualizaciones.
Este documento describe diferentes técnicas y casos de uso para implementar un plan de recuperación ante desastres (DRP) en AWS. Estas incluyen realizar copias de seguridad en S3 para recuperación inicial, usar AWS Import/Export para grandes volúmenes de datos, replicar entornos virtualizados con AWS Storage Gateway y realizar failover a sitios remotos con Direct Connect o VPN. También presenta opciones para trabajadores remotos como Amazon Workspaces y controlar despliegues con CloudFormation.
El documento presenta las opciones de almacenamiento en AWS, incluyendo Amazon S3 para almacenamiento de objetos, Amazon EBS para almacenamiento de bloques, Amazon EFS para almacenamiento de archivos, Amazon Glacier para almacenamiento de archivos, y AWS Storage Gateway para integrar el almacenamiento en la nube con el almacenamiento local. Cada servicio se adapta a diferentes casos de uso y ofrece características como escalabilidad, disponibilidad, rendimiento y cumplimiento.
Este documento describe las ventajas de ejecutar cargas de trabajo SAP HANA en instancias X1 de Amazon EC2. Estas instancias ofrecen más memoria que otras instancias certificadas por SAP y están diseñadas para SAP HANA. El documento también describe cómo las empresas pueden acelerar su transformación digital al migrar soluciones SAP como S/4HANA y BW/4HANA a AWS para reducir costos y tiempos de implementación.
Este documento presenta una introducción a Docker y Amazon ECS. Explica los beneficios de los contenedores y microservicios y cómo ECS permite la administración y programación de contenedores a gran escala a través de clústeres de EC2. También describe cómo ECS permite ejecutar servicios de larga duración mediante el balanceo de carga y la actualización automática de contenedores.
Este documento presenta una introducción a Docker y Amazon ECS. Explica los beneficios de los contenedores y cómo Amazon ECS permite administrar clústeres de contenedores de manera escalable. También describe cómo crear y actualizar servicios de contenedores en Amazon ECS usando tareas y definiciones de tareas.
Este documento describe patrones avanzados de implementación de microservicios con contenedores en AWS. Explica conceptos como microservicios, contenedores y arquitecturas de implementación como ECS, Fargate y despliegues blue-green. También cubre temas como escalado automático, descubrimiento de servicios, integración continua y despliegues, entre otros.
Este documento presenta sobre Azure Service Fabric, una plataforma de Microsoft para construir y administrar microservicios y contenedores. Se discute cómo Service Fabric permite implementar aplicaciones como microservicios independientes que se pueden escalar individualmente. También cubre los modelos de programación, herramientas de desarrollo y monitoreo, y cómo Service Fabric puede usarse para modernizar aplicaciones existentes o crear nuevas aplicaciones basadas en microservicios.
Las tecnologías como los contenedores y kubernetes pueden hacer que sus procesos de entrega de software sean más fáciles y más rápidos. En este webinar, hablaremos sobre cómo usar el Amazon Kubernetes Service (EKS) para construir aplicaciones modernas con grupos Kubernetes totalmente administrados.
El documento describe la evolución de la arquitectura de aplicaciones desde modelos monolíticos y orientados a servicios hacia modelos serverless y sin servidores utilizando funciones como AWS Lambda. Explica cómo los patrones de arquitectura serverless permiten enfocarse en el código sin preocuparse por la administración de servidores, además de proveer escalamiento automático y alta disponibilidad. Finalmente, presenta algunos ejemplos comunes de uso de arquitecturas serverless como microservicios, procesamiento de datos y sitios web.
Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...Amazon Web Services LATAM
El documento describe las características de las aplicaciones modernas en la nube, incluyendo facilidad de gestión entre ambientes con tecnologías serverless, reducción del impacto de cambios de código con arquitectura de microservicios, y automatización de actividades operativas con infraestructura como código. También cubre técnicas para desarrollar y desplegar aplicaciones modernas como el uso de frameworks, IDEs integrados con AWS, y pruebas de canarios para despliegues sin problemas.
Este documento describe las ventajas de una arquitectura Serverless utilizando servicios de AWS como AWS Lambda, Amazon API Gateway, Amazon S3 y Amazon DynamoDB. Explica cómo estas arquitecturas permiten enfocarse en el código sin preocuparse por la administración de servidores, permitiendo una escalabilidad automática y reduciendo el tiempo de lanzamiento de nuevas aplicaciones. También presenta un caso de uso real de una empresa chilena que migró con éxito su plataforma de IoT a una arquitectura Serverless.
Este documento describe patrones avanzados de implementación de microservicios con Amazon ECS. Explica conceptos como contenedores, arquitectura de microservicios y patrones como despliegue continuo, escalado automático y discovery de servicios. También cubre temas como estrategias de ubicación de tareas en ECS y arquitecturas basadas en contenedores para lograr velocidad y agilidad en el desarrollo digital.
Este documento describe los principales servicios que ofrece AWS, incluyendo computación, almacenamiento, bases de datos, despliegue y administración, aplicaciones y correo. También cubre la automatización y monitoreo de los servicios, así como la recuperación ante desastres y posibles escenarios.
El documento presenta una introducción a los microservicios y nanoservicios. Explica que los microservicios dividen las aplicaciones en servicios pequeños e independientes que se comunican a través de APIs, mientras que los nanoservicios son aún más pequeños y están diseñados para desplegarse en plataformas serverless. También discute algunas tecnologías como Express, MongoDB y OpenAPI que se pueden usar para implementar este estilo arquitectónico, así como casos de uso comunes para micro y nanoservicios.
El documento describe la arquitectura serverless, donde el código se ejecuta en ambientes administrados por proveedores sin necesidad de administrar servidores. Explica que AWS ofrece servicios serverless como Lambda para ejecutar código, API Gateway para crear APIs y DynamoDB para almacenamiento de datos, cobrando solo por el uso de recursos. También describe el AWS Serverless Application Repository para implementar aplicaciones prediseñadas de forma rápida.
Eduardo Patiño presenta sobre arquitecturas Serverless en AWS Lambda. Explica que estas arquitecturas eliminan la necesidad de administrar servidores al permitir ejecutar código sin servidores mediante servicios como AWS Lambda y Amazon API Gateway. También describe cómo una empresa llamada Masivian migró con éxito sus aplicaciones a una arquitectura Serverless en AWS, logrando ahorros significativos en costos y una mayor escalabilidad.
Arquitecturas Serverless com IoT, Machine Learning y Assistente de Voz en Prá...Amazon Web Services LATAM
Este documento presenta las arquitecturas serverless con IoT, machine learning y asistentes de voz. Describe los desafíos de usar estas tecnologías juntas y recomienda experiencias personalizadas, automatización e interacciones dirigidas por voz. Explica los conceptos de serverless, casos de uso comunes como aplicaciones web, procesamiento de datos y chatbots, y servicios de AWS como Lambda y API Gateway. También cubre IoT, machine learning con Amazon SageMaker y asistentes de voz como Amazon Alexa.
En este webinar presentaremos una visión general sobre los servicios de nube ofrecidos por Amazon Web Services
1. ¿Qué es la informática en la nube de AWS y los beneficios de una implementación en nube para su empresa:
2.¿Quién está usando la nube de AWS y cómo la están usando?
3.¿Cómo puedo usar los servicios de AWS para mis workloads?
Este documento presenta Docker, una plataforma de contenedores que permite empaquetar aplicaciones junto con todas sus dependencias para ejecutarlas de forma aislada. Explica los beneficios de Docker para desarrolladores y startups, como facilitar el despliegue de aplicaciones y la gestión en la nube. También describe el ecosistema de Docker incluyendo clientes, servidores, imágenes, registros y buenas prácticas de orquestación y monitorización.
Microservicios en la nube: un paseo por Azure Service Fabric - .NET Conf CL v...Guillermo Javier Bellmann
Presentation about microservices architectures using Azure Service Fabric given at .NET Conf CL v2018 in Santiago, Chile.
Presentación sobre arquitecturas de microservicios con Azure Service Fabric dada en .NET Conf CL v2018 en Santiago, Chile.
O documento discute opções para Disaster Recovery na nuvem AWS, incluindo Backup e Restore, Pilot Light, Warm Standby e Multi-Site. A AWS oferece várias soluções para atender a diferentes requisitos de RTO e RPO a um custo variável. A nuvem permite testes fáceis e dimensionamento flexível dos recursos de recuperação de desastres.
O documento discute opções para Disaster Recovery na nuvem AWS, incluindo Backup e Restore, Pilot Light, Warm Standby e Multi-Site. A AWS oferece várias soluções para atender a diferentes requisitos de RTO e RPO a um custo variável. A nuvem permite testes fáceis e dimensionamento flexível dos recursos de recuperação de desastres.
O documento descreve várias soluções de segurança da nuvem da AWS, incluindo ferramentas para gestão de acessos e identidade, detecção, segurança de infraestrutura, resposta a incidentes e proteção de dados. A AWS oferece 203 certificações de segurança e mais de 2.600 controles auditados anualmente para ajudar clientes a manterem a conformidade e segurança na nuvem.
En este webinar, aprenderá cómo las empresas pueden aprovechar la nube de AWS para automatizar los pipelines de desarrollo de software. Este enfoque permite que su equipo sea más ágil, mejorando su capacidad para entregar aplicaciones y servicios rápidamente.
Neste webinar, você aprenderá como as empresas podem se valer da nuvem da AWS para automatizar os pipelines de desenvolvimento de software. Essa abordagem permite que sua equipe seja mais ágil, melhorando sua capacidade para entregar aplicações e serviços mais rapidamente.
Tecnologias como containers e Kubernetes podem tornar seus processos de entrega de software mais fáceis e rápidos. Neste webinar, falaremos sobre como usar o Amazon Elastic Kubernetes Service (EKS) para criar aplicativos modernos com clusters de Kubernetes totalmente gerenciados.
Ransomware é uma das ameaças de crescimento mais rápido para qualquer organização. Nenhuma empresa, grande ou pequena, está imune a ataques de cibercriminosos. Nesta sessão, mostramos como você pode aproveitar os serviços e recursos da nuvem AWS para proteger seus dados mais valiosos de ataques cibernéticos e acelerar a restauração de operações.
El ransomware es una de las amenazas de más rápido crecimiento para cualquier organización. Ninguna empresa, grande o pequeña, es inmune a los ataques de los ciberdelincuentes. En esta sesión, mostramos cómo puede aprovechar los servicios y las capacidades de la nube AWS para proteger sus datos más valiosos de los ataques cibernéticos y acelerar la restauración de las operaciones.
Ransomware é uma prática maliciosa que tem se popularizado nos últimos anos. Nessa sessão, mostraremos como através da Amazon Web Services nossos clientes podem desenvolver uma estratégia pró-ativa de mitigação a ataques de ransomware, tanto em cenários on-premises como operando na nuvem.
El ransomware es una práctica maliciosa que se ha popularizado en los últimos años. En esta sesión les mostraremos cómo desde Amazon Web Services nuestros clientes pueden desarrollar una estrategia proactiva de mitigación frente a ataques de ransomware, tanto en escenarios on-premises, como operando en la nube.
Al mover datos a la nube, los clientes deben comprender los métodos óptimos para los diferentes casos de uso, los tipos de datos que están moviendo y los recursos disponibles en la red, entre otros. Las soluciones de migración y transferencia de AWS contemplan desde la migración de datos con conectividad limitada, almacenamiento en la nube híbrida, transferencias frecuentes de archivos B2B, hasta transferencias de datos en línea y sin conexión. En esta sesión, le mostramos cómo puede acelerar la migración y transferencia de datos de manera simplificada desde y hacia la nube de AWS.
O documento discute estratégias para migração de dados para a AWS, incluindo serviços como AWS Transfer Family para transferência de arquivos, AWS DataSync para mover dados entre ambientes on-premises e AWS, e AWS Snow Family para transferência offline de grandes quantidades de dados.
El almacenamiento de archivos tiene diversos casos de uso; como directorios de usuarios, datos de aplicaciones, archivos multimedia y almacenamiento compartido para cargas de trabajo de alto rendimiento. La administración del almacenamiento de archivos en instalaciones propias suele ser un trabajo pesado, indiferenciado, con altos costos de adquisición, carga operativa para configurar y administra, lo que conlleva a desafíos de escalabilidad. En esta sesión, le mostramos cómo puede aprovechar las soluciones de archivos totalmente administradas de AWS para dejar de preocuparse por la sobrecarga administrativa de configurar, proteger, mantener y realizar copias de seguridad de su infraestructura de archivos.
La visualización de datos analíticos es un reto al que se enfrentan muchas organizaciones, el poder crear tableros, alertas, agregar predicciones a sus datos y actuar de acuerdo a estas de manera rápida es una necesidad de todos los negocios actuales. Únase a nuestros arquitectos para aprender como Amazon QuickSight le permite agregar inteligencia de negocios a sus aplicaciones y crear predicciones a futuro de sus datos. Amazon QuickSight es un servicio de inteligencia de negocios escalable y serverless creado para la nube, a través del cual podrá explotar sus datos de negocio para convertirlos en insights para hacer decisiones informadas sobre su negocio sin preocuparse de la gestión, escalamiento y la disponibilidad de la infraestructura de cómputo.
A visualização de dados é um desafio que muitas organizações enfrentam hoje. Criar dashboards, alertas, fazer previsões e agir rapidamente de acordo com os insights dos dados é uma necessidade de todas as empresas. Junte-se aos nossos arquitetos para aprender como o Amazon QuickSight o ajudará a adicionar BI aos seus aplicativos. O Amazon Quicksight é um serviço de BI escalável e serverless criado para a nuvem. Com ele, você pode explorar seus dados para obter insights e tomar decisões embasadas em seus negócios, sem se preocupar em gerenciar e dimensionar servidores e manter a disponibilidade de sua infraestrutura.
1) O documento discute os benefícios de migrar workloads de Big Data para a AWS, incluindo tornar mais fácil construir data lakes e analytics, oferecer maior abrangência de serviços e fornecer infraestrutura mais segura e escalável.
2) É apresentada a plataforma Amazon EMR para executar aplicativos de Big Data de forma gerenciada na AWS, proporcionando melhor desempenho a menor custo em comparação a clusters on-premises.
3) A separação de computação e armazenamento no Amazon EMR permite
Ejecutar proyectos de Big Data nunca ha sido más sencillo. Con AWS, puede ejecutar Hadoop, Spark, Hive, Flink y marcos similares de forma más rápida y rentable. En este seminario web, aprenderá cómo mejorar el rendimiento del procesamiento de datos y reducir los costos, especialmente en comparación con un entorno local.
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)AbrahamCastillo42
Power point, diseñado por estudiantes de ciclo 1 arquitectura de plataformas, esta con la finalidad de dar a conocer el componente hardware llamado tarjeta de video..
La inteligencia artificial sigue evolucionando rápidamente, prometiendo transformar múltiples aspectos de la sociedad mientras plantea importantes cuestiones que requieren una cuidadosa consideración y regulación.
Uso de las Tics en la vida cotidiana.pptx231485414
Las Tecnologías de la Información y las Comunicaciones (TIC), son el conjunto de recursos, herramientas, equipos, programas informáticos, aplicaciones, redes y medios.
LA GLOBALIZACIÓN RELACIONADA CON EL USO DE HERRAMIENTAS.pptxpauca1501alvar
Explica cómo las tecnologías digitales han facilitado e impulsado la globalización al eliminar barreras geográficas y permitir un flujo global sin precedentes de información, bienes, servicios y capital. Se describen los impactos de las herramientas digitales en áreas como la comunicación global, el comercio electrónico internacional, las finanzas y la difusión cultural. Además, se mencionan los beneficios como el crecimiento económico y el acceso a la información, así como los desafíos como la desigualdad y el impacto ambiental. Se concluye que la globalización y las herramientas digitales se refuerzan mutuamente, promoviendo una creciente interdependencia mundial.
Catalogo general tarifas 2024 Vaillant. Amado Salvador Distribuidor Oficial e...AMADO SALVADOR
Descarga el Catálogo General de Tarifas 2024 de Vaillant, líder en tecnología para calefacción, ventilación y energía solar térmica y fotovoltaica. En Amado Salvador, como distribuidor oficial de Vaillant, te ofrecemos una amplia gama de productos de alta calidad y diseño innovador para tus proyectos de climatización y energía.
Descubre nuestra selección de productos Vaillant, incluyendo bombas de calor altamente eficientes, fancoils de última generación, sistemas de ventilación de alto rendimiento y soluciones de energía solar fotovoltaica y térmica para un rendimiento óptimo y sostenible. El catálogo de Vaillant 2024 presenta una variedad de opciones en calderas de condensación que garantizan eficiencia energética y durabilidad.
Con Vaillant, obtienes más que productos de climatización: control avanzado y conectividad para una gestión inteligente del sistema, acumuladores de agua caliente de gran capacidad y sistemas de aire acondicionado para un confort total. Confía en la fiabilidad de Amado Salvador como distribuidor oficial de Vaillant, y en la resistencia de los productos Vaillant, respaldados por años de experiencia e innovación en el sector.
En Amado Salvador, distribuidor oficial de Vaillant en Valencia, no solo proporcionamos productos de calidad, sino también servicios especializados para profesionales, asegurando que tus proyectos cuenten con el mejor soporte técnico y asesoramiento. Descarga nuestro catálogo y descubre por qué Vaillant es la elección preferida para proyectos de climatización y energía en Amado Salvador.
El uso de las TIC en la vida cotidiana.pptxjgvanessa23
En esta presentación, he compartido información sobre las Tecnologías de la Información y la Comunicación (TIC) y su aplicación en diversos ámbitos de la vida cotidiana, como el hogar, la educación y el trabajo.
He explicado qué son las TIC, las diferentes categorías y sus respectivos ejemplos, así como los beneficios y aplicaciones en cada uno de estos ámbitos.
Espero que esta información sea útil para quienes la lean y les ayude a comprender mejor las TIC y su impacto en nuestra vida cotidiana.
4. ¿Qué son los contenedores?
Virtualización de SO
Aislamiento de procesos
Imágenes
AutomatizaciónServidor
SO invitado
Recipientes/
bibliotecas
Recipientes/
bibliotecas
Apl. 2Apl. 1
5. Ventajas de los contenedores
Portabilidad
Flexibilidad
Rapidez
EficaciaServidor
SO invitado
Recipientes/
bibliotecas
Recipientes/
bibliotecas
Apl. 2Apl. 1
6. Evolución de los servicios para convertirse en
microservicios
Aplicación monolítica
IU de
pedidos
IU de
usuarios
IU de
envíos
Servicio
de pedidos
Servicio
de usuarios
Servicio
de envíos
Acceso
a los datos
Host 1
Servicio A
Servicio B
Host 2
Servicio B
Servicio D
Host 3
Servicio A
Servicio C
Host 4
Servicio B
Servicio C
7. Contenedores: un sistema natural para los microservicios
Modelado sencillo
Cualquier aplicación, cualquier lenguaje
La imagen es la versión
Se prueba e implementa la misma imagen
Los servidores sin estado reducen el riesgo en un cambio
9. Calendarizar un clúster es complicado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
Servidor
SO
invitado
11. Administración de clústeres: administración
de recursos
Docker
Tarea
Instancia de EC2
Contenedor
Docker
Tarea
Instancia de EC2
Contenedor
Tarea
Contenedor
Docker
Instancia de EC2
Tarea
Contenedor
AZ 1 AZ 2
12. Administración de clústeres: Calendarización
Docker
Tarea
Instancia de EC2
Contenedor
Docker
Tarea
Instancia de EC2
Contenedor
Tarea
Contenedor
Docker
Instancia de EC2
Tarea
Contenedor
AZ 1 AZ 2
13. Amazon ECS: administración de recursos
Docker
Tarea
Instancia de contenedor
Contenedor
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Tarea
Contenedor
AZ 1 AZ 2
Motor de administración de clústeres
14. Amazon ECS: Comunicación con los agentes
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
AZ 1 AZ 2
Motor de administración de clústeres
Servicio de comunicación con los agentes
15. Amazon ECS: Almacén de llave/valor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
ELB
Internet
ELB
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
AZ 1 AZ 2
Almacén de clave/valor
Motor de administración de clústeres
Servicio de comunicación con los agentes
16. Amazon ECS: API
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
ELB
Internet
ELB
Usuario/
programador
API
Motor de administración de clústeres
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
AZ 1 AZ 2
Almacén de clave/valor
Servicio de comunicación con los agentes
17. Amazon ECS: Calendarización
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
ELB
Internet
ELB
Usuario/
calendarizador
API
Motor de administración de clústeres
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
AZ 1 AZ 2
Almacén de clave/valor
Servicio de comunicación con los agentes
27. Amazon ECS
Docker
Tarea
Instancia de contenedor
Amazon
ECS
Contenedor
Agente de ECS
ELB
Internet
ELB
Usuario/
programador
API
Motor de administración de clústeres
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
Docker
Tarea
Instancia de contenedor
Contenedor
Agente de ECS
Tarea
Contenedor
AZ 1 AZ 2
Almacén de clave/valor
Servicio de comunicación con los agentes
34. Creación de un servicio
Adecuado para
aplicaciones y servicios
de ejecución prolongada
35. Creación de un servicio
Balance de carga del tráfico entre contenedores
Recuperación automática de contenedores que no funcionan
correctamente
Elastic Load Balancing
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
36. Servicios escalables
Escalado ascendente
Escalado descendente
Elastic Load Balancing
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
37. Actualización de servicio
Implementación de nueva versión
Vaciado de conexiones
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
nuevo nuevo nuevo
Elastic Load Balancing
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
Volumen de datos
compartido
Contenedores
anterior anterior anterior
Vamos a hablar acerca de los contenedores y por qué probablemente quieras utilizarlos. Entender para que son y como las demas personas los utilizan.
Y después como puedes utilizarlos a gran escala. Hablaremos sobre Amazon ECS, que te entrega administración de clústers
Y tendremos al final una demo con la CLI y también con la consola de ECS
Los contenedores son muy similares a virtualización de hardware, por ejemplo EC2.
En vez de particionar un host físico en múltiples máquinas virtuales, un contenedor aisla el proceso a ejecutar en un único sistema operativo
Para hacerlo, docker utiliza algunas propiedades del kernel del sistema operativo en el que vive. Con esto crear muchos procesos basados en usuarios.
Tu puedes poner límites en estos procesos como por ejemplo, cuanta memoria o CPU puede este proceso utilizar
Además puedes aislar rutas del sistema, archivos o unidades de disco enteras en tu SO base para que este proceso no pueda verlas
Docker provee un sistema de imágenes para que de forma sencilla puedas definir que corre en donde (por ejemplo, que versión de tu aplicación corre en qué contenedor)
Todo esto puede ser auomatizado ya que, si tienes la imágen de tu aplicación puedes hacer tareas repetitivas con ella.
Pues casi todo lo platicado me lo provee una máquina virtual. Entonces, para qué aprender docker?
Existen cuatro beneficios principales:
Portable: Donde sea que ejecutes tu imagen, funcionará exactamente igual. Funciona igual en tu laptop local o en tu ambiente productivo.
La imagen es la versión, por lo que es mas sencilla de administrar vs todo un SO
Puedes crear y recrear tus ambientes ya que es modular. Podemos hablar de microservicios al descomponer una aplicación en múltiples servicios que, en conjunto realizan una actividad completa. Cada servicio puede verse como un contenedor
Los contenedores son ràpidos tanto en inicializarse pero también te permiten que tus equipos de desarrollo se muevan mas rápido en términos de implementación y mejoras
La meta es descomponer la aplicación tanto como sea posible para reducir dependencia entre diferentes procesos.
Para demostrar un poco como una arquitectura de microservicios te puede ayudar a escalar de una mejor manera y moverte mas rápido. Les tengo una historia: Amazon.com, este negocio de venta de productos en línea tenía una arquitectura monolítica hace unos 12 años.
Todo, desde el servidor web hasta la interfaz de usuario, los sistemas de órdenes, el carrito de compra, el motor de recomendaciones y mucho mas… todo esto era un único código fuente enorme
Existia mucha interdepencencia entre cada uno de estos “mini sistemas” y esto hacia que escalar el sitio web fuera una tarea complicadísima
Para escalar mejor, Amazon hizo una descomposición de su arquitectura en servicios separados. Habilitó el uso de equipos de trabajo mas pequeños y enfocados en un servicio en particular, haciéndolos mucho mas eficientes
Nuevos releases o actualizaciones podian entregarse mas rápidamente de forma independiente
Esta es la arquitectura que hoy llamamos microservicios.
Los contenedores siguen una línea natural para crear arquitecturas de microservicios
Hace mucho mas sencillo modelar una aplicación y sus dependencias para empaquetarlas en algo llamado “docker file”. Al final esa “imagen” es una vesión de tu microservicio.
Esta imagen puede ser guardada en un repositorio, como si fuera código fuente. Por ejemplo puedes guardarlo github o el servicio de repositorios de AWS (ECR)
Así que es muy sencillo probarlo y ejecutarlo. Una nueva implementación es igual a un nuevo set de contenedores sin importar el server base
Recuerden que la meta es descomponer la aplicación tanto como sea posible para reducir dependencia entre diferentes procesos.
Utilizar la CLI de docker es muy sencillo. Podemos pasar de tener código fuente y un docker file a una imagen corriendo en muy poco tiempo
Cuando estás en tu laptop, comenzar a correrlo es muy sencillo… pero cuando tienes muchas imágenes corriendo (cambio de slide)
Y tu ambiente de microservicios comienza a verse así, probablemente estés corriendo un clúster.
La administración de un clúster de contenedores no es algo trivial
Necesitamos una manera de ubicar nuestros contenedores en las instancias que tienen los recursos suficientes para ejecutar las tareas de dicho contenedor
Para hacerlo de manera inteligente, necesitas conocer el estado de todo en tu sistema… por ejemplo, cuales instancias en mi clúster están saludables y tienen X o Y capacidad disponible. Como saber si un contenedor ya no está funcionando o si necesita obtener datos digamos, de un servicio de balanceo de cargas.
Como insertar a la ecuación herramientas de integración contínua que ya nuestros clientes utilizan? o un calendarizador de terceros?
Estas son algunas de las muchas preguntas que nuestros clientes tienen todos los dias
Y bueno, para responder algunas de esas preguntas, hablemos mas a fondo acerca de ellas.
Algo muy importante a tener en un clúster es un manejador de recursos (o un scheduler), responsible por dar seguimiento a todos tus recursos
Para calendarizar contenedores de la mejor manera, necesitas conocer los límites de cada recurso que conforma tu clúster, por ejemplo CPU y memoria)
Amazon ECS provee una solución para la administración de tu clúster
Básicamente se tiene un motor de administración del clúster como backend que coordina todas las instancias EC2 que conforman tu clúster ECS
Si lo ves como un clúster solo es un pool de CPU, RAM y espacio en disco, listo para que tus contenedores lo utilicen.
A estas instancias EC2 que conforman tu clúster ECS se les preinstaló un agente de ECS pero tu eres dueño de estas instancias. Incluso puedes conectarte vía ssh a ellas
Este cluster es escalable. Es posible tener un cluster de una instancia o de 100 o 1000 instancias
Generalmente nuestros clientes utilizan un clúster para separar ambientes (por ejemplo, Pruebas, desarrollo, QA, producción)
Es bueno comentarles que este agente ECS es de código abierto. Está escrito en GO y está disponible para que ustedes lo descarguen
Hablando mas a fondo sobre el agente de ECS, necesitamos tener una repositorio de datos en donde tener la información completa sobre el clúster:
Todas las tareas que corren en las instancias
Los contenedores que crean las tareas
Los recursos disponibles para nuevas tareas
Toda esta información se llama “estado del clúster” y se guarda en una base de datos no relacional, tipo llave/valor en AWS
Otro dato único de la arquitectura de ECS es que nosotros desacoplamos el calendarizador de contenedores de la administración del clúster.
Toda la información del clúster está disponible para el administrador a través de las APIs del calendarzador
Como comenté hace un momento, un calendarizador provee lógica para saber como, cuando y donde inicializar y detener contenedores
La arquitectura de ECS está diseñada para compartir el estado del clúster y con ello te permite ejecutar cualquier scheduler que requieras o con el que ya te sientas cómodo
Hablando un poco mas sobre calendarización
Con ECS cada calendarizador puede de forma periódica solicitar información sobre el estado del clúster
Esto lo hace por ejemplo para validar que los recursos estén disponibles y/o para tomar decisiones sobre donde ejecutar una nueva tarea
Una vez el calendarizador ejecute una acción (en este caso, coloque una tarea nueva en el clúster), va a actualizar el estado del cluster con nueva información
Si otro calendarizador ejecutó una acción que tomó recursos que el viejo calendarizador necesitaba, la transacción será rechazada por el sistema interno de concurrencia de ECS
Entonces, prácticamente lo que permite hacer ECS es compartir el estado del clúster para todos los calendarizadores que así lo requieran en el momento que lo requieran
Eso suena muy padre, pero cuales son los beneficios principales que nos ofrece ECS?
Nosotros desarrollamos ECS debido a que nuestros clientes habían estado ejecutando imágenes docker en EC2 pero era muy dificil administrarlos
Ellos solicitaban una manera mas sencilla… algo como un software de administración de un clúster de docker
Entonces, con ECS podemos
Administrar un clúster de instancias EC2
Conocer el estado del clúster en cualquier momento
Monitoreo granular
Escalar desde uno a 100 o miles de contenedores ejecutandose
En la gráfica mostrada podemos ver en un periodo de 3 dias,
Linea azul, el número de instancias EC2
Linea verde y roja son el P99 y P50 de latencia encontrada en nuestros servicios corriendo en los contenedores que se encuentran siendo ejecutados por (en algún momento) más de 1000 instancias EC2 que conforman nuestro clúster ECS
Esto demuestra que no existe aumento de latencia mientras se agregan instancias EC2 a nuestro clúster
ECS está hecho para trabajar de manera transparente con otros servicios de AWS que probablemente ya estén utilizando, por ejemplo un balanceador de carga, almacenamiento EBS o un rol de identidad en IAM
Puedes lanzar un clúster dentro de tu VPC y utilizar grupos de seguridad para controlar la red
Además con Cloudtrail puedes capturar todos los accesos via API para tener análisis de seguridad y cumplimiento de auditorias. Puedes hacer seguimiento de cambios y muchas cosas más
Hablando un poco mas sobre extensibilidad,
Utilizando las APIs del servicio encontrarás comandos como “listar, describir o ejecutar”, mismas que pueden sonarte bastante familiares si ya utilizas EC2
Como hemos comentado, puedes utilizar cualquier calendarizador debido a las APIs abiertas del servicio
Y recapitulando, el agente de ECS y la CLI es de código abierto.
Para sumarizar todo lo que hemos platicado, ECS te permite pasar de la idea a la ejecución muy rápido cuando hablamos de sistemas altamente distribuidos y microservicios
Asi que, si quieres un cluster de contenedores sin necesidad de administrar el clúster tu mismo, ECS es la respuesta
Y hablando de servicios, como se ejecutan en Amazon ECS?
Lo primero que debemos hacer es modelar nuestra aplicación utilizando un archivo llamado Definición de tarea, o Task Definition.
En esta tarea se definen los contenedores a ejecutar juntos
Esta definición de tarea puede ser rastreada utilizando su nombre y número de revisión… algo así como su versión
Lo importante a recordar es que: si necesitas múltiples contenedores trabajando juntos como parte de una aplicación y es necesario que todos se ejecuten en la misma instancia, debes definirlos en una definición de tarea juntos
Para crear una definición de tarea puedes utilizar la consola para especificar la imágen de docker a utilizar para los contenedores
Puedes también especificar recursos como CPU o Memoria, puertos, volúmenes
Y también puedes especificar que comando ejecutar cuando el contenedor se inicializa
Al final podemos ver un checkbox que dice “Esencial”. Esta le dice a la tarea si debería o no fallar si este contenedor deja de ejecutarse
Tambien puedes declarar tus variables en json o en docker compose si así lo requieres
Una vez que tu definición de tarea haya sido creada, puedes calendarizarla a una instancia que tenga recursos disponibles para ejecutarla
Una vez la hayas calendarizado, esa definición de tarea se convierte en una tarea en ejecución, o simplemente, una tarea
Es la unidad mínima de trabajo en ECS. Puedes tener una tarea que tenga un único contenedor o hasta 10 contenedores que trabajan juntos en una única instancia EC2 dentro de un clúster de ECS
Por ejemplo, imagínate que necesitas una aplicación que necesita nginx, rails y redis ejecutándose juntos. Pues tendras que crear una definición de tarea con esos tres contenedores y cuando la calendarices, esta se convertirá en una tarea en ejecución
Tu puedes correr tantas tareas como quepan en tu instancia y para ello debes cuidar la utilización de CPU y Memoria de tu clúster
Esta es la manera de crear un servicio en la consola de aWS
Simplemente tienes que referenciar tu definición de tarea y elegir el número de veces que esta definición sea ejecutada
También puedes definir un ELB (que en este caso será un application load balancer, para poder balancear entre puertos)
El número de tareas dentro de tu servicio se parece mucho a un grupo de autoescalado. Tiene una capacidad deseada por lo que ECS mantendrá el número de tareas en ejecución como tu lo hayas configurado
Si una tarea falla, el servicio automáticamente ejecutará una nueva tarea hasta llegar al número de tareas deseadas
Y al igual que la capacidad deseada, podemos jugar con el número de tareas dependiendo de lo que necesite nuestra aplicación como si fuera un grupo de autoescalado en EC2. Podemos agregar y retirar tareas dependiendo de alarmas configuradas
Además, podemos por medio de APIs podemos desplegar nuevas versiones sin afectar a nuestros usuarios por medio de técnicas como vaciado de conexiones.
También existen opciones para hacer depliegue total o parcial