Upload
fabio-santos
View
388
Download
0
Tags:
Embed Size (px)
DESCRIPTION
O surgimento do modelo de Cloud Computing está levando a profundas mudanças nas práticas de desenvolvimento e na arquitetura de aplicações. Isso tem causado atrito entre as necessidades de sistemas na nuvem e as soluções Enterprise "tradicionais". Java EE, .NET, Spring, entre outros, tentam encontrar seu espaço nessa nova era e se adaptar ao modelo ágil e flexível que vem se impondo. Nesse novo modelo, aplicações são criadas a partir da cooperação de diversos módulos de desenvolvimento distribuído e assíncrono, com APIs legíveis, versionáveis e navegáveis. São necessárias aplicações escaláveis e elásticas, que permitam expandir ou diminuir o uso de recursos computacionais diante de gargalos ou folgas – além de arquiteturas evolutivas capazes de ser rapidamente adaptadas para atender a novos objetivos. As soluções Enterprise tradicionais se tornam pouco efetivas nesse contexto. Existe um longo caminho a percorrer para que voltem ao centro do radar dos desenvolvedores e arquitetos de aplicações. Como as soluções Enterprise estão desaparecendo e por quê? Qual o novo modelo para as arquiteturas agora e para o futuro? São essas e outras questões que vamos analisar nessa palestra.
Citation preview
Por que a nuvem irá acabar com soluções “enterprise”?
Bill Coutinho@billcoutinho
Um pé na tecnologia (Computação Unicamp 1989)...... outro pé no Marketing (ESPM 2003)
Building a Great Place to Work at @DextraSistemas since 2002
Fábio Lima Santos
@flsusp
depois de 10 anos
no desenvolvimento de
25 aplicações em
24 clientes
Software Craftsman at @DextraSistemas
Porque a nuvem irá acabar com soluções “enterprise”?
Mas, o que é uma solução “enterprise”?
Por que adotamos soluções “enterprise”?
Economia de Escala
Fazer mais em menos tempo e com menor custo
Os principais problemas arquiteturais já estão resolvidosDis
tribu
ição d
e Carg
a Tolerância a Falhas
Timer
Filas DistribuídasDistribuído
TransaçõesCache Distribuído
Persistência deEstado
Tradeoffs?
Complexidade
Simples é aquilo que resolve somente os problemas que você tem!
Simplicity is about subtracting the obvious, and adding the meaningful. -- John Maeda
Flexibilidade
Normalmente o ótimo global não é ótimo local em lugar nenhum.
A Falácia da Padronização e Ganho de Escala
Arquitetura das Aplicações
"Mas os problemas já estão resolvidos!!!"
"Não vamos reinventar a roda..."
Embedded Solutions
Por que você acha que você precisa de um Application Server?
Clustering
Timers
Queues
Caching
Distributed Transactions
Cluster Orchestration
Load Balancing
Não basta construir, tem que implantar...
“Everything fails all the time”Werner Vogels
You shouldn’t have to solve this every time...
Cloud: Infrastructure or Platform?
“Platform as a Service (PaaS) is a category of cloud computing services
that provides a computing platform and a solution stack as a service.”
Wikipedia
“Platform as a Service (PaaS) is a category of cloud computing services
that provides a computing platform and a solution stack as a service.”
Wikipedia
PaaS:Easy to use Solution Stack as a service
Elastic Load Balancing, Elastic BeanstalkElastiCacheEBS, S3, RDS, DynamoDB, SimpleDBSQS, SNS
MemcacheDatastore, Blobstore, Cloud Storage, BigQuery, CloudSQLTask QueueCron Tasks
A arquitetura da sua aplicação é simples
A complexidade da sua aplicação está no negócio
“Mas e se eu não posso ir para a nuvem?”
Build your own Cloud Platform
Crie,implante e
gerencieseus serviços
Defina um padrão rígido de integração entre apps e serviços
Make it easy to use...
Test it!
Desenvolva aplicações arquiteturalmente simples
Don’t build clusters for business applications
Obrigado!