[Python floripa 23]
- Definição de estilo arquitetural baseado em computação distribuída.
- Abordagem de Python como middleware de integração com processamento de serviços em Java.
Python em Ambientes Distribuídos - Arquitetura Moderna
1. Copyright 2015 Google Inc
Python Floripa 23
Python em
ambientes distribuídos
Ryan Padilha (ryan.padilha@gmail.com)
Os desafios modernos da escalabilidade
2. Copyright 2015 Google Inc
Simply in love with technology.
JavaEE expert, SOA specialist and technical writer.
Experience of 12+ years in solution design and development software.
Working nowadays on Software Architecture, Cloud Computing and Microservices.
http://br.linkedin.com/in/ryanpadilha
Ryan Padilha
3. Copyright 2015 Google Inc
Agenda
Introdução
Arquitetura Moderna
1
2
Ambiente de Execução3
• Descritivo
• Definição de estilo arquitetural baseado em computação distribuída.
• Abordagem de Python como middleware de integração com processamento de serviços em Java..
Demo4
5. Copyright 2015 Google Inc
Introdução
• Afinal o que define o termo Microservices ‘14 ?
• É um estilo arquitetural
• Conjunto de pequenos serviços (componentes)
• Execução em processo individual
• Mecanismo leve de comunicação através de API de recursos HTTP
• Desenvolvimento baseado em capacidades de negócios
• Deploy independente automatizado
• Gerenciamento centralizado mínimo
• Projetado para ser resiliente e design evolutivo
• Tecnologias heterogêneas e armazenamento poliglota
• https://martinfowler.com/articles/microservices.html
6. Copyright 2015 Google Inc
Introdução
• The Scale Cube - http://microservices.io/articles/scalecube.html
8. Copyright 2015 Google Inc
Arquitetura Moderna
• Características principais:
• Modelo de comunicação - síncrono / assíncrono
• Controle de concorrência - multi-requests
• Resiliência e tolerância a falhas
• Infra-estrutura como código - “buildar máquinas”
• Cloud Computing heterogênea
• Persistência poliglota
• Múltiplas linguagens de programação
• Qualquer dispositivo é conectado a rede
“Não há uma única arquitetura para todos os projetos”.
9. Copyright 2015 Google Inc
Arquitetura Moderna
• Python e Java - O poder de ambos ao nosso dispor
• Estável e madura
• Escalável, ideal para qualquer projeto
• Simples ao mesmo tempo elegante
• Rápido desenvolvimento
• Bibliotecas poderosas
• Multiplataforma orientada a rede
• Interpretada / Compilada (bytecode)
• Vasta comunidade de desenvolvedores
10. Copyright 2015 Google Inc
• Middleware, Python ?
• Roteamento de request para diferentes objetos
• Balanceamento de carga
• Gateway API Aggregation
• Pós-processamento
• Interface padronizada de comunicação
• Transparência e governança de recursos
Arquitetura Moderna