4. - ~18.000.000 de Requests por Minuto
- ~400 Deploys por dia
- ~700 Developers en 5 Centros de desarrollo
- ~20.000 Servidores Virtuales
- ~1500 Fisicos
9. ● Flexible
● Autoscaling
● SDN (Software defined Network)
● Interoperabilidad con nuestro DC
● Servicios de automatización y control
● Seguridad
10.
11. Docker permite empaquetar aplicaciones incluyendo
filesystem, codigo, librerias y todo lo necesario para
correrlas. Permitiendo correr estas imágenes en
containers dentro del sistema operativo.
12.
13. Desarrollo
Producción
● Entornos unificados (sin importar el SO)
● Mocks simplificados
● Una única herramienta
● Simplicidad para sumarse a colaborar en un proyecto
● Codigo + Entorno en un único lugar
● No hay necesidad de bootstraps on boot
● Fast build (vs crear un ami)
● Posibilidad de bajar la imagen de producción para debug
14. Veamos cómo usa la herramienta un
developer y que pasa por debajo
Proceso de desarrollo
22. Crear una Aplicacion
● Permite definir infraestructura
● Mantiene el estado de toda la infraestructura y sus recursos
● Permite extender el funcionamiento mediante “custom-resources”
● Resuelve acciones de rollbacks y fallas
● Guarda información de logging de todas las transacciones
25. Crear una Aplicacion
● Creación de Repositorio (Custom)
● Creacion de subnets
○ Una por AZ
● Creación de configuraciones de jenkins para CI & Build (Custom)
● Creación de configuraciones en ES y Kibana para logging (Custom)
● Creación de SecurityGroups para la aplicación
● Creación de ACL’s de las redes e interconexión de subnets
● Configuración de reglas de interoperabilidad para conectarse a la
plataforma actual
31. Code
Dockerfile
Imagen de desarrollo y build
responsable de correr la
aplicación (y sus mocks),
testearla y empaquetarla
para producción
Los entornos de desarrollo y producción serán Dockerfile
partiendo de imágenes pre-armadas que resuelvan la
problemática básica
Dockerfile.runtime
Imagen de producción que
será deployada en cada
máquina que atienda el
servicio
49. Deploy
● Crear Máquinas
● Crear Nuevo Autoscaling group
● Intercambiar tráfico entre
versiones (swap)
● Destruir maquinas viajes (o hacer
rollback)
62. Arquitectura
FuryCore
VPC-1
Subnet A
app 1
Subnet B
app 1
SubnetC
app 1
SubnetD
app 1
Subnet A
app 2
Subnet B
app 2
SubnetC
app 2
SubnetD
app 2
VPC-N
Subnet A
app X
Subnet B
app X
SubnetC
app X
SubnetD
app X
Az A
Az B
Az C
Az D
ServicesLogs DC-IN DC-OUT Others
External Traffic Balancing
CloudFormation
EC2
Api
ELBOthers