29
Arquitetura e Nuvem: O que muda? Otavio Pecego Coelho Microsoft Brasil [email protected] http://blogs.msdn.com/otavio

08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

  • Upload
    dnad

  • View
    1.241

  • Download
    3

Embed Size (px)

DESCRIPTION

A Computação em Nuvem apresenta novas capacidades e novos desafios para a arquitetura de um software. Por sua vez, desenhar aplicações para Nuvem requer a compreensão e mestria destas capacidades. Esta apresentação irá explorar alguns destes desafios e uso das capacidades tendo o Azure como pano de fundo.

Citation preview

Page 1: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Arquitetura e Nuvem:

O que muda?

Otavio Pecego Coelho

Microsoft Brasil

[email protected]

http://blogs.msdn.com/otavio

Page 2: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Agenda

O que é a Nuvem?

Capacidades da Nuvem

Requisitos de Arquitetura para a Nuvem

Page 3: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

O que é a Nuvem?

Page 4: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Definição

Gartner:

“Um estilo de Computação onde capacidades de TI escaláveis e elásticas são provisionadas como um serviço para múltiplos clientes usando tecnologias da Internet” [Cearley 2009]

NIST - National Institute of Standards and Technology

“Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models.” [http://csrc.nist.gov/groups/SNS/cloud-computing/cloud-def-v15.doc]

(NIST = National Institute of Standards and Technology)

Page 5: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Características (NIST)

On-demand self-service

Acesso amplo à rede

Pool de Recursos

Elasticidade Rápida

Serviço Mensurável

Page 6: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Modelo de Serviços

SaaS Software como Serviço

PaaS Plataforma como Serviço

IaaS Infraestrutura como Serviço

Page 7: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Privado (On-Premise)

Infraestrutura (como Serviço)

Plataforma (como Serviço)

Esforço X Tipo de Serviço na Nuvem

Storage

Server HW

Networking

Servers

Databases

Virtualization

Runtimes

Applications

Security & Integration

Storage

Server HW

Networking

Servers

Databases

Virtualization

Runtimes

Applications

Security & Integration

Storage

Server HW

Networking

Servers

Databases

Virtualization

Runtimes

Applications

Security & Integration

Vo

cê a

dm

inis

tra Ad

min

istrad

o p

/ Terce

iro

Ad

min

istrad

o p

/ Terce

iro

Vo

cê a

dm

inis

tra

Vo

cê a

dm

inis

tra

Page 8: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

TEMPO

CA

PA

CID

AD

E D

A T

I

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

Page 9: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

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

CA

PA

CID

AD

E D

A T

I Previsão de Carga

Page 10: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Evolução X Inovação

• Computação em

Nuvem como

oportunidade de

terceirização

• Foco em:

• Virtualização

• Migração

• Computação em

Nuvem como

oportunidade de

novos Serviços

• Foco em:

• Multi-inquilino

• Computação e

Armazenamen

to Massivos

Convivência:

Federação

Interoperabilidade

Attachments

Page 11: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Armazenar Dados na Nuvem

Estender Aplicativos para a Nuvem

Mover Aplicativos para a Nuvem

Criar Novos Serviços na Nuvem

Criar Novas Soluções

Combinando Serviços da Nuvem

Novos Cenários de Uso

Page 12: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Web Site Público

• Uso do Serviço de forma direta

Interface REST

• Uso por sites externos especializados

SDK de Acesso

• Uso por sites externos simples

Apps móveis

• Cliente simples para uso em todo lugar

Apps Sociais

• Integração e Mkt via com a rede social

Nova Dinâmica para Aplicativos

Page 13: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Novas Categorizações de Aplicativos

Page 14: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Capacidades da Nuvem

Page 15: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Arquitetura da Nuvem

Iden

tida

de

Computação

Prov

isio

nam

ento

Load Balancer/Firewall/Proxies

Mon

itor

ação

/Mee

teri

ng

VPN

Cache Geográfico

Data Mkt

Serv

iço

de N

omes

ISB

Fila

s

Blo

bs

Tabe

las

Dis

cos

Cache Interno

Ban

co

Rela

tóri

o

BI

Sinc

Bac

kup

MapReduce

Ger

ênci

ade

Cer

tifi

cado

s

Port

al d

e Se

rviç

os

Cobr

ança

e Pa

gam

ento

s

Page 16: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Storage Unstructured

Data Blobs

Message

Queues

Distributed

Filesystem

Content

Distribution

Data Transact-SQL Data

Synchronization

Relational

Database

SQL Azure

Reporting

Connectivity

Security Claims-Based

Identity

Federated

Identities

Secure Token

Service

Declarative

Policies

Application Services Application

Marketplace

Information

Marketplace

Personal Data

Repository

Frameworks Workflow

Hosting

Distributed

Cache

Services

Hosting

Exemplo Azure: Capacidades

Compute C / C++ Win32 VHD

On-Premise

Bridging

Composite

Applications Service Bus

Traffic

Manager

Page 17: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Exemplo: Windows Azure

Desktop

VS Tools

WA SDK

Sto

rage

Clu

ster

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

Page 18: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Requisitos de Arquitetura

para a Nuvem

Page 19: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Controle sobre a topologia da

rede e sobre as máquinas

Controle limitado sobre portas e

IPs

Banda consistente com latência

previsível

Controle sobre aIdentificação da

Máquina

Nomes das máquinas podem

mudar toda vez que uma máquina

inicia

Controle limitado sobre o tempo

de vida - Estado torna-se

transiente

Controle sobre o tempo de vida

da máquina

Banda e latência variável

Estado Corrente

Windows Azure

Exemplo de Impactos

Controle

Admin

Latência

Volatilidade

Identificação

Page 20: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Novos Princípios – Exemplo Netflix 1. Os serviços são stateless,

por não armazenarem estados nos servidores a falha deles não é tão impactante para o usuário final;

2. Os dados são armazenados em várias geografias aumentando a disponibilidade através da “redundância”;

3. O sistema foi projetado para falhar, usando princípios como: 1. “Falhar rápido” com timeouts curtos que fazem os processos caírem

se os tempos não forem obedecidos;

2. “Recuo” (“fallback”): se uma funcionalidade não pode ser mostrada, outra de menor qualidade/funcionalidade pode entrar em ação e substituí-la;

3. “Remoção de funcionalidades”: se uma funcionalidade não é importante e há problemas de desempenho, ela pode ser desativada temporariamente;

4. Redundância N+1: alocam-se sempre mais recursos do que necessário para uma reserva de capacidade;

5. Uso de consistência eventual: nada de sistemas relacionais para armazenamento

Page 21: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Requisitos de Arquitetura para Aplicativos

para Milhões de Usuários

Design

Escalabilidade Horizontal

Composição Orientada a Serviço

Consistência Eventual

Tolerância a Falhas (conte com as falhas)

Segurança

Autenticação Baseada em Declarações & Controle

de Acesso

Identidade Federada

Criptografia de Dados e gerência de chaves

Gerenciamento

Automação dirigida a políticas (Policy-driven)

Apoia o ciclo de vida dos aplicativos

Trata esquemas dinâmicos e mudanças de

configuração

Dados & Conteúdo

De-normalização

Particionamento Lógico

Cache distribuído em memória

Opções diversas de armazenamento (persistente

& transiente, relacional & não estruturado, texto

& binário, read & write, etc.)

Processos

Componentes Fracamente acoplados

Processamento paralelo e distribuído

Comunicação distribuída e assíncrona

Idem-potência (trata duplicidade)

Isolamento (separação de responsabilidades)

Page 22: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Patterns Fundamentais

Page 23: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Patterns Fundamentais

P1 P2 P3

Page 24: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Patterns Fundamentais

Page 25: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Migração?

Page 26: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?
Page 27: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Aplicação Exemplar – aExpense

Page 28: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?

Pontos para Lembrar

A Nuvem é uma ótima oportunidade

Migração

Novos tipos de Aplicativos

Ela exige princípios arquiteturais e cuidados arquiteturais diferentes

Leia e teste – já há muito material

http://www.microsoft.com/windowsazure/whitepapers/

http://www.microsoft.com/windowsazure/tutorials/#

http://msdn.microsoft.com/en-us/library/ff966499.aspx

http://msdn.microsoft.com/en-us/library/ff728592.aspx

Page 29: 08 - Otavio Pecego - Arquitetura e nuvem: o que muda?