Por que a nuvem irá acabar com soluções "Enterprise"

Preview:

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!

Recommended