SlideShare una empresa de Scribd logo
1 de 29
Descargar para leer sin conexión
Mi experiencia con Amazon AWS EC2 y S3




                           Alejandro E Brito Monedero
                           @ae_bm
Agenda
–   Hablemos de AWS
–   AWS + Yo
–   Extras
–   Un poco de ec2-command-line
–   Preguntas
–   Referencias y créditos
AWS es ...
●   Proveedor IaaS (A.K.A la nube)
●   Modelo pay as you go
●   Virtualización con Xen
●   Otra forma de “pensar” la arquitectura de
    aplicaciones
●   Gestión de recursos de infraestructura a
    través de un API
Quienes lo usan
Fin de la parte de marketing
Conceptos importantes
●   Región
        –   Zona geográfica donde están ubicados un
             conjunto de AZs
        –   Cada región es independiente de las otras
●   Availability Zone (AZ)
        –   Es un datacenter
        –   Varios AZs conforman una región
        –   Los AZs de una región están interconectados
             por enlaces de baja latencia
Conceptos importantes
●   Amazon Machine Image (AMI)
●   Amazon Elastic Compute Cloud (EC2)
       –   Servicio Web que ofrece capacidad de
            computo
●   Amazon Simple Storage Service S3
       –   Almacén de datos no estructurados con alta
             disponibilidad y durabilidad
●   Amazon Elastic Block Store (EBS)
       –   Volúmenes de almacenamiento persistentes
            para usar con instancias EC2
Instancias EC2
●   Máquinas virtuales
       –   Compartes la máquina física con otras
            instancias
       –   No se puede controlar en que máquina física
            está la instancia (ciertas condiciones
            aplican)
       –   No te encariñes a la instancia, que sea 'cloud'
            no lo hace infalible
Instancias EC2
●   2 tipos de imágenes (AMI):
       –   Instance store
               ●   Al principio era el único tipo de instancia
               ●   Imagen de tamaño limitado y guardada en S3
               ●   Actualizar el AMI es un pain in the 4$$
               ●   Se pierde cualquier cambio no este
                     almacenado en un volumen EBS
               ●   Se puede migrar la imagen entre regiones (^_^)
               ●   Si la imagen es muy grande puede tardar en
                     iniciar
Instancias EC2
●   2 tipos de imágenes (AMI):
       –   EBS-backed
              ●   Se puede detener / iniciar la instancia
                      –   No olvidar lo que pasa con los discos efímeros
              ●   Se puede cambiar el tipo de instancia
                      –   Escalado vertical
              ●   La imagen es un snapshot del volumen raíz
                   EBS en S3
              ●   No se puede migrar la imagen entre regiones
Instancias EC2 - Tipos de almacenamiento
●   Unidades de disco efímeras
        –   Disco de la máquina física
        –   El mejor I/O que se puede tener
        –   Si se apaga / bloquea / detiene la instancia
              dile adiós a tus datos (;_;)
●   EBS (discos persistentes)
        –   SAN
        –   Más lentos que los discos efímeros
        –   RAID 1
        –   Snapshots incrementales guardados en S3
             (^_^)
Cosas que hice
●   Disclaimer: Todo esto es mejorable, no es 'the
    netflix way' (-_-)
       –   Sólo probando / jugando se hace experiencia
●   Economía de guerra
       –   Misión hacer todo lo más barato posible
●   Migración de un hosting dedicado a AWS
       –   DNS con un TTL de 300 por si la cosa no iba
            bien
Cosas que hice
●   Cada máquina frontend tenia una Elastic IP
        –   No tocas los DNS
        –   Ahora también existe Amazon Route 53
●   Para enviar correo usaba gmail como smarthost
        –   No puedes cambiar los registros PTR de
             Amazon
        –   Ahora hay Amazon SES
●   AMIs del tipo Instance Store por cada rol
        –   Ahora con instancias tipo EBS +
             CloudFormation + User Data Scripts +
             devops magic debería ser más flexible
Cosas que hice
●   Firewall
        –   Usas los Security groups
        –   Ahora los security groups se pueden
             administrar usando el portal WEB
        –   Una IP externa autorizada para hacer SSH
        –   Recomendado por los expertos
                ●   Sólo permitir ssh desde un security group
                     especial
                        –   Asociado a una instancia iniciada bajo demanda
Cosas que hice
●   Backups
       –   Un volumen EBS en donde se hacían
            respaldos incrementales diarios
               ●   rsync + hard links magic
       –   Snapshots a S3 del volumen EBS 'respaldo'
       –   Pude omitir este salto intermedio, pero
            siempre pienso en la consistencia de los
            datos y eso causa insomnio (;_;)
       –   xfs_freeze, db flush dmsetup, etc, son amigos
Cosas que hice
●   Monitoring
       –   Munin
       –   Zabbix
       –   Puedes usar CloudWatch para empezar
       –   Who watches the watchmen?
               ●   “Free uptime monitoring”
●   Deploy en 1 AZ
       –   Shame on me (-_-)
       –   No comments
       –   Se deberían hacer deploys multi AZ (Hasta
            donde lleguen los $$)
Cosas que hice
●   El almacenamiento (FUN part)
       –   LVM con EBSs como PVs
       –   1 LV en 1 VG en 1 EBS
       –   Aumentaba de tamaño las particiones con una
            mezcla de vudú, vgextend, pvmove, etc.
       –   Seguro sería muy lento y I/O unfriendly
            intentarlo con EBSs muy grandes
Cosas que hice
●   El almacenamiento (FUN part)
       –   ¿Cómo mejorarlo? 'brainstorming' (en especial
            con BBDD)
               ●   Pensando en una mezcla de RAID, LVM, XFS o
                    afines si tuviera muchos discos
               ●   ¿Se pueden hacer snapshots S3 de varios
                    volúmenes EBS en el mismo instante de
                    tiempo?
               ●   Usar glusterfs o afines
               ●   Hacer los respaldos en nodos secundarios
       –   Si tu app maneja el concepto de S3 te
             ahorrarías muchos de estos 'hacks'
Cosas nuevas de Amazon AWS
●   DNS Route 53
●   Cloudfront como CDN
●   Amazon SES
●   ELB para hacer balanceo de carga (¿Usarán
    HAProxy?) (^_^)
●   Métricas con Cloudwatch
●   Escalado horizontal automático
●   SQS
●   DynamoDB
Cosas nuevas de Amazon AWS
●   Identity and Access Management (IAM)
        –   Varios perfiles de usuarios con distintos
             permisos
        –   Permite delegar, delegar, ... delegar
        –   Más tiempo libre (^_^)
●   Usar spot instances para tener más instancias
    workers a precios de solidarios
●   BBDD Oracle, MySQL, MS-SQL gestionadas por
    Amazon
●   Etc (sacan cosas nuevas a cada rato)
●   Algo divertido: buscar 'Amazon Mechanical Turk'
Observaciones
●   Para tener una app en AWS y que aproveche
    la 'cloud'
       –   Necesitas a los developers, developers,
            developers, developers ...
       –   Los consejos de siempre
               ●   Ser 'fault tolerant'
               ●   Diseñar / hacer aplicaciones lo más 'stateless'
                    posible
               ●   Etc
●   El performance de red y EBS en AWS es
    variable
Observaciones
●   El HW físico aún existe
        –   A veces Amazon te informara que tiene que
              hacer mantenimiento en donde esta tu VM
        –   Otras veces el host físico hace que tu VM no
             funcione bien.
                ●   Solución: inicia una nueva instancia y termina la
                     que esta fallando
●   Con AWS lo que obtienes es una
    infraestructura dinámica y flexible, cuando no
    puedes montar tu propia 'cloud'
Lo escuche y lo olvide. Lo vi y lo entendí. Lo hice
                   y lo aprendí
                     Confucio
Créditos
 Imágenes
  –   openclipart.org/detail/2229/cloud-&-rainbow-by-
       gmcglinn
  –   www.re-cycledair.com/wp-
       content/uploads/2012/04/heroku-Logo-1.jpg
  –   www.instantpulp.com
  –   www.lomejordelface.com/wp-
       content/uploads/2011/09/piictu.jpg
  –   www.urbecom.com/blog/wp-
       content/uploads/2012/02/Logo-de-Amazon.-q.jpg
Créditos
 Imágenes
  –   wuaki.tv
  –   www.elandroidelibre.com/wp-
       content/uploads/2012/03/Instagram-Logo.jpg
  –   www.appsmashups.com/wp-
       content/uploads/2012/01/netflix.jpg
  –   www.flickr.com/photos/mcquinn/2302823476/sizes/
       m/in/photostream/
  –   www.marketingdirecto.com/wp-
       content/uploads/2012/02/pinterest12.jpg
Referencias
 Enlaces de interés
  –   alestic.com/
  –   https://github.com/boto/boto
  –   docs.amazonwebservices.com/general/latest/gr/Get
       TheTools.html
  –   aws.amazon.com/documentation/
  –   aws.amazon.com/articles/
  –   aws.amazon.com/resources/webinars/
Referencias
 Enlaces de interés
  –   aws.amazon.com/whitepapers/
  –   aws.amazon.com/architecture/
  –   reinvent.awsevents.com/
  –   docs.amazonwebservices.com/AWSEC2/latest/Use
       rGuide/FAQ_Regions_Availability_Zones.html
  –   https://forums.aws.amazon.com/thread.jspa?
        threadID=22830
Un estudiante pregunta:
      - ¿Qué es lo más valioso del mundo?

             El maestro respondió:
        - La cabeza de un gato muerto.

       El estudiante sorprendido pregunta:
-¿Por qué es la cabeza de un gato muerto la cosa
             más valiosa del mundo?

             El maestro respondió:
      - Porque nadie puede ponerle precio.

Más contenido relacionado

La actualidad más candente

Servicios de Bases de Datos administradas en AWS
Servicios de Bases de Datos administradas en AWS Servicios de Bases de Datos administradas en AWS
Servicios de Bases de Datos administradas en AWS Amazon Web Services LATAM
 
Creando su primera aplicación Big Data en AWS
Creando su primera aplicación Big Data en AWSCreando su primera aplicación Big Data en AWS
Creando su primera aplicación Big Data en AWSAmazon Web Services LATAM
 
Planeando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWSPlaneando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWSAmazon Web Services LATAM
 
AWS para torpes - Introducción a AWS
AWS para torpes - Introducción a AWSAWS para torpes - Introducción a AWS
AWS para torpes - Introducción a AWSAlvaro García Loaisa
 
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...Amazon Web Services
 
Webinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWSWebinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWSAmazon Web Services LATAM
 
Webinar: Comenzando con los servicios de AWS
Webinar: Comenzando con los servicios de AWSWebinar: Comenzando con los servicios de AWS
Webinar: Comenzando con los servicios de AWSAmazon Web Services LATAM
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosAmazon Web Services LATAM
 
SQL Server 2014 en ambientes hibridos
SQL Server 2014 en ambientes hibridosSQL Server 2014 en ambientes hibridos
SQL Server 2014 en ambientes hibridosEduardo Castro
 

La actualidad más candente (20)

Servicios de Storage en AWS
Servicios de Storage en AWSServicios de Storage en AWS
Servicios de Storage en AWS
 
EC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidad EC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidad
 
Servicios de Bases de Datos administradas en AWS
Servicios de Bases de Datos administradas en AWS Servicios de Bases de Datos administradas en AWS
Servicios de Bases de Datos administradas en AWS
 
Analizando el TCO para migrar a AWS
Analizando el TCO para migrar a AWSAnalizando el TCO para migrar a AWS
Analizando el TCO para migrar a AWS
 
Creando su primera aplicación Big Data en AWS
Creando su primera aplicación Big Data en AWSCreando su primera aplicación Big Data en AWS
Creando su primera aplicación Big Data en AWS
 
EC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidadEC2: Cómputo en la nube a profundidad
EC2: Cómputo en la nube a profundidad
 
Servicios de Storage de AWS
Servicios de Storage de AWSServicios de Storage de AWS
Servicios de Storage de AWS
 
Planeando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWSPlaneando la recuperación de desastres en la nube con AWS
Planeando la recuperación de desastres en la nube con AWS
 
DevOps en AWS
DevOps en AWS DevOps en AWS
DevOps en AWS
 
Amazon EC2 Container Service a Profundidad
Amazon EC2 Container Service a ProfundidadAmazon EC2 Container Service a Profundidad
Amazon EC2 Container Service a Profundidad
 
AWS para torpes - Introducción a AWS
AWS para torpes - Introducción a AWSAWS para torpes - Introducción a AWS
AWS para torpes - Introducción a AWS
 
Instancias Amazon EC2 a profundidad
Instancias Amazon EC2 a profundidadInstancias Amazon EC2 a profundidad
Instancias Amazon EC2 a profundidad
 
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
 
Docker ECS en AWS
Docker ECS en AWS Docker ECS en AWS
Docker ECS en AWS
 
Webinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWSWebinar: Ask the Architect - Servicios de Storage de AWS
Webinar: Ask the Architect - Servicios de Storage de AWS
 
Webinar: Comenzando con los servicios de AWS
Webinar: Comenzando con los servicios de AWSWebinar: Comenzando con los servicios de AWS
Webinar: Comenzando con los servicios de AWS
 
Creando su datacenter virtual
Creando su datacenter virtualCreando su datacenter virtual
Creando su datacenter virtual
 
Analizando el TCO para migrar a AWS
Analizando el TCO para migrar a AWSAnalizando el TCO para migrar a AWS
Analizando el TCO para migrar a AWS
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 
SQL Server 2014 en ambientes hibridos
SQL Server 2014 en ambientes hibridosSQL Server 2014 en ambientes hibridos
SQL Server 2014 en ambientes hibridos
 

Similar a Mi experiencia con Amazon AWS EC2 y S3

AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...Amazon Web Services
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosAmazon Web Services LATAM
 
Softonic Labs - Web Escalable
Softonic Labs - Web EscalableSoftonic Labs - Web Escalable
Softonic Labs - Web EscalableAlex Puig
 
Meetup AWS User Group chile - Diciembre 2018
Meetup AWS User Group chile - Diciembre 2018Meetup AWS User Group chile - Diciembre 2018
Meetup AWS User Group chile - Diciembre 2018Gonzalo Vásquez
 
Desarrollo en la nube
Desarrollo en la nubeDesarrollo en la nube
Desarrollo en la nubeJavier Nievas
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSAmazon Web Services LATAM
 
AWS Summits América Latina 2015- Bases de Datos en AWS
AWS Summits América Latina 2015- Bases de Datos en AWSAWS Summits América Latina 2015- Bases de Datos en AWS
AWS Summits América Latina 2015- Bases de Datos en AWSAmazon Web Services LATAM
 
VMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y AzureVMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y AzureSpanishPASSVC
 
Big Data: Arquitectura y mejores prácticas en AWS
Big Data: Arquitectura y mejores prácticas en AWSBig Data: Arquitectura y mejores prácticas en AWS
Big Data: Arquitectura y mejores prácticas en AWSAmazon Web Services LATAM
 
Big Data: Arquitecturas y mejores prácticas en AWS
Big Data: Arquitecturas y mejores prácticas en AWSBig Data: Arquitecturas y mejores prácticas en AWS
Big Data: Arquitecturas y mejores prácticas en AWSAmazon Web Services LATAM
 
AWS CloudFormation en 5 Minutos
AWS CloudFormation en 5 MinutosAWS CloudFormation en 5 Minutos
AWS CloudFormation en 5 MinutosOSOCO
 
AWS Summit Bogotá Track Básico: Almacenamiento y respaldos en la nube de aws
AWS Summit Bogotá Track Básico: Almacenamiento y respaldos en la nube de awsAWS Summit Bogotá Track Básico: Almacenamiento y respaldos en la nube de aws
AWS Summit Bogotá Track Básico: Almacenamiento y respaldos en la nube de awsAmazon Web Services
 
AWS Summits América Latina 2015- Almacenamiento y respaldos en la nube de aws
AWS Summits América Latina 2015- Almacenamiento y respaldos en la nube de awsAWS Summits América Latina 2015- Almacenamiento y respaldos en la nube de aws
AWS Summits América Latina 2015- Almacenamiento y respaldos en la nube de awsAmazon Web Services LATAM
 
Ansible + AWS: Cómo administrar tu infraestructura de AWS con Ansible
Ansible + AWS: Cómo administrar tu infraestructura de AWS con AnsibleAnsible + AWS: Cómo administrar tu infraestructura de AWS con Ansible
Ansible + AWS: Cómo administrar tu infraestructura de AWS con AnsibleQuito Lambda
 

Similar a Mi experiencia con Amazon AWS EC2 y S3 (20)

Implementando DRP en AWS
Implementando DRP en AWSImplementando DRP en AWS
Implementando DRP en AWS
 
Clase Maestra EC2
Clase Maestra EC2Clase Maestra EC2
Clase Maestra EC2
 
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
AWS Presentacion Universidad de los Andes "Escalando para sus primeros 10 Mil...
 
Escalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuariosEscalando para sus primeros 10 millones de usuarios
Escalando para sus primeros 10 millones de usuarios
 
Softonic Labs - Web Escalable
Softonic Labs - Web EscalableSoftonic Labs - Web Escalable
Softonic Labs - Web Escalable
 
Meetup AWS User Group chile - Diciembre 2018
Meetup AWS User Group chile - Diciembre 2018Meetup AWS User Group chile - Diciembre 2018
Meetup AWS User Group chile - Diciembre 2018
 
Desarrollo en la nube
Desarrollo en la nubeDesarrollo en la nube
Desarrollo en la nube
 
Comenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWSComenzando con aplicaciones serverless en AWS
Comenzando con aplicaciones serverless en AWS
 
Experiencias con PostgreSQL en AWS
Experiencias con PostgreSQL en AWSExperiencias con PostgreSQL en AWS
Experiencias con PostgreSQL en AWS
 
Amazon AWS - Instances EC2
Amazon AWS - Instances EC2Amazon AWS - Instances EC2
Amazon AWS - Instances EC2
 
AWS Summits América Latina 2015- Bases de Datos en AWS
AWS Summits América Latina 2015- Bases de Datos en AWSAWS Summits América Latina 2015- Bases de Datos en AWS
AWS Summits América Latina 2015- Bases de Datos en AWS
 
Sobrevolando AWS
Sobrevolando AWSSobrevolando AWS
Sobrevolando AWS
 
VMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y AzureVMs de alto rendimiento para SQL Server en AWS y Azure
VMs de alto rendimiento para SQL Server en AWS y Azure
 
Big Data: Arquitectura y mejores prácticas en AWS
Big Data: Arquitectura y mejores prácticas en AWSBig Data: Arquitectura y mejores prácticas en AWS
Big Data: Arquitectura y mejores prácticas en AWS
 
AWS - Computación
AWS - ComputaciónAWS - Computación
AWS - Computación
 
Big Data: Arquitecturas y mejores prácticas en AWS
Big Data: Arquitecturas y mejores prácticas en AWSBig Data: Arquitecturas y mejores prácticas en AWS
Big Data: Arquitecturas y mejores prácticas en AWS
 
AWS CloudFormation en 5 Minutos
AWS CloudFormation en 5 MinutosAWS CloudFormation en 5 Minutos
AWS CloudFormation en 5 Minutos
 
AWS Summit Bogotá Track Básico: Almacenamiento y respaldos en la nube de aws
AWS Summit Bogotá Track Básico: Almacenamiento y respaldos en la nube de awsAWS Summit Bogotá Track Básico: Almacenamiento y respaldos en la nube de aws
AWS Summit Bogotá Track Básico: Almacenamiento y respaldos en la nube de aws
 
AWS Summits América Latina 2015- Almacenamiento y respaldos en la nube de aws
AWS Summits América Latina 2015- Almacenamiento y respaldos en la nube de awsAWS Summits América Latina 2015- Almacenamiento y respaldos en la nube de aws
AWS Summits América Latina 2015- Almacenamiento y respaldos en la nube de aws
 
Ansible + AWS: Cómo administrar tu infraestructura de AWS con Ansible
Ansible + AWS: Cómo administrar tu infraestructura de AWS con AnsibleAnsible + AWS: Cómo administrar tu infraestructura de AWS con Ansible
Ansible + AWS: Cómo administrar tu infraestructura de AWS con Ansible
 

Más de Alejandro E Brito Monedero (13)

Mad scalability (perfomance debugging)
Mad scalability (perfomance debugging)Mad scalability (perfomance debugging)
Mad scalability (perfomance debugging)
 
Tres historias
Tres historiasTres historias
Tres historias
 
AMQP vs GRAPHITE
AMQP vs GRAPHITEAMQP vs GRAPHITE
AMQP vs GRAPHITE
 
Sysdig
SysdigSysdig
Sysdig
 
Sysdig SRECon 16 Europe
Sysdig SRECon 16 EuropeSysdig SRECon 16 Europe
Sysdig SRECon 16 Europe
 
Funcional para trollear
Funcional para trollearFuncional para trollear
Funcional para trollear
 
Top Bug
Top BugTop Bug
Top Bug
 
Fabric más allá de lo básico
Fabric más allá de lo básicoFabric más allá de lo básico
Fabric más allá de lo básico
 
Fabric Fast & Furious edition
Fabric Fast & Furious editionFabric Fast & Furious edition
Fabric Fast & Furious edition
 
Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?Así que pusiste MongoDB. Dime ¿cómo lo administras?
Así que pusiste MongoDB. Dime ¿cómo lo administras?
 
AWS Baby steps circa 2008
AWS Baby steps circa 2008AWS Baby steps circa 2008
AWS Baby steps circa 2008
 
Using Logstash, elasticsearch & kibana
Using Logstash, elasticsearch & kibanaUsing Logstash, elasticsearch & kibana
Using Logstash, elasticsearch & kibana
 
Wireshark tips
Wireshark tipsWireshark tips
Wireshark tips
 

Último

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 

Último (10)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 

Mi experiencia con Amazon AWS EC2 y S3

  • 1. Mi experiencia con Amazon AWS EC2 y S3 Alejandro E Brito Monedero @ae_bm
  • 2. Agenda – Hablemos de AWS – AWS + Yo – Extras – Un poco de ec2-command-line – Preguntas – Referencias y créditos
  • 4. Proveedor IaaS (A.K.A la nube) ● Modelo pay as you go ● Virtualización con Xen ● Otra forma de “pensar” la arquitectura de aplicaciones ● Gestión de recursos de infraestructura a través de un API
  • 6. Fin de la parte de marketing
  • 7. Conceptos importantes ● Región – Zona geográfica donde están ubicados un conjunto de AZs – Cada región es independiente de las otras ● Availability Zone (AZ) – Es un datacenter – Varios AZs conforman una región – Los AZs de una región están interconectados por enlaces de baja latencia
  • 8. Conceptos importantes ● Amazon Machine Image (AMI) ● Amazon Elastic Compute Cloud (EC2) – Servicio Web que ofrece capacidad de computo ● Amazon Simple Storage Service S3 – Almacén de datos no estructurados con alta disponibilidad y durabilidad ● Amazon Elastic Block Store (EBS) – Volúmenes de almacenamiento persistentes para usar con instancias EC2
  • 9. Instancias EC2 ● Máquinas virtuales – Compartes la máquina física con otras instancias – No se puede controlar en que máquina física está la instancia (ciertas condiciones aplican) – No te encariñes a la instancia, que sea 'cloud' no lo hace infalible
  • 10. Instancias EC2 ● 2 tipos de imágenes (AMI): – Instance store ● Al principio era el único tipo de instancia ● Imagen de tamaño limitado y guardada en S3 ● Actualizar el AMI es un pain in the 4$$ ● Se pierde cualquier cambio no este almacenado en un volumen EBS ● Se puede migrar la imagen entre regiones (^_^) ● Si la imagen es muy grande puede tardar en iniciar
  • 11. Instancias EC2 ● 2 tipos de imágenes (AMI): – EBS-backed ● Se puede detener / iniciar la instancia – No olvidar lo que pasa con los discos efímeros ● Se puede cambiar el tipo de instancia – Escalado vertical ● La imagen es un snapshot del volumen raíz EBS en S3 ● No se puede migrar la imagen entre regiones
  • 12. Instancias EC2 - Tipos de almacenamiento ● Unidades de disco efímeras – Disco de la máquina física – El mejor I/O que se puede tener – Si se apaga / bloquea / detiene la instancia dile adiós a tus datos (;_;) ● EBS (discos persistentes) – SAN – Más lentos que los discos efímeros – RAID 1 – Snapshots incrementales guardados en S3 (^_^)
  • 13. Cosas que hice ● Disclaimer: Todo esto es mejorable, no es 'the netflix way' (-_-) – Sólo probando / jugando se hace experiencia ● Economía de guerra – Misión hacer todo lo más barato posible ● Migración de un hosting dedicado a AWS – DNS con un TTL de 300 por si la cosa no iba bien
  • 14. Cosas que hice ● Cada máquina frontend tenia una Elastic IP – No tocas los DNS – Ahora también existe Amazon Route 53 ● Para enviar correo usaba gmail como smarthost – No puedes cambiar los registros PTR de Amazon – Ahora hay Amazon SES ● AMIs del tipo Instance Store por cada rol – Ahora con instancias tipo EBS + CloudFormation + User Data Scripts + devops magic debería ser más flexible
  • 15. Cosas que hice ● Firewall – Usas los Security groups – Ahora los security groups se pueden administrar usando el portal WEB – Una IP externa autorizada para hacer SSH – Recomendado por los expertos ● Sólo permitir ssh desde un security group especial – Asociado a una instancia iniciada bajo demanda
  • 16. Cosas que hice ● Backups – Un volumen EBS en donde se hacían respaldos incrementales diarios ● rsync + hard links magic – Snapshots a S3 del volumen EBS 'respaldo' – Pude omitir este salto intermedio, pero siempre pienso en la consistencia de los datos y eso causa insomnio (;_;) – xfs_freeze, db flush dmsetup, etc, son amigos
  • 17. Cosas que hice ● Monitoring – Munin – Zabbix – Puedes usar CloudWatch para empezar – Who watches the watchmen? ● “Free uptime monitoring” ● Deploy en 1 AZ – Shame on me (-_-) – No comments – Se deberían hacer deploys multi AZ (Hasta donde lleguen los $$)
  • 18. Cosas que hice ● El almacenamiento (FUN part) – LVM con EBSs como PVs – 1 LV en 1 VG en 1 EBS – Aumentaba de tamaño las particiones con una mezcla de vudú, vgextend, pvmove, etc. – Seguro sería muy lento y I/O unfriendly intentarlo con EBSs muy grandes
  • 19. Cosas que hice ● El almacenamiento (FUN part) – ¿Cómo mejorarlo? 'brainstorming' (en especial con BBDD) ● Pensando en una mezcla de RAID, LVM, XFS o afines si tuviera muchos discos ● ¿Se pueden hacer snapshots S3 de varios volúmenes EBS en el mismo instante de tiempo? ● Usar glusterfs o afines ● Hacer los respaldos en nodos secundarios – Si tu app maneja el concepto de S3 te ahorrarías muchos de estos 'hacks'
  • 20. Cosas nuevas de Amazon AWS ● DNS Route 53 ● Cloudfront como CDN ● Amazon SES ● ELB para hacer balanceo de carga (¿Usarán HAProxy?) (^_^) ● Métricas con Cloudwatch ● Escalado horizontal automático ● SQS ● DynamoDB
  • 21. Cosas nuevas de Amazon AWS ● Identity and Access Management (IAM) – Varios perfiles de usuarios con distintos permisos – Permite delegar, delegar, ... delegar – Más tiempo libre (^_^) ● Usar spot instances para tener más instancias workers a precios de solidarios ● BBDD Oracle, MySQL, MS-SQL gestionadas por Amazon ● Etc (sacan cosas nuevas a cada rato) ● Algo divertido: buscar 'Amazon Mechanical Turk'
  • 22. Observaciones ● Para tener una app en AWS y que aproveche la 'cloud' – Necesitas a los developers, developers, developers, developers ... – Los consejos de siempre ● Ser 'fault tolerant' ● Diseñar / hacer aplicaciones lo más 'stateless' posible ● Etc ● El performance de red y EBS en AWS es variable
  • 23. Observaciones ● El HW físico aún existe – A veces Amazon te informara que tiene que hacer mantenimiento en donde esta tu VM – Otras veces el host físico hace que tu VM no funcione bien. ● Solución: inicia una nueva instancia y termina la que esta fallando ● Con AWS lo que obtienes es una infraestructura dinámica y flexible, cuando no puedes montar tu propia 'cloud'
  • 24. Lo escuche y lo olvide. Lo vi y lo entendí. Lo hice y lo aprendí Confucio
  • 25. Créditos Imágenes – openclipart.org/detail/2229/cloud-&-rainbow-by- gmcglinn – www.re-cycledair.com/wp- content/uploads/2012/04/heroku-Logo-1.jpg – www.instantpulp.com – www.lomejordelface.com/wp- content/uploads/2011/09/piictu.jpg – www.urbecom.com/blog/wp- content/uploads/2012/02/Logo-de-Amazon.-q.jpg
  • 26. Créditos Imágenes – wuaki.tv – www.elandroidelibre.com/wp- content/uploads/2012/03/Instagram-Logo.jpg – www.appsmashups.com/wp- content/uploads/2012/01/netflix.jpg – www.flickr.com/photos/mcquinn/2302823476/sizes/ m/in/photostream/ – www.marketingdirecto.com/wp- content/uploads/2012/02/pinterest12.jpg
  • 27. Referencias Enlaces de interés – alestic.com/ – https://github.com/boto/boto – docs.amazonwebservices.com/general/latest/gr/Get TheTools.html – aws.amazon.com/documentation/ – aws.amazon.com/articles/ – aws.amazon.com/resources/webinars/
  • 28. Referencias Enlaces de interés – aws.amazon.com/whitepapers/ – aws.amazon.com/architecture/ – reinvent.awsevents.com/ – docs.amazonwebservices.com/AWSEC2/latest/Use rGuide/FAQ_Regions_Availability_Zones.html – https://forums.aws.amazon.com/thread.jspa? threadID=22830
  • 29. Un estudiante pregunta: - ¿Qué es lo más valioso del mundo? El maestro respondió: - La cabeza de un gato muerto. El estudiante sorprendido pregunta: -¿Por qué es la cabeza de un gato muerto la cosa más valiosa del mundo? El maestro respondió: - Porque nadie puede ponerle precio.