Criei um aplicativo ASP.NET MVC e agora quero movê-lo para o Amazon AWS do meu servidor de desenvolvimento. Minha pergunta é: como migrar um aplicativo ASP.NET para o Amazon AWS? Aqui está o que eu pesquisei / encontrei até agora:
- As sessões não funcionam entre instâncias, portanto, preciso usar o DynamoDB ou o memcached para armazenar o estado. Examinei vários clientes como o Enyim como uma possível solução para o problema do estado da sessão usando o Amazon ElastiCloud .
- A Amazon possui um serviço da web para emails SMTP. Portanto, precisarei refazer o código que envia os emails SMTP para enviar pelo Amazon SES e redirecionar os emails recebidos para um servidor de email separado, alterando os registros DNS.
- Há um SDK para gerenciar a identidade do usuário ( Amazon IAM ). Vou precisar alterar o código de autenticação para usar este serviço da web.
Talvez haja mais pontos que eu desconheço. Então, como migrar um aplicativo MVC para a AWS?
amazon-ec2
arao6
fonte
fonte
Respostas:
Em primeiro lugar, as coisas que você está investigando atualmente seriam as mesmas, independentemente de levar o site de uma máquina para vários servidores (no local), para o Azure, para o Rackspace etc.
Quando se trata do estado da sessão, agora é provável que o site de produção seja executado em várias instâncias, por isso será necessário persistir os dados da sessão em um armazenamento compartilhado para que as sessões do usuário possam ser carregadas, independentemente do terminal do servidor que eles acabam acessando.
O Dynamo pode muito bem permitir que você lide com uma escala colossal, mas é provável que seja relativamente caro. Dependendo das cargas de trabalho de tráfego esperadas (e eventualmente reais), é possível que você consiga se livrar de uma forma mais barata de armazenamento, como o AWS Elasticache (principalmente porque as sessões do usuário podem ser transitórias).
Modificar seus manipuladores SMTP deve ser bastante trivial.
O IAM é mais sobre como controlar o acesso dos usuários aos serviços da AWS.
O que você descreveu é querer gerenciar seu próprio armazenamento e acesso de contas de usuário (via associação do ASP.NET?) - para isso, um mecanismo de armazenamento relacional persistente como o Amazon RDS.
Existem muitos exemplos de outras pessoas que fizeram a maior parte disso - apenas o GoogleBing.
Outras coisas a considerar:
fonte