SlideShare uma empresa Scribd logo
1 de 16
Cloud Computing
patterns & practices
V 1.0
Alan Carlos, Cloud Specialist
RESILIÊNCIACAPACIDADE DE VOLTAR AO SEU
ESTADO NATURAL, APÓS
ALGUMA SITUAÇÃO CRÍTICA E
FORA DO
COMUM
 Implante várias instâncias de serviços e recursos da sua aplicação,
evitando-se pontos de falhas únicos.
 Arquitete seu aplicativo para que ele possua o mínimo de dependências
possíveis (de aplicações ou plataformas terceiras) e que as mesmas sejam
bem definidas.
 Module seu aplicativo em features conforme a criticidade e nível de
serviço, oportunizando o reestabelecimento do funcionamento de seu
aplicativo pelo time de Operações, apenas do que é mais critico.
Patterns & practices
Disponibilidade
 Repita operações de forma consistente, quando um recurso apresentar
uma falha momentânea.
 Decomponha sua aplicação em bancos de dados diferentes, como
configuração, processamento e armazenamento, utilizando-se de tabelas
separadas também, com o mínimo possível de relacionamento,
oportunizando um backup consistente, com planos diferenciados e
garantia de DR efetiva.
Patterns & practices
Disponibilidade
 Utilize agentes de mensagens com semântica (N + 1) gerando alta
disponibilidade no processamento de dados críticos, evitando-se perdas.
Por exemplo: serviços de barramento de mensagens.
 Projete seu aplicativo para trabalhar com enfileiramento de mensagens,
novas tentativas, momentos de picos, paralelismo de processamento,
“auto degradação”, processamento lento, conseguindo gerar retornos de
mensagens entre si e integrações com outros aplicativos para que ele
possa estar preparado para ambientes elásticos, ou seja, que aumentam
seus recursos conforme a necessidade de mais processamento ou
quando há picos.
Patterns & practices
Disponibilidade
 Sempre que possível, utilize técnicas de aplicação de updates e correções
de sua aplicação sem a necessidade do reinicio de instâncias, serviços ou
sistemas operacionais.
 Considere o estudo da plataforma em que seu aplicativo irá trabalhar,
inclusive as opções atuais de DR (Disaster Recovery) e HA (High
Available), custos para implantação e realidades de uso para o seu
negócio, trazendo para seu aplicativo a capacidade de recuperação sem
necessidades de FCI (Failover Cluster Instances), NBL (Network Load
Balancing), ou similar.
Patterns & practices
Disponibilidade
 Divida a carga de trabalho de sua aplicação em serviços, threads,
executores, tarefas, pensando em distribuição de carga entre ambientes,
como sistemas operacionais distintos
 Projete seu aplicativo para trabalhar com o redimensionamento de
recursos, como o aumento de processos dentro de um Web Farm,
aumento de paralelismo de processamento de um banco de dados, bem
como a redução dos mesmos.
 Arquitete sua aplicação para responder a definições de unidades de
escala a serem usadas para definir o uso de recursos.
Patterns & practices
Escalabilidade
 Sempre que possível, evite a afinidade de cliente, dando a opção das
operações serem roteadas para qualquer instância.
 Projete sua aplicação para trabalhar com prioridades e tarefas em
segundo plano. Evite que tarefas menos importantes, consumam os
recursos de E/S e CPU de tarefas essenciais para um funcionamento
adequado de sua aplicação.
 Considere o estudo da prática “Nada Compartilhado”. Por exemplo, evitar
o uso do estado de sessão do servidor, afinidade de cliente e
particionamento de dados são bons exemplos.
Patterns & practices
Escalabilidade
 Projete sua aplicação para trabalhar com retenção de dados a longo
prazo, operando-os em locais distintos ao de processamento e consultas
mais atuais. Assim, além de dar condições de um processamento mais
eficiente de sua aplicação, oportunizará a guarda dos dados antigos em
locais de retenção a longo prazo e baixo consumo, tornando seu
aplicativo com um custo mais atrativo para armazenamento em nuvem e
onpremise no cliente.
 Minimize o volume de dados recuperados, especificando colunas e
critérios bem definidos de consulta. Busque boas práticas de consultas
para não impactar no aprendizado de sistemas como SGBD.
Patterns & practices
Escalabilidade
 Use caching sempre que possível para reduzir o custo de carga de
serviços e recursos.
 Otimize e ajuste consultas e índices SQL. Algumas instruções ou
construções T-SQL podem ter um impacto no desempenho que pode ser
reduzido otimizando-se o código em um procedimento armazenado. Por
exemplo, evite a conversão de tipos datetime em varchar antes de
comparar com um valor literal datetime.
 Considere seu aplicativo assumir em gerenciar a integridade referencial
de dados tornando a organização mais assertiva e confiável.
Patterns & practices
Escalabilidade
 Considere usar chamadas assíncronas para acessar recursos e serviços.
Lembre-se que diversos ambientes podem apresentar latência de
comunicação e afunilamento de recursos.
 “Empodere” o administrador de seu aplicativo no gerenciamento de
escalabilidade dando opções como: compactação de dados em locais de
alta latência e link reduzido, definição de números de threads de
processamento de serviços, tempo de conexão, tempo de espera de
processamento.
 Minimize o uso de conexões e recursos o máximo possível.
Patterns & practices
Escalabilidade
 Evite armazenar estado de sessão no servidor.
 Envie dados em lotes.
 Minimize o uso de conexões e recursos o máximo possível.
 Execute testes de perfil e desempenho constantemente.
 Considere utilizar um sistema de monitoramento para avaliar a
disponibilidade de um recurso, integração com terceiros, serviços,
inclusive disponibilizar esse “farol” ao seu administrador.
Patterns & practices
Escalabilidade
 Sempre que possível, desenvolva sua aplicação com o menos de
dependência possível de uso de usuários administrativos ou de sistema.
 Considere em sua aplicação o uso de configurações via Web App, WMI
ou similar, sem a necessidade de configuração direta na console dos
servidores.
 Considere a implantação de logs de rastreio em ações ou atividades que
possuem um SLA de segurança elevado, como criação de novos logins,
mudanças de perfil de usuários, transações financeiras.
Patterns & practices
Segurança
 Considere usar perfis de usuários e senhas distintas e quando necessário,
com opções de complexidade elevada, dificultando assim, o acesso
indevido.
 Considere utilizar criptografia nas transações e armazenamento de dados
de sua aplicação.
 Considere o uso de portas de acesso TCP/UDP randômicas ou
alternativas aos padrões mundiais (HTTP/80), atendendo assim normas de
clientes e empresas com SLA de segurança elevados.
Patterns & practices
Segurança
Patterns & practices
Guias de Apoio
 Patterns & Practices – Microsoft Azure
 Cloud Controls Matrix – Cloud Security Alliance
 Cloud: IaaS, PaaS e SaaS
Obrigado.

Mais conteúdo relacionado

Semelhante a Cloud Computing: Resiliência, Disponibilidade, Escalabilidade e Segurança

9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stv9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stvwilson_lucas
 
Oda vp-of-it-white-pape-br-3448121-ptb
Oda vp-of-it-white-pape-br-3448121-ptbOda vp-of-it-white-pape-br-3448121-ptb
Oda vp-of-it-white-pape-br-3448121-ptbFran Gurgel
 
[Workshop] Azure Fundamentals
[Workshop] Azure Fundamentals[Workshop] Azure Fundamentals
[Workshop] Azure FundamentalsJaqueline Ramos
 
Iniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWSIniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWSAmazon Web Services LATAM
 
Computacao em nuvem windows azure
Computacao em nuvem   windows azureComputacao em nuvem   windows azure
Computacao em nuvem windows azureRodrigo Vidal
 
Provedor de nuvem - Cloud Providers
Provedor de nuvem - Cloud Providers Provedor de nuvem - Cloud Providers
Provedor de nuvem - Cloud Providers fcdigital
 
Implementando Distribuicao de Sistemas WEB Com NGINX - Fernando Henrique Eise...
Implementando Distribuicao de Sistemas WEB Com NGINX - Fernando Henrique Eise...Implementando Distribuicao de Sistemas WEB Com NGINX - Fernando Henrique Eise...
Implementando Distribuicao de Sistemas WEB Com NGINX - Fernando Henrique Eise...PotiLivre Sobrenome
 
Guia de compras - Microsoft Azure
Guia de compras - Microsoft AzureGuia de compras - Microsoft Azure
Guia de compras - Microsoft AzureRenato Grau
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud ComputingiMasters
 
Boas práticas de arquitetura e operações
Boas práticas de arquitetura e operaçõesBoas práticas de arquitetura e operações
Boas práticas de arquitetura e operaçõesAmazon Web Services LATAM
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de MicroservicesDeep Tech Brasil
 
AWS Initiate week 2020 - Adoção de Nuvem com AWS ProServe
AWS Initiate week 2020 - Adoção de Nuvem com AWS ProServeAWS Initiate week 2020 - Adoção de Nuvem com AWS ProServe
AWS Initiate week 2020 - Adoção de Nuvem com AWS ProServeAmazon Web Services LATAM
 
Hexagonal Rails
Hexagonal RailsHexagonal Rails
Hexagonal RailsLuiz Costa
 

Semelhante a Cloud Computing: Resiliência, Disponibilidade, Escalabilidade e Segurança (20)

9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stv9.cloud computing v3.1_wl_stv
9.cloud computing v3.1_wl_stv
 
Oda vp-of-it-white-pape-br-3448121-ptb
Oda vp-of-it-white-pape-br-3448121-ptbOda vp-of-it-white-pape-br-3448121-ptb
Oda vp-of-it-white-pape-br-3448121-ptb
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Computacao em nuvem
Computacao em nuvemComputacao em nuvem
Computacao em nuvem
 
[Workshop] Azure Fundamentals
[Workshop] Azure Fundamentals[Workshop] Azure Fundamentals
[Workshop] Azure Fundamentals
 
Architecture performance using micro services
Architecture performance using micro servicesArchitecture performance using micro services
Architecture performance using micro services
 
Iniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWSIniciando com serviços de bancos de dados gerenciados na AWS
Iniciando com serviços de bancos de dados gerenciados na AWS
 
Otimizacao de custo summit 2015
Otimizacao de custo summit 2015Otimizacao de custo summit 2015
Otimizacao de custo summit 2015
 
Computacao em nuvem windows azure
Computacao em nuvem   windows azureComputacao em nuvem   windows azure
Computacao em nuvem windows azure
 
Provedor de nuvem - Cloud Providers
Provedor de nuvem - Cloud Providers Provedor de nuvem - Cloud Providers
Provedor de nuvem - Cloud Providers
 
Implementando Distribuicao de Sistemas WEB Com NGINX - Fernando Henrique Eise...
Implementando Distribuicao de Sistemas WEB Com NGINX - Fernando Henrique Eise...Implementando Distribuicao de Sistemas WEB Com NGINX - Fernando Henrique Eise...
Implementando Distribuicao de Sistemas WEB Com NGINX - Fernando Henrique Eise...
 
Guia de compras - Microsoft Azure
Guia de compras - Microsoft AzureGuia de compras - Microsoft Azure
Guia de compras - Microsoft Azure
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Could Computing
Could ComputingCould Computing
Could Computing
 
Boas práticas de arquitetura e operações
Boas práticas de arquitetura e operaçõesBoas práticas de arquitetura e operações
Boas práticas de arquitetura e operações
 
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
[DTC21] Thiago Lima - Do Zero ao 100 no Mundo de Microservices
 
Apostila Oracle 10g
Apostila Oracle 10gApostila Oracle 10g
Apostila Oracle 10g
 
AWS Initiate week 2020 - Adoção de Nuvem com AWS ProServe
AWS Initiate week 2020 - Adoção de Nuvem com AWS ProServeAWS Initiate week 2020 - Adoção de Nuvem com AWS ProServe
AWS Initiate week 2020 - Adoção de Nuvem com AWS ProServe
 
Hexagonal Rails
Hexagonal RailsHexagonal Rails
Hexagonal Rails
 

Mais de Alan Carlos

Jovens Empreendedores - StartUps
Jovens Empreendedores - StartUpsJovens Empreendedores - StartUps
Jovens Empreendedores - StartUpsAlan Carlos
 
Alfabetização Digital
Alfabetização DigitalAlfabetização Digital
Alfabetização DigitalAlan Carlos
 
TechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOpsTechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOpsAlan Carlos
 
TechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test ManagerTechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test ManagerAlan Carlos
 
Workshop - Plano de Testes End to End com o Microsoft Test Manager
Workshop   - Plano de Testes End to End com o Microsoft Test ManagerWorkshop   - Plano de Testes End to End com o Microsoft Test Manager
Workshop - Plano de Testes End to End com o Microsoft Test ManagerAlan Carlos
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de SegurançaAlan Carlos
 
ALM e Operações - Workshop - Como Diagnosticar um Incidente
ALM e Operações - Workshop - Como Diagnosticar um IncidenteALM e Operações - Workshop - Como Diagnosticar um Incidente
ALM e Operações - Workshop - Como Diagnosticar um IncidenteAlan Carlos
 
Operações - Base de Conhecimento - Parte 02
Operações - Base de Conhecimento - Parte 02Operações - Base de Conhecimento - Parte 02
Operações - Base de Conhecimento - Parte 02Alan Carlos
 
Operações - Base de Conhecimento - Parte 01
Operações - Base de Conhecimento - Parte 01Operações - Base de Conhecimento - Parte 01
Operações - Base de Conhecimento - Parte 01Alan Carlos
 
ALM Summit - DevOps - VSALM e System Center Um Casamento de Sucesso
ALM Summit - DevOps - VSALM e System Center Um Casamento de SucessoALM Summit - DevOps - VSALM e System Center Um Casamento de Sucesso
ALM Summit - DevOps - VSALM e System Center Um Casamento de SucessoAlan Carlos
 
Geração Tec - Help Desk - Tenha um Helpdesk de Qualidade
Geração Tec - Help Desk - Tenha um Helpdesk de QualidadeGeração Tec - Help Desk - Tenha um Helpdesk de Qualidade
Geração Tec - Help Desk - Tenha um Helpdesk de QualidadeAlan Carlos
 
Geração TEC - Help Desk - Fundamentos do ITIL - IR, CR e Problemas, Medição ...
Geração TEC -  Help Desk - Fundamentos do ITIL - IR, CR e Problemas, Medição ...Geração TEC -  Help Desk - Fundamentos do ITIL - IR, CR e Problemas, Medição ...
Geração TEC - Help Desk - Fundamentos do ITIL - IR, CR e Problemas, Medição ...Alan Carlos
 
Geração Tec - Help Desk - Principais Ferramentas Técnicas e Erros Comuns
Geração Tec  - Help Desk - Principais Ferramentas Técnicas e Erros ComunsGeração Tec  - Help Desk - Principais Ferramentas Técnicas e Erros Comuns
Geração Tec - Help Desk - Principais Ferramentas Técnicas e Erros ComunsAlan Carlos
 
Geração Tec Help Desk - Base de Conhecimento, Scripts e Estratégias de Aten...
Geração Tec   Help Desk - Base de Conhecimento, Scripts e Estratégias de Aten...Geração Tec   Help Desk - Base de Conhecimento, Scripts e Estratégias de Aten...
Geração Tec Help Desk - Base de Conhecimento, Scripts e Estratégias de Aten...Alan Carlos
 
Geração TEC - Help Desk - Hardwares e Sistemas Operacionais
Geração TEC - Help Desk - Hardwares e Sistemas OperacionaisGeração TEC - Help Desk - Hardwares e Sistemas Operacionais
Geração TEC - Help Desk - Hardwares e Sistemas OperacionaisAlan Carlos
 
Geração TEC Help Desk - Hardwares e Sistemas Operacionais
Geração TEC Help Desk - Hardwares e Sistemas OperacionaisGeração TEC Help Desk - Hardwares e Sistemas Operacionais
Geração TEC Help Desk - Hardwares e Sistemas OperacionaisAlan Carlos
 
Geração TEC - Help Desk - Ambientes e Sistemas
Geração TEC - Help Desk - Ambientes e SistemasGeração TEC - Help Desk - Ambientes e Sistemas
Geração TEC - Help Desk - Ambientes e SistemasAlan Carlos
 
ALM - Visual Studio - Indicadores - Como Usar
ALM - Visual Studio - Indicadores - Como UsarALM - Visual Studio - Indicadores - Como Usar
ALM - Visual Studio - Indicadores - Como UsarAlan Carlos
 
Apresentação - IT Specialist
Apresentação - IT SpecialistApresentação - IT Specialist
Apresentação - IT SpecialistAlan Carlos
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes ExploratóriosAlan Carlos
 

Mais de Alan Carlos (20)

Jovens Empreendedores - StartUps
Jovens Empreendedores - StartUpsJovens Empreendedores - StartUps
Jovens Empreendedores - StartUps
 
Alfabetização Digital
Alfabetização DigitalAlfabetização Digital
Alfabetização Digital
 
TechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOpsTechNet Wiki Summit 2015 - DevOps
TechNet Wiki Summit 2015 - DevOps
 
TechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test ManagerTechNet - e-Book- Artigos sobre Test Manager
TechNet - e-Book- Artigos sobre Test Manager
 
Workshop - Plano de Testes End to End com o Microsoft Test Manager
Workshop   - Plano de Testes End to End com o Microsoft Test ManagerWorkshop   - Plano de Testes End to End com o Microsoft Test Manager
Workshop - Plano de Testes End to End com o Microsoft Test Manager
 
Workshop - Testes de Segurança
Workshop - Testes de SegurançaWorkshop - Testes de Segurança
Workshop - Testes de Segurança
 
ALM e Operações - Workshop - Como Diagnosticar um Incidente
ALM e Operações - Workshop - Como Diagnosticar um IncidenteALM e Operações - Workshop - Como Diagnosticar um Incidente
ALM e Operações - Workshop - Como Diagnosticar um Incidente
 
Operações - Base de Conhecimento - Parte 02
Operações - Base de Conhecimento - Parte 02Operações - Base de Conhecimento - Parte 02
Operações - Base de Conhecimento - Parte 02
 
Operações - Base de Conhecimento - Parte 01
Operações - Base de Conhecimento - Parte 01Operações - Base de Conhecimento - Parte 01
Operações - Base de Conhecimento - Parte 01
 
ALM Summit - DevOps - VSALM e System Center Um Casamento de Sucesso
ALM Summit - DevOps - VSALM e System Center Um Casamento de SucessoALM Summit - DevOps - VSALM e System Center Um Casamento de Sucesso
ALM Summit - DevOps - VSALM e System Center Um Casamento de Sucesso
 
Geração Tec - Help Desk - Tenha um Helpdesk de Qualidade
Geração Tec - Help Desk - Tenha um Helpdesk de QualidadeGeração Tec - Help Desk - Tenha um Helpdesk de Qualidade
Geração Tec - Help Desk - Tenha um Helpdesk de Qualidade
 
Geração TEC - Help Desk - Fundamentos do ITIL - IR, CR e Problemas, Medição ...
Geração TEC -  Help Desk - Fundamentos do ITIL - IR, CR e Problemas, Medição ...Geração TEC -  Help Desk - Fundamentos do ITIL - IR, CR e Problemas, Medição ...
Geração TEC - Help Desk - Fundamentos do ITIL - IR, CR e Problemas, Medição ...
 
Geração Tec - Help Desk - Principais Ferramentas Técnicas e Erros Comuns
Geração Tec  - Help Desk - Principais Ferramentas Técnicas e Erros ComunsGeração Tec  - Help Desk - Principais Ferramentas Técnicas e Erros Comuns
Geração Tec - Help Desk - Principais Ferramentas Técnicas e Erros Comuns
 
Geração Tec Help Desk - Base de Conhecimento, Scripts e Estratégias de Aten...
Geração Tec   Help Desk - Base de Conhecimento, Scripts e Estratégias de Aten...Geração Tec   Help Desk - Base de Conhecimento, Scripts e Estratégias de Aten...
Geração Tec Help Desk - Base de Conhecimento, Scripts e Estratégias de Aten...
 
Geração TEC - Help Desk - Hardwares e Sistemas Operacionais
Geração TEC - Help Desk - Hardwares e Sistemas OperacionaisGeração TEC - Help Desk - Hardwares e Sistemas Operacionais
Geração TEC - Help Desk - Hardwares e Sistemas Operacionais
 
Geração TEC Help Desk - Hardwares e Sistemas Operacionais
Geração TEC Help Desk - Hardwares e Sistemas OperacionaisGeração TEC Help Desk - Hardwares e Sistemas Operacionais
Geração TEC Help Desk - Hardwares e Sistemas Operacionais
 
Geração TEC - Help Desk - Ambientes e Sistemas
Geração TEC - Help Desk - Ambientes e SistemasGeração TEC - Help Desk - Ambientes e Sistemas
Geração TEC - Help Desk - Ambientes e Sistemas
 
ALM - Visual Studio - Indicadores - Como Usar
ALM - Visual Studio - Indicadores - Como UsarALM - Visual Studio - Indicadores - Como Usar
ALM - Visual Studio - Indicadores - Como Usar
 
Apresentação - IT Specialist
Apresentação - IT SpecialistApresentação - IT Specialist
Apresentação - IT Specialist
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
 

Cloud Computing: Resiliência, Disponibilidade, Escalabilidade e Segurança

  • 1. Cloud Computing patterns & practices V 1.0 Alan Carlos, Cloud Specialist
  • 2. RESILIÊNCIACAPACIDADE DE VOLTAR AO SEU ESTADO NATURAL, APÓS ALGUMA SITUAÇÃO CRÍTICA E FORA DO COMUM
  • 3.  Implante várias instâncias de serviços e recursos da sua aplicação, evitando-se pontos de falhas únicos.  Arquitete seu aplicativo para que ele possua o mínimo de dependências possíveis (de aplicações ou plataformas terceiras) e que as mesmas sejam bem definidas.  Module seu aplicativo em features conforme a criticidade e nível de serviço, oportunizando o reestabelecimento do funcionamento de seu aplicativo pelo time de Operações, apenas do que é mais critico. Patterns & practices Disponibilidade
  • 4.  Repita operações de forma consistente, quando um recurso apresentar uma falha momentânea.  Decomponha sua aplicação em bancos de dados diferentes, como configuração, processamento e armazenamento, utilizando-se de tabelas separadas também, com o mínimo possível de relacionamento, oportunizando um backup consistente, com planos diferenciados e garantia de DR efetiva. Patterns & practices Disponibilidade
  • 5.  Utilize agentes de mensagens com semântica (N + 1) gerando alta disponibilidade no processamento de dados críticos, evitando-se perdas. Por exemplo: serviços de barramento de mensagens.  Projete seu aplicativo para trabalhar com enfileiramento de mensagens, novas tentativas, momentos de picos, paralelismo de processamento, “auto degradação”, processamento lento, conseguindo gerar retornos de mensagens entre si e integrações com outros aplicativos para que ele possa estar preparado para ambientes elásticos, ou seja, que aumentam seus recursos conforme a necessidade de mais processamento ou quando há picos. Patterns & practices Disponibilidade
  • 6.  Sempre que possível, utilize técnicas de aplicação de updates e correções de sua aplicação sem a necessidade do reinicio de instâncias, serviços ou sistemas operacionais.  Considere o estudo da plataforma em que seu aplicativo irá trabalhar, inclusive as opções atuais de DR (Disaster Recovery) e HA (High Available), custos para implantação e realidades de uso para o seu negócio, trazendo para seu aplicativo a capacidade de recuperação sem necessidades de FCI (Failover Cluster Instances), NBL (Network Load Balancing), ou similar. Patterns & practices Disponibilidade
  • 7.  Divida a carga de trabalho de sua aplicação em serviços, threads, executores, tarefas, pensando em distribuição de carga entre ambientes, como sistemas operacionais distintos  Projete seu aplicativo para trabalhar com o redimensionamento de recursos, como o aumento de processos dentro de um Web Farm, aumento de paralelismo de processamento de um banco de dados, bem como a redução dos mesmos.  Arquitete sua aplicação para responder a definições de unidades de escala a serem usadas para definir o uso de recursos. Patterns & practices Escalabilidade
  • 8.  Sempre que possível, evite a afinidade de cliente, dando a opção das operações serem roteadas para qualquer instância.  Projete sua aplicação para trabalhar com prioridades e tarefas em segundo plano. Evite que tarefas menos importantes, consumam os recursos de E/S e CPU de tarefas essenciais para um funcionamento adequado de sua aplicação.  Considere o estudo da prática “Nada Compartilhado”. Por exemplo, evitar o uso do estado de sessão do servidor, afinidade de cliente e particionamento de dados são bons exemplos. Patterns & practices Escalabilidade
  • 9.  Projete sua aplicação para trabalhar com retenção de dados a longo prazo, operando-os em locais distintos ao de processamento e consultas mais atuais. Assim, além de dar condições de um processamento mais eficiente de sua aplicação, oportunizará a guarda dos dados antigos em locais de retenção a longo prazo e baixo consumo, tornando seu aplicativo com um custo mais atrativo para armazenamento em nuvem e onpremise no cliente.  Minimize o volume de dados recuperados, especificando colunas e critérios bem definidos de consulta. Busque boas práticas de consultas para não impactar no aprendizado de sistemas como SGBD. Patterns & practices Escalabilidade
  • 10.  Use caching sempre que possível para reduzir o custo de carga de serviços e recursos.  Otimize e ajuste consultas e índices SQL. Algumas instruções ou construções T-SQL podem ter um impacto no desempenho que pode ser reduzido otimizando-se o código em um procedimento armazenado. Por exemplo, evite a conversão de tipos datetime em varchar antes de comparar com um valor literal datetime.  Considere seu aplicativo assumir em gerenciar a integridade referencial de dados tornando a organização mais assertiva e confiável. Patterns & practices Escalabilidade
  • 11.  Considere usar chamadas assíncronas para acessar recursos e serviços. Lembre-se que diversos ambientes podem apresentar latência de comunicação e afunilamento de recursos.  “Empodere” o administrador de seu aplicativo no gerenciamento de escalabilidade dando opções como: compactação de dados em locais de alta latência e link reduzido, definição de números de threads de processamento de serviços, tempo de conexão, tempo de espera de processamento.  Minimize o uso de conexões e recursos o máximo possível. Patterns & practices Escalabilidade
  • 12.  Evite armazenar estado de sessão no servidor.  Envie dados em lotes.  Minimize o uso de conexões e recursos o máximo possível.  Execute testes de perfil e desempenho constantemente.  Considere utilizar um sistema de monitoramento para avaliar a disponibilidade de um recurso, integração com terceiros, serviços, inclusive disponibilizar esse “farol” ao seu administrador. Patterns & practices Escalabilidade
  • 13.  Sempre que possível, desenvolva sua aplicação com o menos de dependência possível de uso de usuários administrativos ou de sistema.  Considere em sua aplicação o uso de configurações via Web App, WMI ou similar, sem a necessidade de configuração direta na console dos servidores.  Considere a implantação de logs de rastreio em ações ou atividades que possuem um SLA de segurança elevado, como criação de novos logins, mudanças de perfil de usuários, transações financeiras. Patterns & practices Segurança
  • 14.  Considere usar perfis de usuários e senhas distintas e quando necessário, com opções de complexidade elevada, dificultando assim, o acesso indevido.  Considere utilizar criptografia nas transações e armazenamento de dados de sua aplicação.  Considere o uso de portas de acesso TCP/UDP randômicas ou alternativas aos padrões mundiais (HTTP/80), atendendo assim normas de clientes e empresas com SLA de segurança elevados. Patterns & practices Segurança
  • 15. Patterns & practices Guias de Apoio  Patterns & Practices – Microsoft Azure  Cloud Controls Matrix – Cloud Security Alliance  Cloud: IaaS, PaaS e SaaS