Compartilhar via


Opções de hospedagem do ASP.NET (C#)

por Scott Mitchell

Baixar PDF

ASP.NET aplicativos Web normalmente são projetados, criados e testados em um ambiente de desenvolvimento local e precisam ser implantados em um ambiente de produção quando estiverem prontos para lançamento. Este tutorial fornece uma visão geral de alto nível do processo de implantação e serve como uma introdução a esta série de tutoriais.

Introdução

Os aplicativos Web normalmente são projetados, criados e testados em um ambiente de desenvolvimento acessível apenas para os programadores que trabalham no site. Depois que o aplicativo estiver pronto para ser lançado, ele será movido para um ambiente de produção em que o site pode ser acessado por qualquer pessoa na Internet. Esse processo de implantação apresenta uma série de desafios:

  • Um ambiente de produção deve existir e ser configurado corretamente antes que um aplicativo ASP.NET possa ser implantado; além disso, o ambiente de produção deve ser mantido atualizado com os patches de segurança mais recentes.
  • O conjunto correto de arquivos de marcação, arquivos de código e arquivos de suporte deve ser copiado do ambiente de desenvolvimento para o ambiente de produção. Para aplicativos controlados por dados, isso também pode exigir a cópia do esquema de banco de dados e/ou dados.
  • Pode haver diferenças de configuração entre os dois ambientes. A cadeia de conexão de banco de dados ou o servidor de email usado no ambiente de desenvolvimento provavelmente será diferente do ambiente de produção. Além disso, o comportamento do aplicativo pode depender do ambiente. Por exemplo, quando ocorre um erro no desenvolvimento, os detalhes do erro podem ser exibidos na tela, mas quando ocorre um erro na produção, uma página de erro amigável deve ser exibida e os detalhes do erro enviados por email aos desenvolvedores.

Para evitar o primeiro desafio - configurar e manter um ambiente de produção - muitas pessoas e empresas terceirizam seus ambientes de produção para provedores de hospedagem na Web. Um provedor de hospedagem web é uma empresa que gerencia o ambiente de produção em seu nome. Há inúmeros provedores de host Web, cada um com preços e níveis de serviço variados; consulte a seção "Localizando um provedor de host web" para obter dicas sobre como localizar esse provedor de serviços.

Este é o primeiro de uma série de tutoriais que analisam as etapas envolvidas na implantação de um aplicativo Web ASP.NET em um ambiente de produção gerenciado por um provedor de host Web. Ao longo destes tutoriais, examinaremos:

  • Quais arquivos precisam ser implantados no provedor de host da Web.
  • Ferramentas para simplificar o processo de implantação.
  • Como implantar um banco de dados.
  • Dicas para implantar um banco de dados que usa o provedor de Associação e Funções baseado em SQL, juntamente com maneiras de imitar a Ferramenta de Administração de Site em um ambiente de produção.
  • Estratégias para atualizar sem problemas o banco de dados em produção com alterações feitas durante o desenvolvimento.
  • Técnicas para registrar erros de log que ocorrem na produção e maneiras de notificar os desenvolvedores quando ocorre um erro.

Esses tutoriais são voltados para serem concisos e fornecer instruções passo a passo com muitas capturas de tela para orientá-lo visualmente. Este tutorial inaugural fornece uma visão geral do processo de implantação ASP.NET e conselhos sobre como encontrar um provedor de hospedagem na Web. Vamos começar!

Uma visão geral do processo de implantação de ASP.NET

Em poucas palavras, a implantação de um aplicativo ASP.NET envolve as três etapas a seguir:

  1. Configure o aplicativo Web, o servidor Web e o banco de dados no ambiente de produção.
  2. Sincronize as páginas ASP.NET, os arquivos de código, os assemblies na pasta e os Bin arquivos de suporte relacionados a HTML, como arquivos CSS e JavaScript.
  3. Sincronize o esquema de banco de dados e/ou os dados.

As informações de configuração de um aplicativo Web normalmente estão localizadas no Web.config arquivo e incluem cadeias de conexão de banco de dados, critérios de tratamento de erros, regras de reescrita de URL e informações do servidor de email. Geralmente, essas informações são diferentes para um aplicativo em desenvolvimento em comparação com o mesmo aplicativo em produção. Por exemplo, ao desenvolver um aplicativo, é melhor usar um banco de dados de desenvolvimento para que você não esteja testando no banco de dados de produção. Como resultado, as cadeias de conexão de banco de dados normalmente diferem entre aplicativos de desenvolvimento e produção. Devido a essas diferenças, parte da implantação envolve fazer alterações nas informações de configuração do aplicativo Web.

Além das alterações de configuração do aplicativo Web, a Etapa 1 também pode envolver a configuração para o servidor Web e o banco de dados. Por exemplo, se uma página ASP.NET criar ou excluir arquivos de um diretório no servidor Web, o servidor Web precisará ser configurado para permitir essas modificações no sistema de arquivos. Da mesma forma, pode haver configurações de permissão ou autenticação que precisam ser feitas no banco de dados.

A etapa 2 envolve a sincronização do conjunto de páginas de ASP.NET essenciais e arquivos de suporte entre os ambientes de desenvolvimento e produção. O conjunto específico de arquivos relacionados a ASP.NET que precisam ser sincronizados entre os dois ambientes depende do tipo de projeto que você criou no Visual Studio e é a discussão no próximo tutorial, Determinando quais arquivos precisam ser implantados. O terceiro e quarto tutoriais – Implantando seu site usando FTP e implantando seu site usando o Visual Studio – examinam diferentes ferramentas e técnicas para sincronizar esses arquivos.

Ao criar aplicativos controlados por dados, normalmente há dois bancos de dados sendo usados: um para desenvolvimento e outro em produção. Durante o desenvolvimento, o esquema do banco de dados de desenvolvimento pode ser modificado para incluir novas tabelas, colunas, procedimentos armazenados e gatilhos ou pode ser modificado para remover ou renomear objetos de banco de dados existentes. Entre o tempo em que essas alterações são feitas e a hora em que o aplicativo é implantado na produção, os bancos de dados de desenvolvimento e produção estão fora de sincronia. Essa assíncrona precisa ser corrigida durante o processo de implantação. Esses desafios serão examinados em tutoriais futuros.

Localizando um provedor de host Web

ASP.NET aplicativos podem ser implantados em qualquer servidor Web que tenha o .NET Framework e os Serviços de Informações da Internet (IIS) instalados. Você pode hospedar um site do seu computador pessoal, supondo que você tenha uma conexão de banda larga com a Internet e saiba como configurar seu roteador para permitir solicitações da Web de entrada. Você também pode hospedar um site de um computador em uma intranet, como muitas empresas fazem. No entanto, o foco desses tutoriais é hospedar seu site com um provedor de host da Web.

Observação

O IIS é o servidor Web de nível empresarial da Microsoft. Ele é fornecido com as edições não Home do Windows, como o Windows Server 2008 e determinadas edições do Windows Vista. Você não precisa instalar o IIS para atender ASP.NET aplicativos em um ambiente de desenvolvimento, pois o Visual Studio inclui o ASP.NET Development Web Server. No entanto, o ASP.NET Servidor Web de Desenvolvimento aceita apenas conexões locais e, portanto, não pode ser usado em um ambiente de produção.

Antes de implantar seu site em um provedor de host da Web, você deve primeiro decidir com qual empresa fazer negócios. Há inúmeras empresas de hospedagem na Web no marketplace; uma pesquisa por "empresa de hospedagem na Web" retorna mais de cinco milhões de resultados. Como você encontra o que é certo para você? Seu mecanismo de pesquisa favorito é um bom ponto de partida, assim como sites como TopHosts e HostCritique, que comparam e contrastam vários serviços de hospedagem. Também aconselho pedir recomendações a seus colegas e colegas de trabalho; você também pode solicitar recomendações no Fórum aberto de hospedagem aqui nos Fóruns do ASP.NET.

As empresas de hospedagem da Web normalmente oferecem planos de hospedagem compartilhados e planos de hospedagem dedicados. Com a hospedagem compartilhada, um único servidor Web hospeda dezenas, se não centenas de sites diferentes. Com a hospedagem dedicada, você aluga um computador da empresa que atende seu site e seu site sozinho. Um plano de hospedagem compartilhado pode incluir suporte para ASP.NET páginas, a capacidade de trabalhar com bancos de dados do Microsoft Access, 5 GB de espaço em disco e 100 GB de tráfego mensal de largura de banda por US$ 9,95 por mês. Outro plano de hospedagem compartilhado pode incluir suporte para ASP.NET páginas, acesso ao servidor de banco de dados microsoft SQL Server 2008, 10 GB de espaço em disco e 250 GB de tráfego mensal de largura de banda por US$ 19,95 por mês. Os planos de hospedagem dedicados geralmente são muito mais caros, custando várias centenas de dólares por mês, mas oferecem melhor desempenho e mais controle do que as opções de hospedagem compartilhadas. O plano escolhido depende do seu orçamento, de quanto tráfego seu site recebe e dos recursos que você prevê que serão necessários.

Duas considerações importantes ao escolher um provedor de host web são o atendimento ao cliente e a qualidade do serviço. Se você tiver uma pergunta ou um problema de configuração, quanto tempo leva para enviar seu problema para a assistência técnica do host da Web até obter uma resposta? Quão confiáveis são os serviços da empresa? Eles frequentemente têm interrupções de banco de dados? Com que frequência o servidor de email está offline? Você sempre pode pedir que uma empresa forneça detalhes sobre seu tempo de atividade e pergunte sobre sua política de atendimento ao cliente, mas uma maneira mais segura é solicitar os comentários de clientes atuais e anteriores, o que você pode fazer por meio de fóruns online, grupos de notícias e listservs de email.

Observação

Algumas empresas de hospedagem da Web concentram seus negócios em uma pilha de tecnologia específica, como .NET ou LAMP (L inux, A pache, M ySQL e P HP), portanto, verifique se a empresa selecionada hospeda ASP.NET aplicativos. Além disso, marcar para garantir que eles dão suporte à versão do ASP.NET que você está usando para criar seu aplicativo. E se você estiver criando um aplicativo controlado por dados, verifique se o host da Web oferece o mesmo servidor de banco de dados e a versão que você está usando.

Resumo

ASP.NET aplicativos Web normalmente são projetados, criados e testados em um ambiente de desenvolvimento local. Depois que uma versão estiver pronta para lançamento, ela será movida para um ambiente de produção. Embora seja possível hospedar ASP.NET sites em seu computador pessoal ou em servidores dentro de sua empresa, muitas empresas e indivíduos optam por terceirizar sua hospedagem para um provedor de host da Web.

Esta série de tutoriais examina as etapas para implantar um aplicativo ASP.NET em um provedor de host da Web, explorando desafios comuns. Este tutorial ofereceu uma visão geral de alto nível do processo de implantação do ASP.NET e deu dicas para encontrar um provedor de host web adequado. O próximo tutorial analisa quais arquivos relacionados a ASP.NET precisam ser copiados para o ambiente de produção ao implantar seu site.

Programação feliz!

Agradecimentos especiais a...

Esta série de tutoriais foi revisada por muitos revisores úteis. A revisora principal deste tutorial foi Teresa Murphy. Interessado em revisar meus próximos artigos do MSDN? Nesse caso, solte-me uma linha em mitchell@4GuysFromRolla.com.