O documento fornece um resumo sobre arquitetura de aplicações web, discutindo a evolução das plataformas de aplicações, os principais componentes de uma plataforma como desenvolvimento, integração e serviços de infraestrutura, e apresentando um modelo de referência para construção de aplicações web escaláveis.
Providenciar Uma Plataforma De AplicaçõEs De Alta Performance Para Aplicações Web
1. WEBCAST DE ARQUITETURA
Providenciar uma Plataforma de
Aplicações de alta performance para
Aplicações Web
Markus Christen
IT Architect -Developer & Platform Evangelism Microsoft
http://blogs.technet.com/MarkusChristen
http://channel9.msdn.com/brasil
http://twitter.com/MarkusChristen
1
3. Evolução da Plataforma de Aplicações
Host Systems PC System Client Server Internet-Enabled Composite /
Early – mid 1980s Late 1980s – mid 1990s Late 1980s – mid 1990s Mid 1990s Services-Based.
Timeshared Personal
Operating Computer Internet The Cloud
Systems ASCI
Batch
Processing Personal SaaS
Client &
Operating Computer
Server S+S
Systems GUI
Computacão Centralizada Computacão Distribuída
Evolução da Plataforma de Aplicacões
4. Estratégia
O objetivo principal da Estratégia de Negócio é criar
vantagens competitivas
A essência dessa vantagem e “Ser Diferente”
Todas as estratégias de negócios dependem na TI
5. Benefício da Inovação
Primeira empresa numa indústria
implementa uma inovação
Segunda empresa numa
Vantagem indústria implementa uma
Competitiva inovação
Terceira empresa numa
indústria implementa uma
inovação
Tempo
6. A conexão...
Entre a estratégia de negócio e a plataforma de aplicações
TI deve apoiar a estratégia escolhida
Maior parte dos investimentos estratégicos de IT são
gastos em aplicativos corporativos customizados
Aplicativos corporativos dependem de uma Plataforma
de Aplicações que:
Redução de Custos Operacionais
Redução de Tempo – “TM”
8. Plataforma de Aplicações
Definição Genérica
Serviços de Infraestrutura
Ferramentas de
Desenvolvimento Armazenamento
Integração
Identidades
Aplicação
...
Suporte local Aplicações
Sistema Operacional
Serviços
Fundamento
Usuários
* Baseado na Apresentação do David Chapell
9. Plataforma de Aplicações
Visão simplificada
Visual Studio
Aplicação
BizTalk Server .NET Framework SQL Server
Windows Operating System
Outras Aplicações Dados
* Baseado na Apresentação do David Chapell
11. Plataforma de Aplicações
Visão do mercado: “Core Components”
Desenvolvimento Integração
SDLM & ALM Enterprise Service Bus
Linguagens de Programação Message Broker
Servidor de Aplicação Gerenciamento de Dados
Application Server Database Server
Process Server Business Intelligence
Gerenciamento de TI Serviços de Infraestrutura
Monitoramento Computação na Nuvem
Gerenciamento Virtualização
12. Plataforma de Aplicações
Componentes -> Exemplo de Capacidades
• Ferramentas de Modelagem
• Ferramentas de Desenvolvimento
• Ferramentas de Teste & Desempenho
Desenvolvimento • Gerenciamento de Portfólio de Aplicações
• Plataforma de Colaboração
• Linguagens de Programação
• “Frameworks” de Desenvolvimento
• Ferramentas de Modelagem / BPM
• Ferramentas de Administração
• Repositório & Registro
Integração
• Roteamento Dinâmico
• Transformação Dinâmico
13. Plataforma de Aplicações
Componentes -> Exemplo de Capacidades
• Ferramentas de Administração
• Contêiner de hospedagem de
• Gerenciamento “Life-cycle / Scheduling”
Servidor de Aplicação • Gerenciamento de Concorrência
• Gerenciamento de Desempenho
• Gerenciamento de Segurança
• Gerenciamento de Transações
• Ferramentas de Administração
• Master Data Management
• Banco de Dados
Gerenciamento de Dados • “Dataware House”
• “Business Inteligence”
• “Reporting Services”
14. Plataforma de Aplicações
Componentes -> Exemplo de Capacidades
• Ferramentas de Administração
• Gerenciamento da disponibilidade
Gerenciamento de TI • Gerenciamento do desempenho
• Gerenciamento de capacidade
• Gerenciamento de configurações
• Serviços de Virtualização
Serviços de Infraestrutura • Cloud Computing (Private & Public)
15. Plataforma de Aplicações
Modelo de Referencia – Plataforma de Aplicações
Business Intelligence
Web Application Service RIA
Architecture
Presentation Services Browser / Mobile Browser / Mobile Browser / Mobile
Provides a set of capabilities for rendering
rich user experience across a variety of Portal Desktop Application Desktop Application
devices and clients
RIA RIA Dashboard & Reporting
Information Services Session Management Data Access Data Mining
Provides a set of services for accessing,
aggregating, analyzing and rendering data User Profiles Data Analysis OLAP
RIA Search Search
Process Services Workflow & Business Rules
Provide a set of services for managing
workflow, collaboration and structured Business Process Orchestrations
and unstructured business process
Collaboration
O
Connectivity Services ESB
Provide a set of services for integrating existing
EAI
application systems
Messaging
Identity and Access
Infrastructure Services Management
Provide a set of generic services for the
Hosting Management
applications
Networking Services
System Management
Data Protection Services
Development Services
ALM Services
Provide a set of generic services for the
application development life cycle (ALM)
16. Plataforma de Aplicações
Serviços de Apresentação
• Browser / Mobile • Desktop Application • Frameworks
• Silverlight • WinForms • RIA Services
• ASP.Net / Ajax • WPF • PRISM
• WPF • Silverlight • ..
• MVC • ..
• ..
• Portal
• SharePoint Portal Server
• Internet Information Service
• ..
17. Plataforma de Aplicações
Serviços de Informação
• Session Management • Data Access • Master Data
• SQL Server • ADO.Net • Master Data Hub
• Velocity Framework • Linq
• Dublin
• Data Analysis • Data Warehouse
• MDX • .Banco de Dados
• Search • Cube Designer
• Index Service • Integration Services
• Search Service • Reporting Services • Connectors
• Fast Search • Report Designer • ETL / DTS
18. Plataforma de Aplicações
Serviços de Processos
Process Services Workflow & Business Rules
Provide a set of services for managing
workflow, collaboration and structured Business Process Orchestrations
and unstructured business process
Collaboration
• Workflow & Business Rules • Collaboration
• WF • Document Management
• BizTalk “BRE” • Office Communication service
• Business Rule Policy • SharePoint Portal
• Business Process Orchestrations
• BPM Modeling…
19. Plataforma de Aplicações
Serviços de Conectividade
Connectivity Services ESB
Provide a set of services for integrating existing
EAI
application systems
Messaging
• ESB • Messaging
• BizTalk Server 2009 • Windows Communication Foundation
• BizTalk ESB Toolkit 2.0 • Windows Message Queue
• Enterprise UDDI Services • Instant Messaging
• Windows Communication • E-Mail
Foundation • Unified Messaging
• EAI • BITS
• BizTalk Server 2009
• BizTalk LOB Adapters
• SQL Server/ SQL Broker
• Windows Communication
Foundation
20. Plataforma de aplicações
Servicos de Infraestrutura
Identity and Access
Infrastructure Services Management
Provide a set of generic services for the
Hosting Management
applications
Networking Services
System Management
Data Protection Services
• Identity Access Management • Network Services • Data Protection Services
• Criptografia • TCP/IP • NT-Backup
• Autenticação • FTP • System Center Suite
• Autorização • DHCP • Cluster Service...
• “Active Directory (LDAP)” • DNS / WINS • Transaction Processing
• “Authorization Manager” • NLBS • DTC (MTS)
• SMNP / FS... • Task Scheduler..
• Hosting Management
• “Internet Information Services” • System Management
• “Windows Activation Service” • Windows Performance Monitor
• “NT Service” • System Center Suite...
• “Dublin”
21. Plataforma de Aplicações
Serviços de Desenvolvimento
• ALM / SDLM • Programming Languages
• Visual Studio 2008 • C# / F#
• Expression Suites • Visual Basic
• Team Foundation Server
• Frameworks
• .Net Framework
23. Topologia Básica Aplicação Web
IIS 7.0 ADO.NET
Dublin EventLog SQL Server
WCF Perfmon Reporting
WF SystemCenter OLAP
EntLib
Aplicação Web DB
Camada de
Browser Network Lógica da
Hospedagem Acesso a
Aplicação
Dados
DNS ADS
TCP/IP
IIS 7.0 IPSEC
WAS/ Dublin
SystemCenter
Internet Explorer TCP/IP
Silverlight IPSEC
ASP.NET
TCP/IP
HTTP/S
24. Topologia Infraestrutura
Browser
Web Farm. Produção
Hospedagem Hospedagem Hospedagem Hospedagem
Web. Tier
Cache Tier
System Center
Dublin & Velocity “In-memory “ Cache cluster
Aplicação Aplicação Aplicação Aplicação
App. Tier
SQL Cluster
Data Tier
25. Usa Windows 2008 R2 64 Bits
Core Server
Virtualizado com Hyper-V
Usa Output Caching (Kernel ou UserMode)
FileCacheModule
HTTPCacheModule
TokenCacheModule
26. Usa a extensão“Application Request Routing”
Usa a extensão “Application Warm-Up
Usa “Enhanced Bandwidth Compression”
DynamicCompressionModule
StaticCompressionModule
Customização do Servidor
App.Host.Config (Modules)
Usa “Centralized Web Farm Management”
Usa Hardware adequda
Instala NICs per tipo de trafego de rede
27. Worker Process
Não cria muitos processos separados
Compartilha o mesmo processo com as mesmas
aplicações (Site)
Separa aplicações instáveis em um processo separado
Usa “Web Gardens – Multiple CPU’s” só para
aplicações que não usam statefull sessions no
processo
28. Production Farm
Internet
Load balancing
Replication and sync
Staging Farm
Package
Developer
Team Foundation Server
29. Usa Windows 2008 R2 Core Server
Usa o contêiner WA ou Dublin
Customização do Servidor (App.Host.Config)
Balanceamento: NLBS com Net.TCP Binding (Lease
Timeout 0)
30. Dublin adds
Windows/IIS/.NET 4.0
OSLO IIS Manager
App Server SCOM Pack
Model Deployment WF and WCF Management
to Dublin Modules (GUI)
Management APIs (PowerShell command-lets)
Hosting Persistence Monitoring
System Center
Discovery & Scale-out & Application
Control Reliability Monitoring
Runtime Databases
WF and WCF Frameworks
IIS/WAS
Windows Application Server Role
32. Planejamento Desenvolvimento
Identificar Governança do Ciclo de
desenvolvimento
Analisar Serviços
Arquitetura
Criar portfólio de
Desenvolvimento
Alinhar com portfólio de
projetos Testes
Implementação
Operacional
Automatização
Monitoramento
Monitoramento de
Exceções
Monitoramento de
Serviços
Relatórios Analíticos
Monitoramento SLA
33. Considerações gerais
Uma plataforma de aplicações precisa trabalhar
bem em ambas fases:
A fase de estratégica requer:
Desenvolvimento Ágil
Tecnologias Disponíveis (Reuso)
A fase operacional requer:
Infraestrutura Otimizada
Infraestrutura Desacoplada
Infraestrutura Integrada