Desenvolvendo software como serviço para negócios

Preview:

DESCRIPTION

A computação na nuvem cria novas oportunidades de negócio, habilitando a exploração de novos segmentos de mercado com novos conceitos de aplicações. Aproveitar estas oportunidades requer uma mudança fundamental no modo de criar, comercializar e entregar soluções de software. O fornecimento de aplicações como serviço apresenta inúmeros desafios como escalabilidade, elasticidade, eficiência econômica, tolerância a falhas, disponibilidade, segurança, privacidade. Nesta apresentação serão compartilhadas lições aprendidas no desenvolvimento de projetos para o Windows Azure com arquitetura orientada a serviços no estilo REST e protocolo OData, implementados em C# com WCF Data Services e Entity Framework, armazenando dados relacionais no SQL Database com particionamento por inquilinos via Federations, armazenamento de objetos binários, processamento assíncrono baseado em mensagens e interface rica no browser em HTML5 e JavaScript. Palestra apresentada no evento BluDotNet abril/2013

Citation preview

• Acesso por Internet

• Compartilhamento de recursos

• Auto-serviço sob demanda

• Elasticidade rápida

• Pagamento conforme o uso

USO COMPARTILHADO E SOB DEMANDA

ARMAZENAMENTO

COMPUTAÇÃO

SERVIÇOS

APLICAÇÕES

Padrõesde uso dacomputaçãoem nuvem

Plataforma de nuvem pública da Microsoft

windowsazure.com

Plataforma em nuvem de nível empresarial

Server Rack 1 Server Rack 2

Serviços de aplicação na nuvem

fornecem software

através da Internet,

sem a necessidade de instalar

e executar o aplicativo

em computadores próprios.

• Poupa tempo

• Economiza dinheiro

• Aumenta o foco no negócio

• Inova mais rapidamente

• Traz segurança

• Melhora o fluxo de caixa

• Traz benefícios fiscais

• Cria uma comunidade

• Modelo de negócio

• Necessidade grande de marketing

• Foco em cliente e serviço

• Feedback mais rápido

• Uma única versão

• Suporte mais eficaz

• Qualidade é fundamental

• Segurança é pré-requisito

• Eficiência

• Escalabilidade

• Elasticidade

• Disponibilidade

• Tolerância a falhas

• Usabilidade

• Conectividade

• Segurança

específico

eficiente

configurável

escalável

Inquilino 1

Instância 1

Inquilino 2

Instância 2

Inquilino 3

Instância 3

Inquilino 1

Instância

Inquilino 2

Instância

Inquilino 3

Instância

Inquilino 1 Inquilino 2

Instância

Inquilino 3 Inquilino 1 Inquilino 2

Balanceador de Carga

Inquilino 3

Instância Instância Instância

Para migrar com sucesso

para a modalidade SaaS

os ISVs tradicionais

têm que mudar fundamentalmente

o seu modo de desenvolver,

vender e entregar

suas soluções de software.

Uma aplicação que não foi projetada para escalar não vai escalar só porque está “na nuvem”.

• Multi-tenant

• Scale out

• Sharding

• Federation

• Stateless services

• Rich clients

• Load balancing

• Asynchronous operations

• Message queues

• Publish/subscribe

Design

Security

Management

Data & Content

Processes

Storage• Relational & transactional data

• Federated databases

• Unstructured, de-normalized data

• Logical partitioning

• Persistent file & blob storage

• Encrypted storage

Connectivity• Message queues

• Service orchestrations

• Identity federation

• Claims-based access control

• External services connectivity

Presentation• ASP.NET C#, PHP, Java

• Distributed in-memory cache

Services• .NET C#, Java, native code

• Distributed in-memory cache

• Asynchronous processes

• Distributed parallel processes

• Transient file storage

SERVICE BUSACCESS

CONTROL

WORK

FLOWS

Otimizada para tirar proveito dos pontos fortes

das plataforma Azure, .NET e HTML5.

Aplicativo Cliente

Serviços de Negócio

SQL Azure Blob Storage

ClienteHTML

CSS

JavaScript

JSON

ServidorOData

WCF Data Services

Entity Framework

SQL Azure

PCs e Laptops

Aplicativo

Cliente

Servidores

Arquivos

estáticos

Serviços de

aplicativo

download

dados

Smartphones

e tablets

Aplicativo

Cliente

dados

download

Serviços de Aplicativo

Serviços de Aplicativo

Processamento de Mensagens

Processamento de Mensagens

Fila de Mensagens

Banco de Dados Federado

SQL SQL SQL

Serviço de Armazenamento

Browser Smartphone Tablet

Recommended