Cambio de necesidades: de 1.000 a 1.000.000 de usuarios
Escalabilidade, elasticidade e fiabilidade con cloud
Microservizos: o caso de Amazon e Netflix
Implementación con Spring Boot e NetflixOSS
Configuración centralizada
Rexistro e autodiscovery
Balanceadores de carga: ELB vc Zuul
Creación dun API Rest asíncrona
Test e integración continua
Utilizando S3 como repositorio de artefactos
Despregue en máquinas virtuais
Autoescalado de servizos
@ciberado
tiny.cc/jv_tube
tiny.cc/jv_cursos
github.com/ciberado
@capside
capside.com/tech-training
una base de datos centralizada ofrecía una visión global
las aplicaciones monolíticas funcionaban correctamente
¿Cómo mantienes la agilidad de desarrollo e innovación sin perder calidad?
¿Cómo gestionas y mantienes
vivas 500 máquinas?
¿Y 5000?
¿Cómo pasas de 20.000 IOPS en escritura a 200.000? ¿O a 1E6?
¿Cómo sobrevives cuando tienes que transmitir 1Tbps?
Diferentes programas orquestados al estilo Unix
orientados a completar workflows de negocio
cada uno con su propio equipo, tecnología y ciclo de vida
asociado a su propio mecanismo de persistencia
autoregistrables y descubribles
interconectados de forma directa y sencilla
desplegables automáticamente sin intervención humana
resilientes tanto a nivel de infraestructura como a nivel de negocio
con un sistema de logs claro y agromerable
sin estado en los servidores frontales
más vale hecho que perfecto
http://martinfowler.com/articles/microservices.html
infraestructura bajo demanda
para producción, desarrollo, pruebas, experimentación
totalmente programable
dos players principales AWS y Azure
escalabilidad y elasticidad
servicios gestionados
http://awsofa.info
http://techblog.netflix.com
regiones con múltiples AZ
IAM para autorizar y autentificar
Cloudwatch para monitorizar y agrupar logs
EC2 y Lambda para computación
Autoscaling groups para cuidar al ganado
Route 53 como DNS para disaster recovery y pruebas A/B
Elastic Load Balancer para operaciones síncronas
colas colas colas
SQS, Kinesis y SNS para operaciones asíncronas
S3 para almacenar y distribuir contenido estático
Cloudfront como CDN
Elasticsearch, DynamoDB, RDS, Elasticache para almacenar datos estructurados
EMR, Redshift, Machinelearning, QuickSights
para analizar datos
https://youtu.be/8FJ5DBLSFe4?t=11m45s
https://youtu.be/vb38pzY6S28
http://cloud.spring.io/spring-cloud-netflix
Spring Starter FTW
http://cloud.spring.io/spring-cloud-netflix
Spring Cloud Config
Spring Cloud Service Discovery with Eureka support
http://eureka:8761
client side load balancer with Ribbon
routing avanzando mediante Zuul
la integración continua es necesaria si quieres ganar velocidad
usa el veneno que quieras pero Jenkins siempre te querrá a ti
en Capside utilizamos Enzime para desplegar sin errores
¡estamos contratando!