Esta é a primeira postagem de uma série de postagens de blog que abordarão o tópico de hospedagem do Couchbase Server no Windows Azure.
Não é necessário executar o Windows para seguir este guia. Você pode usar o Windows, o Mac ou qualquer outro sistema operacional que compreenda a área de trabalho remota ou que tenha um aplicativo de área de trabalho remota compatível com a Área de Trabalho Remota para Windows.
O objetivo desta série é ajudá-lo a entender todas as etapas envolvidas na configuração do Windows Azure e do Couchbase, desde uma configuração de desenvolvedor de nó único até uma configuração pronta para produção com vários nós e failover.
Nesta primeira postagem, configuraremos um servidor Couchbase de nó único para fins de teste e desenvolvimento. Na próxima postagem do blog, ficará claro por que faz sentido começar com um único nó e como isso pode acelerar o tempo de configuração dos próximos nós.
Para acompanhar o processo, você precisará de uma assinatura do Azure. Se você não tiver uma, poderá obter uma avaliação gratuita da Microsoft (no valor de €150 em uso):
azure.microsoft.com/en-us/pricing/free-trial
Com a assinatura do Azure, você está pronto
Antes de fazermos login no Azure, vamos dar uma rápida olhada em qual é o objetivo desta série e o que abordaremos nesta postagem do blog.
Esta ilustração mostra uma visão geral completa de como será a configuração até o final da série de postagens.
Os servidores azuis representam os nós do Couchbase e os servidores vermelhos representam outros serviços de nuvem. Os servidores vermelhos dentro da rede virtual representam servidores de aplicativos que tratarão de todas as solicitações de clientes para o cluster do Couchbase.
Nesta primeira postagem do blog, criaremos um nó azul do Couchbase e definiremos todas as configurações de segurança exigidas pelo Azure para permitir que um cliente fora da nuvem e da rede virtual se conecte diretamente ao nó.
Criar uma máquina virtual
A primeira etapa é criar uma máquina virtual e instalar o Couchbase Server.
Faça login no Portal de Gerenciamento do Azure:
manage.windowsazure.com
e selecione Virtual Machines no menu à esquerda.
Crie uma nova máquina virtual pressionando o símbolo "+" no canto inferior esquerdo:
Siga o assistente para criar uma máquina virtual "From Gallery" pré-instalada com o "Windows Server 2012 R2 Datacenter".
Na segunda parte do assistente de configuração da máquina virtual, preencha os campos
Nome da máquina virtual. Esse é o nome de exibição que será usado pelo Windows Azure dentro do Portal.
Nome de usuário e senha: usados para a área de trabalho remota na VM, o que é importante porque precisamos instalar o Couchbase na VM usando a área de trabalho remota.
Por fim, escolha o "tamanho" da máquina VM. Para este blogpost, usarei o padrão "A1".
Observe que há um preço diferente para cada "tamanho".
Você pode usar a Calculadora de Preços do Azure para entender os níveis de preços:
azure.microsoft.com/en-us/pricing/calculator/?scenario=virtual-machines
Aqui está uma lista que mostra um subconjunto dos "Tamanhos" disponíveis.
A maior VM (no momento em que este artigo foi escrito) é a G5 com 32 núcleos e 448 GB de RAM.
Na terceira parte do assistente de configuração, precisamos escolher um nome DNS e uma região.
Região: Para reduzir a latência da rede, escolha uma área próxima à sua localização.
DNS: Observe que o nome DNS precisa ser exclusivo para todas as instâncias do Azure.
Deixe todas as outras opções inalteradas, pois as examinaremos com mais detalhes em uma postagem posterior.
Na quarta e última etapa, deixe todas as configurações com seus padrões e selecione done/checkmark.
Assim que o assistente for concluído, o Azure iniciará o processo de inicialização da nova VM:
Carregamento, provisionamento, início, execução.
O tempo até que a VM esteja disponível pode variar, mas normalmente leva alguns minutos.
Quando a VM estiver pronta e "em execução", selecione-a e, na "visão geral", selecione a guia "Dashboard", como a seguir:
O "Dashboard" mostra um resumo detalhado do uso da VM, incluindo: Tráfego de rede, IO de disco, carga da CPU, etc. Esse também é o local onde você pode encontrar detalhes da VM, como IP, DNS e IP público. Usaremos esses detalhes em uma postagem posterior do blog, quando configurarmos um cluster de nós.
No momento, a VM está praticamente vazia e não tem nada instalado.
Instalar o Couchbase Server em uma nova VM
Pressione "Connect" (Conectar) no canto inferior esquerdo da guia Dashboard do WM recém-criado. Isso iniciará um download de um arquivo pré-configurado da Área de Trabalho Remota. Abra o arquivo e siga as etapas em "Remote Desktop" para fazer login na VM.
Configurar a VM
Quando você estiver conectado à VM, há algumas etapas básicas de configuração que precisam ser realizadas antes de instalar o Couchbase Server.
A primeira coisa a fazer é desativar o "Enhanced IE Security" e, em seguida, desativar o "Windows Firewall". A desativação do Windows Firewall é recomendada apenas para ambientes de teste e de desenvolvimento e deve ser ativada em uma configuração de produção.
O motivo pelo qual desativamos o firewall é permitir que o cliente se conecte ao nó e não seja bloqueado pelo firewall. Posteriormente, quando a conexão tiver sido testada, poderemos ativar o firewall e configurá-lo para abrir as portas necessárias para que o cliente se conecte com êxito ao nó.
A lista de portas necessárias pode ser encontrada aqui: http://docs.couchbase.com/admin/admin/Install/install-networkPorts.html
Gerenciador do Windows Server
Abra o "Server Manager" se ele não tiver sido aberto automaticamente quando você fez login no Windows Server e selecione "Local Server" no menu à esquerda.
Para desativar a Segurança aprimorada do IE, selecione a opção "Segurança aprimorada do IE" e Desativar para "Usuário" e "Administrador".
A desativação da Segurança aprimorada do IE removerá as restrições de segurança do IE e nos permitirá fazer o download do Couchbase Server com mais facilidade no site do Couchbase.
Em seguida, desative o Firewall do Windows, selecionando a opção Firewall do Windows -> "Ativar ou desativar o Firewall do Windows" e selecione "desativado" para redes públicas e privadas.
Agora estamos prontos para abrir o Internet Explorer e navegar até o site do Couchbase para fazer o download do instalador do Couchbase Server para Windows.
1) Abra o IE e navegue até http://www.couchbase.com/nosql-databases/downloads
2) Faça o download do instalador do Windows de 64 bits.
3) Quando o download for concluído, inicie a instalação.
4) Selecione os padrões para o caminho de instalação etc. no assistente de instalação.
Observe que o assistente de instalação informa que 4 núcleos é o mínimo recomendado para o Couchbase Server e a VM tem apenas 1 núcleo. Isso é algo que abordaremos em uma postagem posterior no blog. Para a configuração atual, um núcleo é aceitável.
Arquivo de host do Windows
Enquanto o instalador do Couchbase estiver concluindo a configuração, abra o File Explorer e navegue até:
C:WindowsSystem32driversetc
Abra o arquivo "hosts" no Bloco de Notas e adicione uma linha para mapear o "IP privado" da VM para o "Nome DNS público". Todas as informações podem ser encontradas na imagem de fundo da área de trabalho da VM:
No meu caso, adicionei a seguinte linha ao arquivo "hosts" (será diferente para cada VM):
100.73.56.137 MYCBSERVERNODE.cloudapp.net
Salve o arquivo e feche o Bloco de Notas.
Configurar o servidor Couchbase
Quando o instalador do Couchbase for concluído, abra o "Console do Couchbase".
No campo "Hostename", insira seu nome DNS seguido de ".cloudapp.net" (MYCBSERVERNODE.cloudapp.net)
Deixe todos os outros campos inalterados e clique em next.
Se você quiser instalar dados de amostra no Node, faça isso agora.
Isso também pode ser feito posteriormente. Para a configuração atual, não instalarei nenhum dado de amostra.
Na próxima página de configuração, defina "Per Node RAM Quota" (Cota de RAM por nó) = 200 MB. Alteraremos isso mais tarde e discutiremos em mais detalhes o que esse valor representa e sua influência no desempenho.
Deixe todos os outros valores inalterados e clique em next.
Na guia Notificações, preencha os campos obrigatórios e selecione Next.
A última configuração define a senha e o nome de usuário do administrador. Para essa configuração, usei "Administrator" como nome de usuário e senha. Isso não é recomendado; você deve usar uma senha mais segura e usar um nome de usuário diferente para reforçar a segurança.
Parabéns! Com essa última configuração concluída, instalamos com êxito o Couchbase Server no Azure.
Na próxima postagem do blog, configuraremos a proteção de endpoint do Azure (Cloud Firewall) para permitir conexões diretamente com o nó a partir da Internet pública. Para testar se a conexão está aberta, criaremos um pequeno aplicativo de teste com o .NET e o Couchbase .NET SDK.
Obrigado pela leitura e espero que você volte em breve para a próxima postagem do blog, na qual continuaremos a jornada rumo a uma configuração pronta para produção do Couchbase no Azure.
Martin
Minha configuração de cluster do couchbase está usando 2 VMs A1 do Ubuntu e cada uma tem um disco de dados separado. No entanto, só consigo obter de 10 a 20 operações no máximo.
Você se importa em compartilhar a quantidade de operações que obtém com sua configuração?
Se precisar de mais informações sobre o teste e a configuração do Azure, entre em contato comigo
Oi Zev23,
Executarei alguns testes com a máquina Windows 1 x A1 e compartilharei os resultados com você. Enquanto eu estiver preparando um teste, poderia me falar um pouco mais sobre sua configuração atual?
Os WM\s estão na mesma rede virtual?
Você configurou um arquivo DNS/Host (termo do Windows, não tenho certeza do que isso significa no mundo Linux)?
Você usou IPs públicos ou privados ao configurar o cluster?
O servidor de aplicativos está na mesma rede virtual que o cluster?
Além disso, o hardware recomendado para o Couchbase é de 4 núcleos e uma boa quantidade de RAM. O único motivo pelo qual escolhi o A1 foi o fato de ele ser um WM barato para instalação e configuração. Em outras palavras, esse não era o tamanho de WM pretendido para um ambiente de produção.
Oi Zev23,
Agora, executei alguns testes simples:
500 threads de trabalho (1000 gravações por thread) = duração do teste de 10 minutos.
Resultado: Operações mínimas. 75, operações máximas 125.
Observe que se trata de gravações completas, sem leituras ou obtenções, apenas operações de gravação.
O teste é executado em meu computador local com o servidor Couchbase de nó único hospedado no Azure (VM A1)
A latência da rede pode ser minimizada se for executada a partir do servidor de aplicativos na mesma rede virtual.
[...] em relação à primeira postagem do blog, vamos continuar com a configuração do endpoint e alguns códigos .NET para testar a conexão com o [...]