Público
Ivan Mirisola
Product Expert – Co-Innovation Lab Brazil
Conheça o Cloud Foundry no HCP
2© 2016 SAP SE or an SAP affiliate company. All rights reserved.
Co-Innovation Lab
PALO ALTO NEWTOWN SQUARE
SÃO LEOPOLDO
SÃO PAULO
WALLDORF
ZURICH
DRESDEN
MOSCOW
SHANGHAI
SEOUL
TOKYO
SINGAPORE
BANGALORE
JOHANESBURGO
1. facilitar a co-inovação baseada em projetos
2. atuar com uma interface inteligente
3. demonstrar resultados alcançados em conjunto
Público
Motivação
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 4Público
Você sabia que…
• A Amazon faz deploys a cada 11,6 seconds
• O Facebook é utilizado por ~1 bilhão usários
• …e isto representa ~1 trilhão de page views / mês
• Os Data Centers da Google utilizam ~260 milhão de watts
desde 2011
e todos via https://www.facebook.com
~9% de todo o trafego da Internet
seria suficiente para abastecer 200,000 casas
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 5Público
Benefícios de entregar rápido
ALTERAÇÕES
TEMPO
ALTERAÇÕES
TEMPO
GRANDES ALTERAÇÕES, ENREGA INFREQUENTE PEQUENAS ALTERAÇÕES, ENTREGAS FREQUENTES
RISCO
ALTO
CUSTO $$
RISCO
BAIXO
MELHOR
ROI
Público
// Como
conseguiram
chegar lá ?
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 7Público
É preciso ser Escalável, Robusto, Sempre Disponível
Ø Escalabilidade ilimitada: milhões de usuários, centenas
de servidores, petabytes de dados, distribuição global
Ø Failover transparente (uptime > 99.99%)
apesar das falhas de hardware e software!
Ø Zero Downtime Deployments para tudo, o
tempo todo (sem margem para ‘paradas
estratégicas'!)
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 8Público
Também precisa ser Rápido, Automatizado e à prova de
falhas
Ø Deve ser possível entregar as
alterações em dentro um dia ou
menos.
Ø Testes e deploy
totalmente automatizado.
Ø Desenvolvimento em ciclos pequenos,
que habilita a inovação rápida e o uso
de feedback
Público
/*HCP &&
Cloud Foundry */
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 10Público
Cloud Foundry
Elementos de uma PaaS
Uma PaaS (Platform-as-a-Service) é a base para as suas aplicações
Qualquer Paas deve permitir:
Ÿ Múltiplas linguagens: O que for melhor para você (Java, Node, Go, etc.)
Ÿ Diversos serviços: BDs (SQL, não-SQL), Mensageria, Blobstore, etc.
Ÿ Resiliência: transparência na configuração de HA, sem SPOFs, self-healing.
Ÿ Escalabilidade sem barreiras à necessário programar de forma diferente
Ÿ Todos os recursos virtualizados: CPUs, memória, discos, redes, roteadores, etc.
Ÿ Monitoramento: Informações detalhadas sobre carga e problemas
Ÿ Deployment simplificado: é preciso entregar de forma rápida (automatizada)
Ÿ Livre de instalação manual ou manutenção de SO (sistema operacional)
Infrastructure as
a Service (IaaS)
Software as a
Service (SaaS)
Platform as a
Service (PaaS)
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 11Público
Cloud Foundry
Em termos práticos
Open Source PaaS
Technology
Private
HybridPublic
Language Buildpacks
Crie aplicações para a
nuvem na linguagem que
melhor lhe convém.
Escolha os serviços que
atendem os requerimentos
da sua aplicação.
Disponibilize suas aplicações
conforme as necessidades de
negócio e estratégia de
nuvem.
O que o Linux fez no
mercado de sistemas
operacionais o Cloud
Foundry fará na Nuvem.”
“
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 12Público
SAP HANA Cloud Platform
A Plataforma para a Transformação Digital
SAP HANA Cloud Platform
IaaS
Dev & OpsRuntimes
Platform Services
User
Experience
SAP Data Center
1) CF Services disponíveis em formato BETA, 2) Inovações planejadas / futuras
HCP Virtual
Machines2
Java
HANA XS
HTML5
Business Services
Commerce
Data Mgmt Services
HANA ASE
PostgreSQL1 Redis1 MongoDB1RabbitMQ1
Customer Data Center2 Partner Data Center1,2
NodeJS1
Other CF
buildpacks1
Internet of
Things
Integration
(incl. API Mgmt)
Collaboration AnalyticsSecurityMobile
Web IDE
Monitoring
Logging
Profiling
Lifecycle
management
Loyalty
Customer
Engagement
SAP HANA
App Center
Applications
Extensions
YaaS.io
Marketplace
SAP API
Business Hub
Spark2 Kafka2Cassandra2SAP Vora2
IoT App
Services
*A SAP se reserva o direito de modificar este plano unilateralmente, em qualquer momento e sem prévio aviso
Público
// Somente a
plataforma
basta?
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 14Público
É melhor ser minimalista?
http://www.pwc.com/us/en/technology-forecast/2014/cloud-computing/features/assets/feature02-figure02.jpg
Anos 1990
Monolítica
Acoplamento forte
Anos 2000
SOA Tradicional
A aplicação é a
orquestração central de
diversas chamadas
statefull isoladas
Anos 2010
Microservices é...
„SOA feito da forma correta“
Serviços independentes construídos
de acordo com silos de negocio.
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 15Público
Arquitetura baseada em Microserviços
Não é para todos
Pré-requisitos:
Alto nível de automação:
Não se trata apenas um automação de testes, mas também de provisionamento de aplicações,
landscape, etc. Se você não possuir esse tipo de infraestrutura... Nem pense em microserviços…
De arquitetura:
• Fragmentação de dados
• Consistência Transacional
Organizacional:
• Um microservice – um time (Lei de Conway)
• Responsabilidade End-to-end: “Você desenvolve, você executa!”
Operacional:
• Complexidade própria de sistemas distribuídos
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 16Público
Microserviços
Características
recomend
ações
pedido
Ø Serviço de negócio independente como building block
(que pode ser substituído ou atualizado de forma
independe; do BD à UI
Ø Utiliza tecnologias & linguagens que melhor resolvem um
determinado problema
Ø Construídos de acordo com silos de negocio
(não deve expor diretamente as tabelas ou ser construído
conforme as entidades do próprio banco)
Ø Definição de fronteiras transacionais
(fragmentação de dados)
Ø Endpoints inteligentes conectam à dumb pipes
(comunicação assíncrona como default – sem um “service
bus”)
catálogos
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 17Público
Aplicações Clássicas vs. Microserviços
Escalabilidade Horizontal
Aplicações monolíticas Microserviços
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 18Público
Microserviços: Escalabilidade e Resiliencia
Diferentes microserviços podem ser
ampliados de forma independente
Horizontal: Mais instâncias
Ÿ CF command:
Ÿ Autoscale: ainda não disponível
ŸVertical: Mais memoria / disco / …
Resiliência: Na medida em que uma instância
falhar, um “monitor de estado” cria uma nova
automaticamente.
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 19Público
Isso faz sentido?
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 20Público
Lei de Conway à Como “montar” times para Microserviços
“Organizações que desenvolvem
sistemas de software tendem a
produzir sistemas que são cópias das
estruturas de comunicação dessas
organizações”
por: Melvin Conway – Harvard
Se os Microserviços são
independentes uns dos outros...
è Monte times de tal forma que
cada time seja responsável por 1 ou
mais microserviços dentro de seus
limites funcionais
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 21Público
Tolerância a falhas
Trata-se de
requerimento e
não de uma
funcionalidade.
Ex: Hystrix & RabbitMQ
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 22Público
Implantação canário do Facebook
Novos
releases
Canário
#1
Canário
#2
Canário
#3
Empregados
do Facebook
Usuários finais
Public
Router
Poucos A maioria
Público
Considerações
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 24Público
Você terá que se contentar com...
Ø Overhead de comunicação
Ø Sistemas distribuídos – ex.: não
há como fazer sessão de debug
nessa arquitetura
Ø Como definir as fronteiras entre
os serviços?
Client
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 25Público
Por onde iniciar?
Opção 2:
Fatiando o monólito
Opção 3:
Aprimorando o monólito
Opção 1:
Do zero
Público
Demo
© 2016 SAP SE ou de qualquer subsidiária SAP. Todos os direitos reservados. 27Público
Microservices – Algumas referências…
Manifesto sobre microserviços
http://www.reactivemanifesto.org/
Regras do desenvolvimento Microserviços
http://12factor.net/
Autor de publicações sobre o tema
http://martinfowler.com/articles/microservices.html
28© 2016 SAP SE or an SAP affiliate company. All rights reserved.
Obrigado/Thank you!
Thanks for attending this SAP TechEd && d-code session.
© 2015 SAP SE or an SAP affiliate company. All rights reserved. 28Public
Ivan Mirisola
COIL Product Expert – Co-Innovation Lab Brazil
ivan.mirisola@sap.com
http://www.sap.com

Conheça o Cloud Foundry no HCP

  • 1.
    Público Ivan Mirisola Product Expert– Co-Innovation Lab Brazil Conheça o Cloud Foundry no HCP
  • 2.
    2© 2016 SAPSE or an SAP affiliate company. All rights reserved. Co-Innovation Lab PALO ALTO NEWTOWN SQUARE SÃO LEOPOLDO SÃO PAULO WALLDORF ZURICH DRESDEN MOSCOW SHANGHAI SEOUL TOKYO SINGAPORE BANGALORE JOHANESBURGO 1. facilitar a co-inovação baseada em projetos 2. atuar com uma interface inteligente 3. demonstrar resultados alcançados em conjunto
  • 3.
  • 4.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 4Público Você sabia que… • A Amazon faz deploys a cada 11,6 seconds • O Facebook é utilizado por ~1 bilhão usários • …e isto representa ~1 trilhão de page views / mês • Os Data Centers da Google utilizam ~260 milhão de watts desde 2011 e todos via https://www.facebook.com ~9% de todo o trafego da Internet seria suficiente para abastecer 200,000 casas
  • 5.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 5Público Benefícios de entregar rápido ALTERAÇÕES TEMPO ALTERAÇÕES TEMPO GRANDES ALTERAÇÕES, ENREGA INFREQUENTE PEQUENAS ALTERAÇÕES, ENTREGAS FREQUENTES RISCO ALTO CUSTO $$ RISCO BAIXO MELHOR ROI
  • 6.
  • 7.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 7Público É preciso ser Escalável, Robusto, Sempre Disponível Ø Escalabilidade ilimitada: milhões de usuários, centenas de servidores, petabytes de dados, distribuição global Ø Failover transparente (uptime > 99.99%) apesar das falhas de hardware e software! Ø Zero Downtime Deployments para tudo, o tempo todo (sem margem para ‘paradas estratégicas'!)
  • 8.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 8Público Também precisa ser Rápido, Automatizado e à prova de falhas Ø Deve ser possível entregar as alterações em dentro um dia ou menos. Ø Testes e deploy totalmente automatizado. Ø Desenvolvimento em ciclos pequenos, que habilita a inovação rápida e o uso de feedback
  • 9.
  • 10.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 10Público Cloud Foundry Elementos de uma PaaS Uma PaaS (Platform-as-a-Service) é a base para as suas aplicações Qualquer Paas deve permitir: Ÿ Múltiplas linguagens: O que for melhor para você (Java, Node, Go, etc.) Ÿ Diversos serviços: BDs (SQL, não-SQL), Mensageria, Blobstore, etc. Ÿ Resiliência: transparência na configuração de HA, sem SPOFs, self-healing. Ÿ Escalabilidade sem barreiras à necessário programar de forma diferente Ÿ Todos os recursos virtualizados: CPUs, memória, discos, redes, roteadores, etc. Ÿ Monitoramento: Informações detalhadas sobre carga e problemas Ÿ Deployment simplificado: é preciso entregar de forma rápida (automatizada) Ÿ Livre de instalação manual ou manutenção de SO (sistema operacional) Infrastructure as a Service (IaaS) Software as a Service (SaaS) Platform as a Service (PaaS)
  • 11.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 11Público Cloud Foundry Em termos práticos Open Source PaaS Technology Private HybridPublic Language Buildpacks Crie aplicações para a nuvem na linguagem que melhor lhe convém. Escolha os serviços que atendem os requerimentos da sua aplicação. Disponibilize suas aplicações conforme as necessidades de negócio e estratégia de nuvem. O que o Linux fez no mercado de sistemas operacionais o Cloud Foundry fará na Nuvem.” “
  • 12.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 12Público SAP HANA Cloud Platform A Plataforma para a Transformação Digital SAP HANA Cloud Platform IaaS Dev & OpsRuntimes Platform Services User Experience SAP Data Center 1) CF Services disponíveis em formato BETA, 2) Inovações planejadas / futuras HCP Virtual Machines2 Java HANA XS HTML5 Business Services Commerce Data Mgmt Services HANA ASE PostgreSQL1 Redis1 MongoDB1RabbitMQ1 Customer Data Center2 Partner Data Center1,2 NodeJS1 Other CF buildpacks1 Internet of Things Integration (incl. API Mgmt) Collaboration AnalyticsSecurityMobile Web IDE Monitoring Logging Profiling Lifecycle management Loyalty Customer Engagement SAP HANA App Center Applications Extensions YaaS.io Marketplace SAP API Business Hub Spark2 Kafka2Cassandra2SAP Vora2 IoT App Services *A SAP se reserva o direito de modificar este plano unilateralmente, em qualquer momento e sem prévio aviso
  • 13.
  • 14.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 14Público É melhor ser minimalista? http://www.pwc.com/us/en/technology-forecast/2014/cloud-computing/features/assets/feature02-figure02.jpg Anos 1990 Monolítica Acoplamento forte Anos 2000 SOA Tradicional A aplicação é a orquestração central de diversas chamadas statefull isoladas Anos 2010 Microservices é... „SOA feito da forma correta“ Serviços independentes construídos de acordo com silos de negocio.
  • 15.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 15Público Arquitetura baseada em Microserviços Não é para todos Pré-requisitos: Alto nível de automação: Não se trata apenas um automação de testes, mas também de provisionamento de aplicações, landscape, etc. Se você não possuir esse tipo de infraestrutura... Nem pense em microserviços… De arquitetura: • Fragmentação de dados • Consistência Transacional Organizacional: • Um microservice – um time (Lei de Conway) • Responsabilidade End-to-end: “Você desenvolve, você executa!” Operacional: • Complexidade própria de sistemas distribuídos
  • 16.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 16Público Microserviços Características recomend ações pedido Ø Serviço de negócio independente como building block (que pode ser substituído ou atualizado de forma independe; do BD à UI Ø Utiliza tecnologias & linguagens que melhor resolvem um determinado problema Ø Construídos de acordo com silos de negocio (não deve expor diretamente as tabelas ou ser construído conforme as entidades do próprio banco) Ø Definição de fronteiras transacionais (fragmentação de dados) Ø Endpoints inteligentes conectam à dumb pipes (comunicação assíncrona como default – sem um “service bus”) catálogos
  • 17.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 17Público Aplicações Clássicas vs. Microserviços Escalabilidade Horizontal Aplicações monolíticas Microserviços
  • 18.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 18Público Microserviços: Escalabilidade e Resiliencia Diferentes microserviços podem ser ampliados de forma independente Horizontal: Mais instâncias Ÿ CF command: Ÿ Autoscale: ainda não disponível ŸVertical: Mais memoria / disco / … Resiliência: Na medida em que uma instância falhar, um “monitor de estado” cria uma nova automaticamente.
  • 19.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 19Público Isso faz sentido?
  • 20.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 20Público Lei de Conway à Como “montar” times para Microserviços “Organizações que desenvolvem sistemas de software tendem a produzir sistemas que são cópias das estruturas de comunicação dessas organizações” por: Melvin Conway – Harvard Se os Microserviços são independentes uns dos outros... è Monte times de tal forma que cada time seja responsável por 1 ou mais microserviços dentro de seus limites funcionais
  • 21.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 21Público Tolerância a falhas Trata-se de requerimento e não de uma funcionalidade. Ex: Hystrix & RabbitMQ
  • 22.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 22Público Implantação canário do Facebook Novos releases Canário #1 Canário #2 Canário #3 Empregados do Facebook Usuários finais Public Router Poucos A maioria
  • 23.
  • 24.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 24Público Você terá que se contentar com... Ø Overhead de comunicação Ø Sistemas distribuídos – ex.: não há como fazer sessão de debug nessa arquitetura Ø Como definir as fronteiras entre os serviços? Client
  • 25.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 25Público Por onde iniciar? Opção 2: Fatiando o monólito Opção 3: Aprimorando o monólito Opção 1: Do zero
  • 26.
  • 27.
    © 2016 SAPSE ou de qualquer subsidiária SAP. Todos os direitos reservados. 27Público Microservices – Algumas referências… Manifesto sobre microserviços http://www.reactivemanifesto.org/ Regras do desenvolvimento Microserviços http://12factor.net/ Autor de publicações sobre o tema http://martinfowler.com/articles/microservices.html
  • 28.
    28© 2016 SAPSE or an SAP affiliate company. All rights reserved. Obrigado/Thank you! Thanks for attending this SAP TechEd && d-code session. © 2015 SAP SE or an SAP affiliate company. All rights reserved. 28Public Ivan Mirisola COIL Product Expert – Co-Innovation Lab Brazil ivan.mirisola@sap.com http://www.sap.com