cloud computing e azure no contexto da pesquisa científica otavio pecego coelho arquiteto de...
TRANSCRIPT
Cloud Computing e Azure no contexto da pesquisa científicaOtavio Pecego CoelhoArquiteto de SoluçõesMicrosoft Brasilhttp://blogs.msdn.com/otavioE-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 instrumentose/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.
5
BaBar, Stanford
Space Telescope
P&E Gene SequencerFromhttp://www.genome.uci.edu/
A Explosão de Dados na CiênciaExperimentos Arquivos LiteraturaSimulações
PetabytesDobrando a cada
2 anos
Consumo
O Desafio: Possibilitar Descobertas via mineração, buscas e análise destes dados em tempo quase-real.
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
HPCAlternativa usual
Objetivo
10
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 Job Scheduling
Networking& MPI Storage
Scheduler
Req
Jobs
Results
WS
User AppMPI
Compute NodeJob
Execution
Head NodeJob
MgmtResource
Mgmt
Cluster Mgmt
Scheduling
WS
WS
WS
WS
Req
Service Oriented Architecture-HPC
RedeMPI
RedePrivada
RedePública
Infra estrutura da TI
Compute NodeHead Node
ADDNSDHCP
Windows Update
Monitoring SystemsManagement
Cluster de Computação
Topologia Típica de um Cluster
Admin / User Cons
WDS
Job Scheduler
MPI
Management
NAT
Node Manager
MPI
Management
Compute NodeNode Manager
MPI
Management
• 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
Diferenciais
AZURE
Não seria bom ter…
Um pool de recursos computacionais (virtualmente) infinito (e elástico)
oferecido no modo self-service, por um terceirovia um modelo “pague o quanto usa”
Esta é a definição mais usual de Cloud Computing !
Uso
Com
puta
r
Time
Média
Período de
Inatividade
“On / Off “
Cargas On/Off (ex.:. Job batch)Desperdício da capacidade provisionadaTime to market pode ser retardado
Com
puta
r
Tempo
“Carga Imprevista“
Uso Médio
Pico de demanda inesperadaDesempenho comprometido pelo picoDifícil provisionar nos casos extremos
Uso Médio
Com
puta
r
Tempo
“Crescimento Rápido“
Serviços que precisam cresce e escalarCrescer é um desafio grande na TIDeployment complexo
Com
puta
r
Tempo
Uso Médio
“Carga Sazonal“
Serviços c/ micro sazonalidadesPicos devido a demandas periódicasComplexidade da TI + desperdício
O que isto iria resolver?
Uso de Servidores em casa Hoje
TEMPO
CAPA
CIDA
DE D
A TI
Carga Atual
Alocação de capacidades
“Desperdício“ de
capacidades
“Falta“ de capacidades
Custo fixo das capacidades
Previsão de Carga
Custo Inicial
das capacidades
Elasticidade com a Nuvem
Carga Atual
Alocação de capacidades
Redução dos investimentos
iniciais
Redução do “excesso de TI“
Sem “falta“ de capacidades
É possível a redução das
capacidades no caso da
redução da carga
Tempo
CAPA
CIDA
DE D
A TI
Previsão de Carga
Datacenter
Nível de Controle
Cloud ComputingModelo em Camadas
Nív
el d
e Ab
stra
ção
ON-PREMISES Aplicações LOBAplicações Compostas
Compute Storage Management ManagementRelational data Connectivity Access control
WEB & Nuvem Nuvem de TerceiroAplicações Web
Experiência de Desenvolvimentoque usa ferramentas e conhecimento atual
Plataforma Windows Azure
Nível de Controle
Nív
el d
e Ab
stra
ção
Cloud ComputingModelo em Camadas
Componentes da Plataforma Windows Azure
Compute Storage Fabric Management Portal
Database
Business AnalyticsReporting Data SyncService
BusAccessControl
Componentes do Windows Azure
Compute Storage Fabric Management Portal
Windows Azure em uma imagem
Desktop
VS Tools
WA SDK
Stor
age
Clus
ter
Datacenters da Microsoft
Portal de Negócios
Portal do Desenvolvedor
Com
pute
Clu
ster ……
Service de Gerência de Serviços
REST
REST…
Cloud VM
Runtime API
VM Setup
Código
Arquitetura do Windows Azure
• Infraestrutura em nuvem construída de baixo para cima
Deployment de imagens de VMs; Programação de Rede; Alocação de VMs
Microsoft Global Datacenters
Armazenamento de Dados Replicados
Modelo de Processamento do Serviço; Modelo de Saúde do Serviço
Abstração de Storage: Blobs, Tables, …
Modelo de Programação
Ferramentas de Desenvolvimento
• Plataforma p/ desenv. projetado de cima para baixo
Partições Balanceadas para CargaGerenciamento de Serviços
OBJETIVO:ESCALABILIDADE MASSIVAScale “out” pela replicação de instâncias dos processos de acordo com necessário.
Full-Trust - Código Nativo via P/Invoke
FastCGI
Dois tipos de Instâncias: Web Role & Worker Role
Cada instância roda na sua própria VM e é replicada caso necessário
Serviços de Computação no Windows Azure
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
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
Serviços de Storage no Windows Azure
Azure : Um Cenário Completo
Microsoft Data Centers
Azure Services Platform
Application Web Role
User Interface
Business Logic
Azure Storage
Table StorageVideo Metadata
Blob StorageRaw Video
Blob StorageEncoded
QueueProcess
Communication
Application Worker Role
Encoding Process
Azure: Um Cenário Completo
Microsoft Data Centers
Azure Services Platform
Application Web Role
User Interface
Business Logic
Azure Storage
Table StorageVideo Metadata
Blob StorageRaw Video
Blob StorageEncoded
QueueProcess
Communication
Application Worker Role
Encoding Process
• Banco de Dados Relacional como serviço• Alta disponibilidade, manutenção automática
• Extensão da plataforma SQL Server
Database
Business AnalyticsReporting 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
ServiceBus
AccessControl
MAPREDUCE
Pattern “MapReduce”*
* 2004 OSDI paper by Jeff Dean and Sanjay Ghemawat (Google)
- Usando a Nuvem para Computar
MasterClient
Data
Worker
Worker
Worker
“Map”
M<k,v>
M<k,v>
M<k.v>
M<“the quick brown”.”e”>M<“fox jumps over”.”e”>M<“the lazy dog”.”e”>
Quantos ”e”’encontramos na frase“The quick brown fox jumps over
the lazy dog”?
Usando a Nuvem para Computar
MasterClientResul
t
Worker
Worker
Worker
“Reduce”
L<k,v>
L<k,v>
L<k,v>
L<”e”,”1”>L<”e”,”1”>L<”e”,”1”>
3 ”e” achados
Como resolver isto no Azure?
Usando a Nuvem para Computar
Web RoleClient
Data
Worker
Worker
Worker
Data
Data
DataAplicação ClienteJob/Task Scheduler
Serviço Remoto
Fila
Req
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/en-us/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.