O documento discute a evolução da computação, desde os primórdios com George Boole e as primeiras máquinas até a era atual da computação em nuvem. Apresenta também os principais componentes da nuvem, como armazenamento, instâncias, redes de distribuição de conteúdo e interfaces de elasticidade.
11. Para onde vamos ?
Contratos, Hardware Limitado, Conectividade, Suporte Técnico
=
Fracasso
Junho 2006
Única necessidade:
12. Novas tecnologias
MVC
ACID por Eventualmente Consistente
Managed Code ao invés de Clustering em userland
Grand Central Dispach ao invés de Threads
13. Onde vamos almoçar hoje?
Código legado = lixo
Infra-estrutura = commodity
Regra de negócio como um serviço é a nova onda
Camada de saída é irrelevante, hoje tablets,
amanhã outra coisa
14. Onde vamos almoçar hoje?
Reaproveite o que já estiver pronto, senão alguém fará
isto.
Sistema Operacional, Linguagem, Banco, ... Tudo é
irrelevante, o serviço é o que importa.
O Mundo é dos mash-ups.
15. Principais Provedores
Provedor Tipo Vantagens Desvantagens
Amazon AWS IAAS - Primeiro provedor de nuvem - Para obter
- API Soap suporte é
- Diversas zonas espalhadas necessário pagar
pelo planeta uma taxa
- Em novembro inaugurará - O entendimento
uma zona no Brasil da tecnologia é
complexo
Google Apps PAAS - Não há necessidade de se - Não é possível
incomodar com a Infra, acessar a camada
de sistema
sistema operacional, banco operacional
de dados, etc. - Necessário usar a
- Todo o controle pode ser API do Google, com
feito de dentro da IDE as linguagens que o
- Suporta Java, Python e GO Google Suporta
- Cria dependencia
- De graça para eterna com a
desenvolvimento tecnologia deles
16. Principais Provedores
Provedor Tipo Vantagens Desvantagens
Windows Azure IAAS/P - Suporte de fácil acesso - “Microsoft way of
AAS - Pode rodar como PAAS, via trouble”
WebRoles - Sendo recente não
- Pode rodar como IAAS, via tem zona no Brasil
VMRoles - Custo é superior ao
- Para tecnologias Microsoft a dos concorrentes
integração é transparente - Se você desenvolve
em tecnologias não
Microsoft, requer
Rackspace IAAS - É o mais barato de todos - rodar VMs poder
Não garante
- Interface simples, simula computacional, eles
maquinas virtuais em todos “estimam” uma certa
os aspectos quantidade
- Facil manutenção - Elasticidade não é
- API em REST bem suportado
18. Instâncias
Representam o poder computacional da nuvem, são
máquinas virtuais rodando com um tipo de hardware
selecionado.
Normalmente elas possuem discos virtuais que são
apagados após o termino da instância, portanto há
necessidade de persistir os dados em um disco
especial montado (EBS no caso da Amazon).
Ex: EC2
19. Rede de Distribuição
de Conteúdo
Estas redes proporcionam uma rápida distribuição de
conteúdo estático, usando o IP de origem do usuário e
mapeando o servidor mais próximo onde este
conteúdo esteja disponível.
Ex: CloudFront, Akamai
20. Interface de Elasticidade
Este é o diferencial da arquitetura em nuvem, permite
a configuração de templates para alocação dinâmica
de recursos de hardware, assim uma aplicação pode
crescer dinamicamente de um servidor para centenas
deles, em questão de minutos.
Ex: Auto Scaling
----- Meeting Notes (26/09/11 16:46) ----- - A computação como conhecemos hoje existe a menos de um século - A teoria já existia a bem mais tempo (Século 8, Pingala) (Século 18, George Boole) - Vonn Neumann introduziu o computador como conhecemos hoje, baseado no processamento do cérebro humano
Com a descoberta do silício como matéria prima para construção de transistores, tornou-se possível construir computadores em escala industrial e com custos aceitáveis
----- Meeting Notes (26/09/11 16:48) ----- desenvolvimento dos primeiros sistemas operacionais multi usuários (AT&T Unix) viabilizou fornecer processamento para mais de um usuário, num mesmo equipamento - Segmentação de memória e Threads tornaram o uso destes equipamentos escalonáveis e confiáveis
Interfaces de comunicação como portas seriais (RS232/485) e Ethernet (IP) criaram o conceito de terminais de acesso remoto
VT100 revolucionou o acesso a informação, pela primeira vez foi possível disponibilizar acesso simultâneo a diversos usuários, em múltiplos terminais, em locais separados a uma quantidade suficiente de poder computacional e armazenamento de dados. Com o protocolo IP, deixou de existir um limite físico de distância entre estes terminais. Resolveu-se o problema dos bookings de passagens aéreas por exemplo, integrando a malha aérea mundial em um único sistema computacional.
A computação pessoal quebrou o paradigma do alto custo do processamento de dados, tornando possível termos um computador em cada casa. Com a Internet, o equipamento se tornou indispensável para a vida moderna. O comportamento humano foi alterado de forma tão drástica, que somente o surgimento da civilização moderna e da sociedade causaram tantos impactos no estilo de vida. Um banco no século passado precisava de uma centena de pessoas, hoje pode ser substituído por uma simples máquina ATM, ou um site.
Aos poucos, os processadores foram se tornando cada vez mais potentes e também diminuindo o seu consumo elétrico. Os notebooks, smartphones e tablets converteram a computação pessoal em algo mais, uma extensão do corpo humano, sempre presente e disponível. As redes de telefonia começaram a comportar transferncia de dados em alta velocidade e o mundo se desprendeu dos fios.
A computação em nuvem nasceu da necessidade das empresas, de hospedar aplicações sem se incomodar com os problemas tradicionais de seus datacenters: contratos, conectividade, hardware limitado, e suporte técnico Criada oficialmente em Junho de 2006, a Amazon AWS implementou e disponibilizou a tecnologia necessária para o aluguel de poder computacional e armazenamento de forma completamente automática. Qualquer indivíduo com um cartão de credito pode comprar, por hora, quaisquer quantidade de processamento e armazenamento.
A tecnologia teve de evoluir para acompanhar a nova tendência: A web 2.0, o MVC e as novas tecnologias de armazenamento de dados como no SQL e Hadoop, contribuiram para a transferência das aplicações legadas (locais e cliente/servidor) para a rede. Paradigmas tiveram de ser revistos, ACID foi trocado por eventualmente consistente. Novos metodos de resolver problemas antigos tiveram de ser criados, como Managed Code ao inves de Clusters em userland e Grand Central Dispach ao inves de Threads. Sistemas operacionais em nuvem, como o Chrome OS tornarão todo o codigo legado obsoleto, levando as empresas que não se encaixarem nesse novo modelo computacional ao risco de deixarem de existir
Esqueça código legado, não perca seu tempo tentando reaproveitar o velho, tudo deve ser reescrito a cada 2 anos, caso contrário o custo de manutenção será impeditivo para a competitividade do negócio Não se preocupe com a infra-estrutura, 3 grandes players irão dominar este mercado: Amazon, Google e Microsoft. Um deles irá te fornecer a preços irrelevantes quaisquer necessidades da tua aplicação Nossos computadores serão terminais burros em pouco tempo, se preocupe em liberar um serviço com a regra de negócio da sua aplicação, a camada de saída é irrelevante e imprevisível. Hoje temos Tablets, amanha teremos algo diferente.
Reaproveite quaisquer serviços já prontos, pois se tu não fizeres, teu concorrente irá fazer a um custo menor e teu negócio falhará Sistemas operacionais, linguagens, bancos de dados, tudo é irrelevante para o futuro, o que interessa é o serviço disponível na rede, para que qualquer um possa consumir e integrar: O mundo é dos mash-ups