Partilhar via


Apresentando o Windows Server AppFabric

O Windows Server AppFabric estende o Windows Server para fornecer recursos de hospedagem, de gerenciamento e armazenamento em cache aprimorados para aplicativos Web e serviços de camada intermediária. Os recursos de hospedagem do AppFabric adicionam extensões de gerenciamento de serviço para Serviços de Informações da Internet (IIS), Windows Process Activation Service (WAS) e o NET Framework 4. Isto inclui as ferramentas Serviços de Hospedagem e Administração de Hospedagem que facilitam a implantação, a configuração e o gerenciamento dos serviços baseados em Windows Communication Foundation (WCF) e Windows Workflow Foundation (WF) Os recursos de armazenamento em cache do AppFabric adicionam um cache de objeto na memória distribuído para o Windows Server que torna mais fácil aumentar o desemplenho de aplicativos .NET, especialmente os aplicativos ASP.NET.

Arquiteturas de serviço e orientadas a serviço têm sido integradas a vários tipos de aplicativos atualmente, desde a simples exposição de uma função como um serviço aos usuários até um aplicativo propriamente dito fornecido como uma complexa coordenação de muitos serviços. A necessidade de criar aplicativos que se integrem facilmente ao cenário atual de software como serviço nunca foi tão grande. Geralmente, os aplicativos modernos baseiam-se em um componente transacional orientado a dados (tal como processar pedidos em um site) juntamente com uma lógica de negócios que gerencia essas transações através de uma camada intermediária.

Frequentemente, implantar, gerenciar e monitorar serviços de camadas intermediárias pode ser um processo trabalhoso que exige que desenvolvedores criem uma infraestrutura de hospedagem e dediquem tempo criando soluções de implantação personalizadas para seus aplicativos. Mesmo após a implantação do aplicativo, os desenvolvedores frequentemente precisam gerenciar o aplicativo fazendo modificações manuais nos arquivos de configuração. O AppFabric pode ajudar a reduzir este trabalho simplificando a implantação do serviço, fornecendo uma solução de monitoramento personalizável e um conjunto de ferramentas de gerenciamento valioso, que pode ser acessado diretamente pelo console de gerenciamento do IIS ou por script, usando os módulos AppFabric para Windows PowerShell.

Os desenvolvedores também ficam cada vez mais atarefados com os requisitos de entrega de aplicativos altamente responsivos e escaláveis. Isso é verdade não somente para serviços de camada intermediária, mas também para aplicativos Web e de área de trabalho. À medida que cresce a demanda por aplicativos (por exemplo: um site se torna popular, ou outros grupos começam a consumir seu serviço compartilhado), o acesso a dados caro pode frequentemente resultar em limitações sérias ao desempenho e dimensionamento do aplicativo. Enquanto o armazenamento em cache é uma solução bem estabelecida no mundo dos bancos de dados, isso também está se tornando cada vez mais reconhecido como sendo um componente fundamental para o fornecimento de aplicativos Web e de serviços compostos de alto desempenho. Em ambos os casos, você pode usar os Serviços de Cache do AppFabric para aprimorar o desempenho de escalabilidade de seus aplicativos e serviços .NET de dados intensivos. Os Serviços de Cache do AppFabric fornecem um cache em memória distribuído e com alta disponibilidade que pode ser facilmente escalável de forma flexível (aumentar/diminuir) e independente de seus aplicativos ou camadas de dados. Com a .NET API e a integração perfeita com ASP.NET e PowerShell, os Serviços de Cache do AppFabric garantem que você introduza o armazenamento em cache em suas soluções com o mínimo de interrupções dos códigos e uma experiência de gerenciamento consistente.

As seções a seguir exploram alguns desses desafios de hospedagem de serviços de camadas intermediárias e de dimensionamento de aplicativos Web e descrevem as soluções que o AppFabric fornece.

Para obter mais informações sobre o AppFabric, consulte Windows Server Developer Center (https://go.microsoft.com/fwlink/?LinkId=182970).

Serviços de hospedagem

O desafio

Configurar um ambiente de hospedagem para um aplicativo que inclui os serviços baseados em WCF e WF pode ser complexo e demorado. Enquanto o IIS/WAS fornece um ambiente de hospedagem robusto para esses aplicativos, tirar vantagem de seus recursos pode exigir um esforço de desenvolvimento considerável, soluções de impantação personalizadas e procedimentos de configuração manual. Assim que a solução for implantada e configurada, o gerenciamento de serviços pode ser um desafio.

A solução

Os Serviços de Hospedagem do AppFabric permitem que você mantenha, com facilidade, seus serviços baseados em WCF e em WF ativos e operacionais. É possível tirar vantagem dos recursos de hospedagem do AppFabric sem desenvolver recursos de hospedagem adicionais. Os Serviços de Hospedagem estendem os recursos de hospedagem do WAS fornecendo uma configuração padrão do ambiente de hospedagem do WAS. Os Serviços de Hospedagem incluem recursos fornecidos pelo Serviço de Gerenciamento de Fluxo de Trabalho, incluindo bloqueio/nova tentativa, início automático, temporizadores duráveis e uma fila de comandos.

A Administração de Hospedagem do AppFabric fornece ferramentas para gerenciar suas instâncias de fluxo de trabalho mais facilmente, com o controle, monitoramento e recursos de consulta. Você também pode configurar o WAS e os aplicativos hospedados dentro do WAS de forma padronizada. As ferramentas de Administração de Hospedagem permitem configurar o endereço dos pontos de extremidade de serviço, gerenciar a ativação de início automático e configurar as definições de segurança e de desempenho.

Para obter mais informações sobre os recursos de hospedagem do AppFabric, consulte Conceitos de hospedagem.

Plataforma de cache em memória do AppFabric

O desafio

O uso de cache em memória para armazenar dados de aplicativo frequentemente usados é um método antigo de aprimoramento do desempenho de aplicativos. Ler e gravar na memória é de ordem de magnitude mais rápida que ler e gravar em disco. Entretanto, o tamanho do cache em memória é geralmente limitado pela quantidade de memória disponível no computador em que o aplicativo está sendo executado e os dados armazenados no cache em memória estão sujeitos a perda total devido à volatilidade inerente da memória do computador. O desenvolvimento de aplicativos que podem fazer uso completo de um cache em memória está mais limitado pela falta de uma interface de programação de aplicativo (API) para armazenar e recuperar objetos em um cache de memória. O desenvolvimento de aplicativos que fazem uso de armazenamento em cache também pode ser dificultado pela falta de funcionalidade de gerenciamento de cache.

A solução

Os recursos de armazenamento em cache do AppFabric podem ajudar a escalar seus aplicativos .NET de forma fácil e barata, permitindo que você combine a capacidade de memória de vários computadores em um único cluster de cache unificado. Esses recursos incluem os Serviços de Hospedagem, o Cliente Cache e as ferramentas de Adminstração de Cache. Os Serviços de Cache do AppFabric são altamente escaláveis, permitindo que vários computadores sejam configurados como nós de um cluster de cache, disponível como um único cache de memória unificado. Os Serviços de Cache fornecem um recurso de alta disponibilidade, que dá suporte à disponibilidade contínua de seus dados em cache, armazenando cópias desses dados em hosts de cache separados. Quando a alta disponibilidade estiver habilitada em um cluster de vários servidores, seu aplicativo ainda pode recuperar os dados em cache se um servidor de cache vier a falhar.

Os Serviços de Cache fornecem um conjunto abrangente de APIs completamente documentado para integrar o uso de um cache em memória com seu aplicativo baseado em .NET. Além disso, existe uma integração perfeita com ASP.NET para armazenar o estado da sessão em cache. Isso pode fornecer sites ASP.NET de custo reduzido para aprimorar rapidamente o desempenho e a escalabilidade do site. A Administração de Cache do AppFabric fornece um conjunto completo de ferramentas administrativas para a criação, configuração e gerenciamento de caches em memória. Os recursos de armazenamento em cache e de hospedagem do AppFAbric estão incluídos em um pacote de instalação integrado.

Para obter mais informações, consulte Recursos de cache do Windows Server AppFabric.

Fluxos de trabalho persistentes

O desafio

Pode ser desafiador obter serviços de longa execução e com estados definidos no Windows Workflow Foundation ativo e operacional. Para configurar persistência de modo a garantir que os fluxos de trabalho sejam duráveis, você pode ter que criar um armazenamento de persistência, criar um esquema, configurar um banco de dados de persistência e, em seguida, configurá-lo. No ambiente de produção, você pode ter um banco de dados que mantenha instâncias dos fluxos de trabalho duráveis que podem ser invocadas. Algumas dessas instâncias de fluxo de trabalho podem ser suspensas, algumas podem estar sendo executadas. Pode ser difícil ver o que está acontecendo com o sistema.

A solução

Com o AppFabric, a persistência está pronta para ser usada. Os Serviços de Hospedagem do AppFabric usam o armazenamento de persistência SQL que é fornecido com o .NET Framework 4 e cria um banco de dados de persistência padrão que seus aplicativos podem aproveitar, permite que você dimensione seus serviços com estados definidos por um conjunto de computadores. Você pode usar um armazenamento de persistência de sua escolha. E a Administração de Hospedagem do AppFabric fornece as ferramentas de que você precisa para monitorar a atividade no banco de dados de persistência ou nos fluxos de trabalho de longa execução.

Para obter mais informações sobre recursos de persistência no AppFabric, consulte Conceitos de persistência.

Monitorando serviços

O desafio

Com os aplicativos baseados em WCF e WF, nem sempre é possível ver o que está acontecendo com os serviços e com as instâncias de fluxo de trabalho. Se você tiver serviços e fluxos de trabalho em várias máquinas, onde eles estão sendo ativados? Quantos deles estão sendo ativados? Qual é o status deles? Você está encontrando erros?

A solução

Os Serviços de Hospedagem do AppFabric e Administração de Hospedagem permitem executar monitoramento de integridade e resolução de problemas de execução dos serviços WCF e WF, e controlar esses serviços. Você faz isso tudo na página AppFabric Dashboard do Gerenciador do IIS. O AppFabric Dashboard permite estar constantemente alerta sobre o estado do sistema. Monitorar dados pode ajudá-lo a controlar melhor as instâncias de fluxo de trabalho. Você também pode ter a flexibilidade de alterar consultas que geram dados e de selecionar um nível de monitoramento que permite que você colete dados suficientes para monitorar a integridade de seus aplicativos, mantendo o custo do desempenho de monitoramento de aplicativos em um nível apropriado. O monitoramento do AppFabric é construído com recursos de rastreamento e de acompanhamento fornecidos no .NET Framework.

Os eventos são armazenados em um banco de dados de monitoramento, acessível pelas ferramentas de Administração de Hospedagem. Um participante de acompanhamento grava um evento em uma sessão de Rastreamento de Eventos para Windows (ETW) e o Serviço de Coleta de Eventos instalado com os recursos de hospedagem do AppFabric lê os eventos pela sessão ETW, fornecendo um processamento de dados de alto desempenho. Quando você instala os recursos de hospedagem do AppFabric, o programa de instalação instala uma estrutura de monitoramento configurável que é projetada para ser usada no ambiente de produção. É possível usar o armazenamento de monitoramento SQL que é fornecido com o .NET Framework 4 ou um armazenamento personalizado de sua escolha. É possível configurar o AppFabric para limpar o banco de dados de monitoramento automaticamente.

Para obter mais informações sobre recursos de monitoramento no AppFabric, consulte Conceitos de monitoramento.

Ferramentas de gerenciamento

O desafio

Os profissionais de TI e desenvolvedores precisam de ferramentas avançadas e fáceis de usar para ajudá-los a lidar com os serviços baseados em WCF ou em WF em um ambiente de produção. Para gerenciar um aplicativo, você pode precisar usar várias ferramentas e editar manualmente os arquivos de configuração. Você pode não ter visibilidade dos dados sobre seus serviços e pode não ter controle sobre a sua configuração. Pode ser difícil determinar como definir a configuração de um aplicativo, porque você poderá ter que acessar vários arquivos de configuração, usando o Editor de Configuração de Serviço para abri-los e editar seus elementos de configuração.

A solução

Os recursos de hospedagem do AppFabric fornecem um valioso conjunto de extensões para o gerenciamento de serviço do Gerenciador do IIS. O AppFabric Dashboard fornece visibilidade da integridade do sistema e a interface do usuário de configuração unificada oferece controle sobre sua configuração de serviço. Quando necessário, você poderá retomar, suspender, cancelar ou encerrar instâncias de fluxo de trabalho persistidas e iniciar ou interromper serviços. Como a interface do usuário é baseada no Gerenciador do IIS, você tem uma experiência de admistrador similar e ferramentas similares para serviços baseados em WCF e em WF, assim como para os aplicativos Web. Você pode executar muitas tarefas de gerenciamento de aplicativos no Gerenciador do IIS, em vez de ficar saltando de ferramenta em ferramenta ou de editar manualmente os arquivos de configuração.

Na extensão do AppFabric para o Gerenciador do IIS, é fácil enumerar os serviços em um servidor e você pode facilmente alterar as consultas para ajustar seus dados. É possível consultar quantas instâncias de fluxo de trabalho estão em estado de execução ou em estado de não execução. Você pode consultar as instâncias de fluxo de trabalho persistidas ou as instâncias de fluxo de trabalho de rastreamento.

No Gerenciador do IIS, você pode ver a configuração para um serviço em uma única caixa de diálogo. Nesta caixa de diálogo, você pode definir a configuração para um serviço e as definições de configuração padrão para um aplicativo, para um site, para um servidor, que podem ser herdadas por um serviço. Os Serviços de Hospedagem do AppFabric aproveitam a capacidade de mesclagem de comportamento do .NET Framework 4, que permite que um serviço herde as propriedades de configuração de qualquer nível da hierarquia do IIS. Em muitos cenários de configuração, os Serviços de Hospedagem permitem fazer as definições de configuração no arquivo Web.config apropriado, sem a necessidade de acessar esse arquivo diretamente.

As ferramentas de Administração de Hospedagem incluem os cmdlets PowerShell do Windows, que permitem gerenciar aplicativos pelo console PowerShell ou por scripts que permitem configurar de um modo automatizado. Esses módulos PowerShell incluem o módulo ApplicationServer para Serviços de Hospedagem do AppFabric e os módulos DistributedCacheAdministration e DistributedCacheConfiguration para Serviços de Cache do AppFabric.

O AppFabric inclui um assistente de instalação para instalar os recursos de armazenamento em cache e de hospedagem do AppFabric e um assistente de configuração para configurar esses recursos. Você também pode instalar o AppFabric usando o WebPI.

Para obter mais informações sobre as ferramentas de monitoramento do AppFabric, consulte Ferramentas de gerenciamento.

Desenvolvendo serviços

O desafio

É frequente que, com um novo produto, seja necessário aprender novas formas de desenvolver o aplicativo para tirar vantagem de novos recursos ou de se integrar com o produto.

A solução

Com os Serviços de Hospedagem do AppFabric, não existem requisitos especiais para criar um aplicativo, além de garantir que o aplicativo possa ser hospedado no ambiente de hospegagem do IIS/WAS usando o serviço do WAS (Windows Process Activation). Os modelos de projeto padrão no Visual Studio® (WCF Service Application e WCF Workflow Service Application) dão suporte a IIS/WAS e são gerenciados pelo APPFabric sem a necessidade de se fazer nenhuma modificação. Se você tiver aplicativos que estejam hospedados no WAS atualmente, eles poderão ser implantados para o AppFabric, sem modificações.

Para obter mais informações sobre o desenvolvimento de um aplicativo para usar no AppFabric, consulte Desenvolvendo um aplicativo.

Implantando serviços

O desafio

Pode ser difícil implantar um serviço de um servidor para outro, ou implantar um serviço em vários servidores usando uma configuração idêntica.

A solução

Os Serviços de Hospedagem do AppFabric aproveitam a ferramenta Microsoft Web Deployment (também chamada de ferramenta Web Deploy) para implantar serviços no ambiente de hospedagem. A ferramenta Web Deploy é integrada aos ambientes do IIS e Visual Studio, de modo que você pode empacotar e implantar serviços facilmente, diretamente do Visual Studio, ou implantar aplicativos pré-empacotados diretamente do Gerenciador do IIS

Para obter mais informações sobre a implantação de um aplicativo no AppFabric, consulte Implantações típicas e Implantando aplicativos.

Extensibilidade de serviços e administração de hospedagem

O desafio

Algumas soluções pré-empacotadas podem ser difíceis de incrementar.

A solução

Os recursos de hospedagem do AppFabric fornecem pontos de extensibilidade para criar soluções personalizadas. Você pode adicionar um módulo ao Gerenciador do IIS e pode criar suas próprias ferramentas de interface do usuário em cima dos cmdlets de Administração de Hospedagem do AppFabric. É possível fornecer uma interface do usuário personalizada para o usuário de destino do aplicativo. Você pode criar seus próprios cmdlets ou usar pipe para combinar cmdlets do AppFabric, de acordo com suas necessidades. Os pontos de extensibilidade também estão disponíveis nos recursos de monitoramento e persistência dos Serviços de Hospedagem. É possível usar um armazenamento personalizado de monitoramento e persistência.

Para obter mais informações sobre extensibilidade no AppFabric, consulte Extensibilidade do AppFabric.

  2011-12-05