Cloud Computing e
Azure no contexto da
pesquisa científica
Otavio Pecego Coelho
Arquiteto de Soluções
Microsoft Brasil
http://blogs.msdn.com/otavio
E-mail: [email protected]
INTRODUÇÃO
A Evolução da Ciência
• Ciência Empírica
• Cientistas coletam dados pela observação direta
• Cientistas analisam a informação
• Ciência Teórica
• Cientistas constroem um modelo analítico
• Fazem predições
• Ciência Computacional
• Simulação do modelo analítico
• Validação do modelo e construção de predições
A Ciência Computacional Evolui
• eScience - Exploração da Informação
• “onde a TI encontra a ciência”
• Informação capturada por instrumentos
e/ou Informação gerada por simuladores
• Processadas por software
• Armazenadas em bancos/arquivos
• Cientistas analisam bancos/arquivos
• Nova ênfase em informática:
Captura
Organização
Sumarização
Análise
Visualização
• Une exploração de dados mais
simulação.
• É cedo para dizer se
comp-X e X-info
irão unificar ou competir.
BaBar, Stanford
P&E
Gene Sequencer
From
http://www.genome.uci.edu/
5
•
•
•
•
•
Space Telescope
A Explosão de Dados na Ciência
Experimentos
Simulações
Arquivos
O Desafio:
Possibilitar Descobertas
via mineração,
buscas e análise destes dados
em tempo quase-real.
Petabytes
Dobrando a cada
2 anos
Literatura
Consumo
Hoje temos um ponto de inflexão
• Desafios econômicos
• Eficiência na Pesquisa
• Escala da Infraestrutura
• Transição Tecnológica
• Cloud computing e Software+Serviços
• Escalando o armazenamento e lidando com o Multicore
• Respostas atuais:
• Serviços na nuvem ricos
• Infraestrutura Hospedada
• Economia de escala (Computação como Commodity)
Alguns Investimentos da Microsoft
• High Performance Computing
• Cloud Computing - Azure
Alternativa usual
HPC
10
Objetivo
Windows HPC Server 2008
• Solução inter-operável c/ biblioteca padrão MPI
• Construída em cima do Windows Server 2008 64-bit
Administração
Networking
& MPI
Job
Scheduling
Storage
Service Oriented Architecture-HPC
WS
Scheduler
Jobs
WS
WS
Req
Results
Req
Head Node
Job
Mgmt
Cluster
Mgmt
SchedulingResource
Mgmt
WS
WS
Compute Node
Job
Execution User App
MPI
Topologia Típica de um Cluster
Infra estrutura da TI
Windows
Update
AD
DNS
Monitoring
Systems
Management
DHCP
Rede
Pública
Head Node
Compute Node
Compute Node
Admin / User Cons
Node Manager
Node Manager
WDS
MPI
MPI
Job Scheduler
Management
Management
MPI
Management
Rede
Privada
NAT
Rede
MPI
Cluster de Computação
Diferenciais
•
•
•
•
•
•
Setup Simples
Foco no gerenciamento simplificado
Escala Horizontalmente
Integração com o gerenciamento da corporação
Integrado com a IDE de Desenvolvimento
MS Research: Dryad e DryadLinq
AZURE
Não seria bom ter…
Um pool de recursos computacionais
(virtualmente) infinito (e elástico)
oferecido no modo self-service,
por um terceiro
via um modelo “pague o quanto usa”
Esta é a definição mais usual de Cloud Computing !
O que isto iria resolver?
“Crescimento Rápido“
Computar
Computar
“On / Off “
Período de
Inatividade
Uso Médio
Uso
Média
Time
Tempo
Cargas On/Off (ex.:. Job batch)
Desperdício da capacidade provisionada
Time to market pode ser retardado
Serviços que precisam cresce e escalar
Crescer é um desafio grande na TI
Deployment complexo
“Carga Sazonal“
Computar
Computar
“Carga Imprevista“
Uso Médio
Uso Médio
Tempo
Tempo
Pico de demanda inesperada
Desempenho comprometido pelo pico
Difícil provisionar nos casos extremos
Serviços c/ micro sazonalidades
Picos devido a demandas periódicas
Complexidade da TI + desperdício
CAPACIDADE DA TI
“Falta“ de
capacidades
Custo
Inicial
das
capacidades
Alocação de
capacidades
Previsão de
Carga
Custo fixo das
capacidades
“Desperdício“
de
capacidades
Carga Atual
TEMPO
CAPACIDADE DA TI
Alocação de
capacidades
Redução dos
investimentos
iniciais
Previsão
de Carga
Sem “falta“ de
capacidades
Redução do
“excesso de TI“
É possível a
redução das
capacidades no
caso da
redução da
carga
Carga Atual
Tempo
Datacenter
Cloud Computing
Modelo em Camadas
Plataforma Windows Azure
WEB & Nuvem
Aplicações Web
Nuvem de Terceiro
Experiência de Desenvolvimento
que usa ferramentas e conhecimento atual
Compute
Storage
Management
Aplicações Compostas
Relational data
Management
ON-PREMISES
Connectivity
Access control
Aplicações LOB
Cloud Computing
Modelo em Camadas
Componentes da Plataforma
Windows Azure
Reporting
Business
Analytics
Data Sync
Componentes do Windows
Azure
Windows Azure em uma imagem
Portal de Negócios
Portal do Desenvolvedor
REST
Código
Service de Gerência de Serviços
WA SDK
Desktop
Compute Cluster
VS Tools
…
VM Setup
…
…
Storage Cluster
Runtime
API
REST
Datacenters da Microsoft
Cloud VM
Arquitetura do Windows Azure
•
Ferramentas de Desenvolvimento
Abstração de Storage: Blobs, Tables, …
Modelo de
Programação
Gerenciamento de
Serviços
Partições Balanceadas para Carga
Armazenamento de Dados Replicados
Modelo de Processamento do Serviço; Modelo de Saúde do Serviço
Deployment de imagens de VMs; Programação de Rede; Alocação de VMs
Microsoft Global Datacenters
• Infraestrutura em nuvem construída de baixo para cima
Serviços de Computação no
Windows Azure
OBJETIVO:
ESCALABILIDADE MASSIVA
Scale “out” pela replicação de instâncias
dos processos de acordo com
necessário.
Dois tipos de Instâncias: Web Role & Worker Role
Full-Trust - Código Nativo via P/Invoke
FastCGI
Cada instância
roda na sua
própria VM e é
replicada caso
necessário
DEMO – PORTAL E HELLO WORLD
Gerência do Serviço
• Gerência de Serviço como serviço
• APIs para uso local ou remoto
• API de diagnóstico
• Logs do IIS, Contadores de Desempenho, etc.
• API de Service Management
• Em combinação c/ a API de diagnóstico você pode construir um loop de
feedback
Modelos de Upgrades
• In-place rolling upgrade
• Instâncias de Roles são divididos em update domains
• Atualize um update domain por vez
• O serviço permanece disponível durante o upgrade
• Real-time hot swap
• Troca de endpoints do serviço velho c/ o novo
• Permite mudanças arquiteturais complexas
• Downtime planejado
• Pare e troque o serviço com a nova versão
Serviços de Storage no Windows Azure
OBJETIVO:
ESCALÁVEL, DURÁVEL E
PAGUE O QUANTO USA
O Storage do Windows Azure é
um outro aplicativo gerenciado
pelo Fabric Controller.
Aplicativos do Windows Azure
podem usar o storage nativo ou o
SQL Services
O estado do Aplicativo é
armazenado nos serviços de
storage para que os processos
possam se replicados para melhor
escalabilidade.
Blobs: dados
grandes e não
estruturados
(audio, video,
etc)
Tables:
quantidades
massivas de
dados simples e
estruturados,
acessados via
ADO.NET
Queues: mensagens
acessadas de modo
serial, permitindo a
interação entre os
papéis web e workers
Azure : Um Cenário Completo
Microsoft Data Centers
User Interface
Table Storage
Video Metadata
Business Logic
Blob Storage
Raw Video
Queue
Encoding
Process
Process
Communication
Blob Storage
Encoded
Azure: Um Cenário Completo
Microsoft Data Centers
User Interface
Table Storage
Video Metadata
Business Logic
Blob Storage
Raw Video
Queue
Encoding
Process
Process
Communication
Blob Storage
Encoded
Reporting
Business Analytics
• Banco de Dados Relacional como serviço
• Alta disponibilidade, manutenção automática
• Extensão da plataforma SQL Server
Data Sync
Data Sync
• Ferramenta para sincronização com o SQL Azure
• Conecta aplicativos da nuvem com os on-premises
• Cria clientes em modo cached
• Novos:
• SQLAzureSyncProvider: otimizado para o SQL Azure
• VS PlugIn: Template + Geração de código
• SQL Azure Data Sync Tool for SQL Server: provisionamento e sincronização entre
SQL Server e SQL Azure.
Sync
Sync /
Cache
• Conexões Seguras entre serviços
• Atravessa os limites das organizações
• Controle de acesso baseado em declarações
MAPREDUCE
Pattern “MapReduce”*
* 2004 OSDI paper by Jeff Dean and Sanjay Ghemawat (Google)
- Usando a Nuvem para Computar
Quantos ”e”’encontramos na frase
“The quick brown fox jumps over the lazy dog”?
Data
Client
Master
Worker
M<k,v>
Worker
M<k,v>
Worker
M<k.v>
“Map”
M<“the quick brown”.”e”>
M<“fox jumps over”.”e”>
M<“the lazy dog”.”e”>
Usando a Nuvem para Computar
Client
Master
L<k,v>
Worker
L<k,v>
Worker
Result
Worker
L<k,v>
3 ”e” achados
“Reduce
”
L<”e”,”1”>
L<”e”,”1”>
L<”e”,”1”>
Como resolver isto no Azure?
Usando a Nuvem para Computar
Data
Client
Web Role
Aplicação Cliente Job/Task Scheduler
Worker
Data
Worker
Data
Worker
Data
Serviço Remoto
Req
Fila
Tabela
Demo
Resumo
•
A ciência hoje pede uma infraestrutura que apoie a alta demanda
de poder computacional e armazenamento de dados
Duas das principais iniciativas que vão de encontro a estas
necessidades são os investimentos em HPC e Azure
Diminuir os custos de administração e deployment é o maior
diferencial do HPC da Microsoft hoje
Azure é um Sistema Operacional feito para a Nuvem
•
•
•
•
•
É projetado para utility computing
Tem 4 metas principais:
•
•
•
•
Gerenciamento Automático dos Serviços
Um hospedeiro poderoso de Serviços
Armazenamento e processamento escalável e disponível
Uma experiência de desenvolvimento rica e familiar
Convite
• Cloud Futures 2010 Conference
•
•
•
•
na Microsoft Research, Redmond
8-9 de Abril 2010
Key notes Prof D. Patterson, UC Berkeley and Dr. D. Reed, Microsoft Research
Industry presentations, Tutorials and Panel discussions (including Microsoft,
Amazon, Yahoo, Google) – provisional;.
• Invited talks from faculty, researchers and industry of 30 minutes on the role
of cloud computing across a variety of research and curriculum development
areas---including computer science, earth sciences, healthcare, humanities,
life sciences, and social sciences---that highlight how new techniques and
methods of research in the cloud may solve distinct challenges arising in
those diverse areas.
•
•
•
•
The presenters will be selected based on the abstract
Abstract submission deadline February 10, 2010 to [email protected];
Invited talks will be announced on February 18, 2010
Abstracts will be review by the designated panel of MSR researchers and
practitioners.
Links
• http://research.microsoft.com/enus/collaboration/fourthparadigm/default.aspx
• http://research.microsoft.com/en-us/projects/Dryad/
• http://www.microsoft.com/hpc
• http://www.microsoft.com/windowsazure
• http://msdn.microsoft.com/pt-br/azure
• http://blogs.msdn.microsoft.com/otavio
• [email protected]
© 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should
not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Download

Cloud Computing e Azure no contexto da pesquisa - IME-USP