Docker e microservices escaláveis na nuvem com o Jelastic Cloud

O que desejamos?

  • Menor "time to market"
  • Feedbacks rápidos
  • Escalabilidade Infinita
  • Zero downtime
  • Deploys mais frequentes
  • Releases com menos falhas
  • Correções mais rápidas
  • Maior eficiência e previsibilidade na operacionalização

como conseguimos?

  1. Cloud
  2. Containers
  3. Microserviços

1. Cloud

Modelo que visa garantir maior escalabilidade e disponibilidade, ao mesmo tempo em que reduz custos através de uma racionalização dos recursos computacionais por meio da utilização de tecnologias como:

  • computação distribuída
  • armazenamento distribuído
  • provisionamento
  • virtualização
  • e mais recentemente: containers

2. containers

  • Virtualização na camada do sistema operacional
  • Permite a execução de múltiplos user-spaces
  • menor overhead
  • Isolamento (Sandboxing)
  • Segurança na execução
  • Portabilidade
  • Modularidade

2. Containers

  • 1982 - chroot - most Unix
  • 2000 - FreeBSD Jails
  • 2001 - Linux VServer
  • 2004 - Solaris Zones
  • 2005 - OpenVZ
  • 2007 - AIX Workloads Partitions (WPARS)
  • 2008 - LXC - Linux Containers
  • 2011 - CloudFoundry Warden
  • 2013 - Docker
  • 2014 - Rocket

implementações variam em:

  • Cota de disco
  • Limite de I/O
  • Limite de CPU
  • Limite memória
  • Isolamento de rede
  • Nested virtualization
  • Root privilege isolation
  • Copy-on-write
  • etc...

3. Microserviços

3. Microserviços

3. Microserviços

Modelo de arquitetura de software em que aplicações complexas são compostas através de serviços pequenos e independentes que se comunicam através de APIs.

  • Responsabilidade por apenas 1 funcionalidade
  • Independência em relação ao todo
  • Relativa independência dos times
  • Testes mais fáceis
  • Integração e deploys contínuos
  • Maior escalabilidade

Aproximadamente 600 serviços:

http://techblog.netflix.com

 

Até 100 a 150 serviços para exibir uma página:

http://highscalability.com/amazon-architecture

EXEMPLOS EXTREMOS

Talvez isso?

SOA

Definição OASIS (Organization for the Advancement of Structured Information Standards)

 

Um paradigma para organizar e utilizar capacidades distribuídas que podem estar sob o controle de diferentes domínios. Fornece uma maneira uniforme para servir, descobrir, interagir com e utilizar as capacidades para produzir os efeitos desejados de maneira consistente com as expectativas e pré-condições mensuráveis.

A novidade é justamente o... MICRO

Mas como gerenciar tudo isso?

DEMO TIME

Vantagens

  • Stack Open Source
  • On-premise ou Public Cloud
  • Live-migrations
  • Data center no Brasil
  • Acesso SSH e via API
  • Só pague pelos recursos usado

Obrigado!!!

Docker e Microserviços Escaláveis na nuvem com Jelastic Cloud

By Kemel Zaidan

Docker e Microserviços Escaláveis na nuvem com Jelastic Cloud

  • 2,445