suporte à programação em azure

Transcrição

suporte à programação em azure
RQUITETURA AVANÇADA DE SISTEMAS
CLOUD PROGRAMMING
RICARDO MENDÃO SILVA
RMSILVA AT UAL DOT PT
MARÇO 2015
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
OUTLINE
•
SUPORTE À PROGRAMAÇÃO EM AWS
•
•
•
•
•
•
A PLATAFORMA AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
AMAZON SIMPLE STORAGE SERVICE (S3)
AMAZON ELASTIC BLOCK STORE (EBS) SIMPLEDB
SUPORTE À PROGRAMAÇÃO EM AZURE
•
•
•
•
A PLATAFORMA AZURE
SQLAZURE
AZURE TABLES
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
PLATAFORMA AWS
• As máquinas virtuais podem ser utilizadas para partilhar recursos computacionais, tanto de modo flexível como seguro.
• A Amazon tem sido líder no fornecimento de Cloud Pública, nomeadamente através de recursos IaaS (http://aws.amazon.com ).
• A arquitetura da Amazon assenta nos seguintes blocos:
• EC2 (Elastic Compute Cloud) – fornece platformas virtualizadas.
• S3 (Simple Storage Service) – Fornece armazenamento orientado a objetos.
• EBS (Elastic Block Service) -­‐ Fornece uma interface para um bloco de armazenamento, que pode ser utilizado pelas aplicações tradicionais.
• SQS (Simple Queue Service) – Garante a troca de mensagens entre dois processos com fiabilidade.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
PLATAFORMA AWS
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
PLATAFORMA AWS
• As ofertas da AWS resumem-­‐se a:
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
PLATAFORMA AWS
• As ofertas da AWS resumem-­‐se a (continuação):
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
PLATAFORMA AWS
• A Amazon tem um serviço denominado ELB (Elastic Load Balancing) que é responsável por distribuir todo o tráfego de entrada pelas várias instâncias EC2 disponíveis, permitindo evitar nós não-­‐operacionais e implementando balanceamento de carga.
• Tanto o auto-­‐escalamento e o ELB são ativados pelo CloudWatch que monitoriza as instâncias em execução.
• O CloudWatch é um web service que fornece monitorização aos recursos do AWS.
• Fornece aos clientes a visualização sobre a utilização de recursos, performance operacional e padrões de utilização genéricos, tais como CPU, discos e trafego de rede (tal como o vClient no TL1).
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
PLATAFORMA AWS
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
PLATAFORMA AWS
• Tal como o Azure, a Amazon oferece bases de dados relacionais RDS (Relationship
Database Service).
• AWS Import/Export permite a transmissão de grandes volumes de dados entre EC2.
• A Amazon CloudFront implementa uma rede de conteúdos distribuída. • A Amazon DevPay é um serviço simples de pagamentos e gestão de contas on-­‐line, que facilita a comercialização de aplicações implantadas no AWS.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
PLATAFORMA AWS
• O FPS (Flexible Payments Service) fornece aos programadores de sistemas comerciais no AWS uma forma conveniente para taxar os clientes que utilizam tais sistemas sobre AWS.
• Com FPS os clientes podem pagar com os mesmos recursos e credenciais que utilizam no site da Amazon.
• O FWS permite que a Amazon controle todo o sistema de venda e shipping de produtos em nome dos fornecedores tradicionais.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
OUTLINE
•
SUPORTE À PROGRAMAÇÃO EM AWS
•
•
•
•
•
•
A PLATAFORMA AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
AMAZON SIMPLE STORAGE SERVICE (S3)
AMAZON ELASTIC BLOCK STORE (EBS) SIMPLEDB
SUPORTE À PROGRAMAÇÃO EM AZURE
•
•
•
•
A PLATAFORMA AZURE
SQLAZURE
AZURE TABLES
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
• A Amazon foi a primeira empresa a introduzir VMs disponibilizadas como serviço.
• Desde então, os clientes podem alugar VMs em vez de máquinas físicas para executar as suas aplicações.
• Ao utilizar VMs os utilizadores podem instalar e utilizar qualquer software sobre estas.
• A elasticidade deste tipo de serviço é que um cliente pode criar, iniciar e terminar instâncias de servidores consoante as necessidades, pagando os servidores ativos por hora.
• A Amazon fornece uma série de VMs pré-­‐instaladas. Essas instâncias são geralmente chamadas Amazon Machine Images (AMIs).
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
• Existem AMIs configuradas com diferentes sistemas operativos, Linux e Windows, e pré-­‐configuradas com diverso software aplicacional. • Existem três tipos de AMIs:
Tipo de imagem Definição da AMI
AMI Privada
Imagens criadas pelo utilizador, que são
privadas por defeito. Podem ser dadas permissões a outros utilizadores para iniciar estas imagens privadas.
AMI Pública
Imagens criadas pelo utilizador e partilhadas
com a comunidade AWS.
AMI Pagas
O utilizador pode criar AMI específicas e cobrar pelo uso das mesmas a outros utilizadores.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
• As AMIs são assim o template para instâncias de VMs.
• O fluxo necessário para criar uma VM é o seguinte:
• Criar uma AMI -­‐> Criar um par de chaves -­‐> Configurar a firewall -­‐> lançar.
• Essa sequência é suportada por AMIs públicas, privadas e pagas.
• As AMIs são formadas a partir da virtualização de capacidade computacional, de armazenamento e outros recursos de servidores.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
• As instâncias definidas no IaaS da Amazon são diversas, classificadas em cinco tipos:
• Standard instances – são máquinas típicas razoáveis para qualquer aplicação.
• Micro instances – fornece um pequeno número de recursos de CPU consistentes e permite aumentar a capacidade de CPU quando existe essa disponibilidade. São aconselhados para aplicações com poucos requisitos e web sites com ciclos de computação periódicos.
• High-­‐memory instances – oferece muita memória para aplicações exigentes, incluíndo bases de dados e aplicações de caching.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
• As instâncias definidas no IaaS da Amazon são diversas, classificadas em cinco tipos (continuação):
• High-­‐CPU instances – são máquinas com mais CPU que RAM e desenhadas para alta computação.
• Cluster computer instances – fornecem proporcionalmente recursos de CPU com performance de rede aumentada, sendo dirigidos para HPC – high-­‐
performance computing. Tipicamente utilizam interligações 10GBps.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
• RESUMO EC2 (2010)
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
• RESUMO PREÇO EC2 (2010)
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
OUTLINE
•
SUPORTE À PROGRAMAÇÃO EM AWS
•
•
•
•
•
•
A PLATAFORMA AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
AMAZON SIMPLE STORAGE SERVICE (S3)
AMAZON ELASTIC BLOCK STORE (EBS) SIMPLEDB
SUPORTE À PROGRAMAÇÃO EM AZURE
•
•
•
•
A PLATAFORMA AZURE
SQLAZURE
AZURE TABLES
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON SIMPLE STORAGE SERVICE (S3)
• O serviço Amazon S3 fornece uma simples interface web service que pode ser utilizada para guardar e descarregar qualquer quantidade de dados, em qualquer lugar, em qualquer altura.
• O S3 fornece um serviço de armazenamento orientado a objetos.
• Os utilizadores podem aceder aos seus objetos através do protocolo SOAP, através dos browsers ou de qualquer outra aplicação que suporte o mesmo.
• Para além de SOAP, REST é também suportado.
• SQS (Simple Queue Service) é responsável por garantir um serviço de mensagens fiável entre dois processos, mesmo quando o receptor não está em execução. RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON SIMPLE STORAGE SERVICE (S3)
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON SIMPLE STORAGE SERVICE (S3)
• A unidade de operação fundamental do S3 é chamada objeto.
• Cada objeto é guardado num balde (bucket) e acessível através de uma única chave.
• Noutras palavras o bucket é o container do objeto.
• Para além da chave única, o objeto tem outros atributos, tais como, valores, metadados e informação de controlo de acesso.
• Da perspectiva do programador, o fornecedor de armazenamento S3 pode ser visto como um par chave-­‐valor. RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON SIMPLE STORAGE SERVICE (S3)
• Através da interface de programação <chave, valor> os utilizadores podem escrever, ler e eliminar objetos contendo desde 1 byte até 5 GB de dados cada.
• Como mencionado anteriormente, existem dois tipos de interfaces distintas para acesso aos serviços:
• REST
• SOAP
• As propriedades do S3 são as seguintes:
• Redundância através de dispersão geográfica.
• Desenhado para fornecer 99.999999999% de durabilidade e 99.99% de disponibilidade dos objetos/ano, considerando o modelo de redundância mais barato – Reduced redundancy storage (RRS). RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON SIMPLE STORAGE SERVICE (S3)
• As propriedades do S3 são as seguintes (continuação):
• Mecanismos de autenticação para garantir que os dados são mantidos seguros de acessos não autorizados. Os objetos podem ser tornados privados ou públicos e podem ser administrados direitos por utilizador.
• ACLs e URLs por objeto.
• O HTTP é o protocolo de download por defeito. Existe ainda uma interface BitTorrent, que permite melhor performance em sistemas largamente distribuídos.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON SIMPLE STORAGE SERVICE (S3)
• As propriedades do S3 são as seguintes (continuação):
• $0.0055 (para mais de 5, 000 TB) até 0.15 por GB/mês.
• O primeiro GB de tráfego por mês é grátis. A partir dai tem um custo de $0.08 a $0.15 por GB transferido para fora da região S3.
• Não existe cobrança para transferências entre EC2 e S3 dentro da mesma região ou para dados transferidos entre Amazon EC2 Northern Virginia e Amazon S3 U.S. Standard region, entre outras.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
OUTLINE
•
SUPORTE À PROGRAMAÇÃO EM AWS
•
•
•
•
•
•
A PLATAFORMA AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
AMAZON SIMPLE STORAGE SERVICE (S3)
AMAZON ELASTIC BLOCK STORE (EBS) SIMPLEDB
SUPORTE À PROGRAMAÇÃO EM AZURE
•
•
•
•
A PLATAFORMA AZURE
SQLAZURE
AZURE TABLES
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON ELASTIC BLOCK STORE (EBS)
• O Elastic Block Store (EBS) fornece interfaces para guardar e restaurar imagens virtuais de instâncias EC2.
• Tradicionalmente as instâncias de EC2 seriam destruídas depois de utilizadas. • Com EBS é possível guardar o estado dos EC2, mesmo depois da máquina ser desligada.
• Os utilizadores podem utilizar o EBS para guardar dados persistentes e montar nas instâncias EC2 em execução.
• Denote-­‐se, que o S3 é Storage as a Service com uma interface de mensagem.
• O EBS é semelhante a um sistema de ficheiros distribuído, com acesso tradicional pelo Sistema Operativo.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON ELASTIC BLOCK STORE (EBS)
• O ESB permite criar diferentes volumes de armazenamento desde 1 GB até 1 TB, que podem ser montados em instâncias EC2.
• Múltiplos volumes podem ser montados na mesma instância.
• Esses volumes de armazenamento funcionam como disco raw, não formatados, com o nome fornecido pelo utilizador e uma interface típica de acesso via SO.
• É possível criar um sistema de ficheiros nesses volumes de armazenamento ou utiliza-­‐los de qualquer outra forma.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
AMAZON ELASTIC BLOCK STORE (EBS)
• São fornecidos Snapshots de modo a que os dados possam ser guardados incrementalmente. • Deste modo é garantida a performance tanto do backup como do restore.
• Em termos de preço a Amazon fornece um pay-­‐per-­‐use similar ao EC2 e S3. • A cobrança é efetuada com base na quantidade de GB alocados, com um preço a rondar os $0.10 por GB/mês.
• O EBS cobra ainda $0.10 por 1 milhão de pedidos I/O efetuados sobre o volume.
• Em clouds OpenSource existe um equivalente ao EBS, nomeadamente o Nimbus.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
OUTLINE
•
SUPORTE À PROGRAMAÇÃO EM AWS
•
•
•
•
•
•
A PLATAFORMA AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
AMAZON SIMPLE STORAGE SERVICE (S3)
AMAZON ELASTIC BLOCK STORE (EBS) SIMPLEDB
SUPORTE À PROGRAMAÇÃO EM AZURE
•
•
•
•
A PLATAFORMA AZURE
SQLAZURE
AZURE TABLES
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
SIMPLEDB
• O SimpleDB fornece um modelo de dados simplificado baseado em modelos de bases de dados relacionais.
• Os dados estruturados devem ser organizados em domínios. • Cada domínio pode ser considerado uma tabela. • Os items são as linhas da tabela.
• Uma célula na tabela é reconhecida como o valor de um atributo específico (nome da coluna) na linha correspondente.
• Ou seja, isto é semelhante a uma tabela numa base de dados relacional.
• Porém, é possível atribuir mais do que um valor a cada célula da tabela.
• Tal não é permitido numa base de dados relacional tradicional, uma vez que se prevalece a consistência dos dados.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AWS
SIMPLEDB
• Muitos developers simplesmente querem rapidamente guardar, aceder e pesquisar dados guardados. • SimpleDB remove o requisito em manter esquemas de bases de dados com forte consistência.
• SimpleDB custo $0.140 por SimpleDB/hora, com as primeiros 25 horas/mês grátis.
• SimpleDB, tal como o Azure Table, pode ser chamado de “LittleTable”, uma vez que são desenhadas para lidar com pequenas quantidades de dados.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
OUTLINE
•
SUPORTE À PROGRAMAÇÃO EM AWS
•
•
•
•
•
•
A PLATAFORMA AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
AMAZON SIMPLE STORAGE SERVICE (S3)
AMAZON ELASTIC BLOCK STORE (EBS) SIMPLEDB
SUPORTE À PROGRAMAÇÃO EM AZURE
•
•
•
•
A PLATAFORMA AZURE
SQLAZURE
AZURE TABLES
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
• Em 2008 a Microsoft lança a plataforma Windows Azure para apanhar o comboio da Could.
• O Azure foi desenvolvido sobre os centros de dados da Microsoft, com recurso às tecnologias da mesma, Windows OS e Hyper-­‐v.
• As aplicações são instaladas em VMs que são implantadas nos centros de dados.
• O Azure gere todos os servidores, armazenamento e recursos de rede dos centros de dados.
• No topo de toda a infraestrutura existem uma série, crescente, de serviços disponibilizados.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
• O Azure assenta na seguinte plataforma de serviços
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
• A plataforma Azure fornece uma serie de serviços ao nível da cloud, entre os quais:
• Live service
• .NET service
• SQL Azure
• Sharepoint service
• Dynamic CRM service
• Os utilizadores podem ou não utilizar estes serviços, ou seja, as suas aplicações podem assentar nestes ou diretamente no Windows Azure.
• A platforma Azure fornece estes serviços tanto em REST como em SOAP
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
• Na imagem que se segue esse modelo é detalhado, incluindo o SQLAzure e os subsistemas de armazenamento e programação.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
• Focando no essencial, podemos verificar que primeiro temos o Azure fabric, que consiste no hardware virtualizado juntamente com um avançado ambiente de controlo que implementa a alocação dinâmica de recursos e tolerância a falhas.
• O Fabric implementa ainda DNS e capacidades de monitorização para os recursos suportados.
• Quando o sistema está em execução, os serviços são monitorizados, permitindo a consulta de logos de eventos, dados de debug, contadores de performance, logos do IIS, crash dumps entre outros logs.
• Essa informação pode ser guardada no próprio Azure.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
• As propriedades básicas do Azure podem ser divididas entre armazenamento e computação.
• O Azure está ligado à Internet através de VMs customizadas, chamadas web role, que suportam as propriedades base do web hosting Microsoft.
• Para além dessas VMs existem outras máquinas de suporte que não têm capacidade de web server e servem somente para processamento de trabalhos. A estas denomina-­‐se de worker role.
• A comunicação com os roles é realizada via HTTP(S) e TCP.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
• Os roles oferecem os seguintes métodos:
• OnStart() – é chamado pelo fabric no arranque, permitindo executar tarefas de inicialização.
• OnStop() – é invocado quando o role está a ser desligado.
• Run() – contem a lógica principal do role.
• Os roles podem ser balanceados consoante a carga.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
OUTLINE
•
SUPORTE À PROGRAMAÇÃO EM AWS
•
•
•
•
•
•
A PLATAFORMA AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
AMAZON SIMPLE STORAGE SERVICE (S3)
AMAZON ELASTIC BLOCK STORE (EBS) SIMPLEDB
SUPORTE À PROGRAMAÇÃO EM AZURE
•
•
•
•
A PLATAFORMA AZURE
SQLAZURE
AZURE TABLES
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
SQLAZURE
• O Azure oferece soluções de armazenamento bastante interessantes e diversas, como podemos verificar na figura anterior.
• O AzureSQL oferece SQL Server as a Service, com todos os métodos acessíveis via interfaces REST.
• Para além desses métodos, implementa um sistema semelhante ao Amazon EBS denominado Drives.
• As interfaces REST são automaticamente associadas a URLs e todo o armazenamento é replicado três vezes para garantir tolerância a falhas e consistência no acesso.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
SQLAZURE
• O sistema de armazenamento básico é construído por blobs (binary large object)
o que o torna análogo ao S3 da Amazon.
• Os Blobs são organizados numa hierarquia a três níveis: • Account -­‐> Containers -­‐> Page or Block Blobs
• Os containers são análogos às diretorias dos sistemas tradicionais, com o account
a funcionar como a raiz.
• O Block Blob é utilizado para o streaming de dados, com cada blob constituído por sequências de blocos de 4 MB cada e identificadores de 64 bytes.
• Os Block Blob podem chegar aos 200 GB.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
SQLAZURE
• Page blobs são utilizados para leituras e escritas aleatórias e consistem num array
de páginas com um blob máximo de 1 TB.
• As mesmas podem associar metadados aos blobs, com pares <nome, valor>, ocupando 8 KB por blob. RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
OUTLINE
•
SUPORTE À PROGRAMAÇÃO EM AWS
•
•
•
•
•
•
A PLATAFORMA AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
AMAZON SIMPLE STORAGE SERVICE (S3)
AMAZON ELASTIC BLOCK STORE (EBS) SIMPLEDB
SUPORTE À PROGRAMAÇÃO EM AZURE
•
•
•
•
A PLATAFORMA AZURE
SQLAZURE
AZURE TABLES
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE TABLES
• A Azure Table and Queue são modos de armazenamento desenhados para pequenas quantidades de dados. • As Queues fornecem entrega de mensagens com fiabilidade e são naturalmente utilizadas para suportar a comunicação entre os web roles e os worker roles.
• As Queues consistem num número de mensagens ilimitado que podem ser obtidas e processadas pelo menos uma vez, com um limite de 8KB por mensagem.
• O Azure suporta PUT, GET e DELETE para operações sobre mensagens.
• E ainda CREATE e DELETE para operações sobre Queues.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE TABLES
• Cada conta pode conter qualquer número de Azure tables que consistem em linhas chamadas entidades e colunas chamadas propriedades.
• Não existe limite para o número de entidades de uma tabela e a tecnologia é desenhada para escalar bem perante grandes números de entidades.
• Cada entidade pode ter até 255 propriedades definidas por <name, type, value>.
• Uma entidade só pode conter no máximo 1 MB. Se for necessário maior volume, colocasse um link para um blob.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
OUTLINE
•
SUPORTE À PROGRAMAÇÃO EM AWS
•
•
•
•
•
•
A PLATAFORMA AWS
AMAZON ELASTIC COMPUTE CLOUD (EC2)
AMAZON SIMPLE STORAGE SERVICE (S3)
AMAZON ELASTIC BLOCK STORE (EBS) SIMPLEDB
SUPORTE À PROGRAMAÇÃO EM AZURE
•
•
•
•
A PLATAFORMA AZURE
SQLAZURE
AZURE TABLES
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
• O Azure permite ainda a integração das aplicações cloud com outras plataformas ou clouds.
• É possível executar uma versão local do Azure e desenvolver para o mesmo utilizando o Azure SDK.
• O Azure SDK permite que as aplicações Azure sejam desenvolvidas e depuradas em máquinas Windows.
• TL3 -­‐ http://azure.microsoft.com/en-­‐us/downloads/
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
ENUNCIADO DO TL3
• A empresa AAS Rulez, SA pretende migrar a sua aplicação BatalhaNaval do serviço PaaS da Google para o serviço PaaS da Microsoft. • Desse modo, serão necessárias uma série de ações base, nomeadamente:
• A criação de uma nova Web App no Azure para implantar a aplicação Python a importar. • A criação de uma conta Git para controlo da implantação da Web App a importar e respetiva associação da mesma ao Azure.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
ENUNCIADO DO TL3
• A construção de uma App “Hello World” em Python, implantada via Git, para testar o ambiente.
• A importação da aplicação em Python BatalhaNaval, desenvolvida no TL2, para a plataforma Azure, substituindo o “Hello World”, do ponto anterior. •
A migração deverá ser desenvolvida por grupos de 2 ou 3 colaboradores e completada até dia 20 de Maio. • O delivery manager deverá entregar o projeto do Git, o link público do Azure
(xxxx.azurewebsites.net) e o relatório. Neste último, deve ser salientado, entre outros, as dificuldades encontradas na migração da App.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
ENUNCIADO DO TL3
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
ENUNCIADO DO TL3
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
ENUNCIADO DO TL3
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
•
A implementação para python do Azure SDK, tal como o GAE, baseia-­‐se no WSGI, definido no pep-­‐333 https://www.python.org/dev/peps/pep-­‐0333/
•
Resumidamente, uma aplicação WSGI exige objetos python, ou seja, funções ou classes com um método __call__ que recebe dois argumentos: um ambiente WSGI e uma função para iniciar a resposta.
•
A aplicação tem de iniciar a resposta utilizando a função fornecida e devolve um objeto iterável onde cada item yielded significa escrita e flushing.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
APP.py
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
• Adicionalmente ao main é necessário um web.config, tal como no IIS
• Denotar que neste web.config é definida uma key para o handler WSGI.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
VIRTUAL ENVIRONMENT PROXY
AZURE SDK
Este script é utilizado para obter o handler WSGI, ativar o ambiente virtual e os logos de erros. O mesmo foi desenhado para ser genérico e não deve ser modificado.
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
RICARDO MENDAO SILVA RMSILVA AT UAL DOT PT
A
S
A
SUPORTE À PROGRAMAÇÃO EM AZURE
AZURE SDK
• Criados os ficheiros anteriormente apresentados, pode ser ainda incluido os ficheiros:
• requirements.txt – define qualquer requisito extra, como por exemplo a versão minima do azure.
• runtime.txt – define o ambiente python-­‐2.7 ou 3.4
• Uma vez criados, os ficheiros devem ser enviados via git (command line), para o Azure, utilizando os comandos fornecidos no momento da criação da web app.
• Ex: •
•
•
•
git init
git add .
git commit -­‐m ”another bug”
git push azure master
A
S
A
THE CUTTING EDGE COURSE
RMSILVA AT UAL DOT PT
CAPÍTULO 4 & 6: HWANG K, DONGARRA J., GEOFFREY F., Distributed and Cloud Computing: From Parallel Processing to the Internet of Things, Morgan Kauffman, 2011

Documentos relacionados