Mi experiencia con Amazon AWS EC2 y S3
-
Upload
alejandro-e-brito-monedero -
Category
Technology
-
view
7.282 -
download
3
description
Transcript of Mi experiencia con Amazon AWS EC2 y S3
![Page 1: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/1.jpg)
Mi experiencia con Amazon AWS EC2 y S3
Alejandro E Brito Monedero@ae_bm
![Page 2: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/2.jpg)
Agenda– Hablemos de AWS
– AWS + Yo
– Extras
– Un poco de ec2-command-line
– Preguntas
– Referencias y créditos
![Page 3: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/3.jpg)
AWS es ...
![Page 4: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/4.jpg)
● 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
![Page 5: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/5.jpg)
Quienes lo usan
![Page 6: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/6.jpg)
Fin de la parte de marketing
![Page 7: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/7.jpg)
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
![Page 8: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/8.jpg)
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
![Page 9: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/9.jpg)
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
![Page 10: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/10.jpg)
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
![Page 11: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/11.jpg)
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
![Page 12: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/12.jpg)
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 (^_^)
![Page 13: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/13.jpg)
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
![Page 14: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/14.jpg)
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
![Page 15: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/15.jpg)
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
![Page 16: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/16.jpg)
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
![Page 17: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/17.jpg)
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 $$)
![Page 18: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/18.jpg)
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
![Page 19: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/19.jpg)
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'
![Page 20: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/20.jpg)
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
![Page 21: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/21.jpg)
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'
![Page 22: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/22.jpg)
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
![Page 23: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/23.jpg)
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'
![Page 24: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/24.jpg)
Lo escuche y lo olvide. Lo vi y lo entendí. Lo hice y lo aprendí
Confucio
![Page 25: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/25.jpg)
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
![Page 26: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/26.jpg)
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
Créditos
![Page 27: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/27.jpg)
Enlaces de interés
– alestic.com/
– https://github.com/boto/boto
– docs.amazonwebservices.com/general/latest/gr/GetTheTools.html
– aws.amazon.com/documentation/
– aws.amazon.com/articles/
– aws.amazon.com/resources/webinars/
Referencias
![Page 28: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/28.jpg)
Enlaces de interés
– aws.amazon.com/whitepapers/
– aws.amazon.com/architecture/
– reinvent.awsevents.com/
– docs.amazonwebservices.com/AWSEC2/latest/UserGuide/FAQ_Regions_Availability_Zones.html
– https://forums.aws.amazon.com/thread.jspa?threadID=22830
Referencias
![Page 29: Mi experiencia con Amazon AWS EC2 y S3](https://reader030.fdocuments.net/reader030/viewer/2022020218/557aba42d8b42a1e128b4ab3/html5/thumbnails/29.jpg)
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.