Como configurar ambientes de desenvolvimento, teste, produção e QA

8

Estou no processo de configurar novos servidores para uma organização. Quais são os padrões ou melhores práticas para configurar um novo ambiente com Desenvolvimento, Teste, Preparação e Produção (ou estou aberto a outros níveis com os quais não estou familiarizado)? Além disso, ouvi falar de organizações dividindo servidores em SQL, Application, Web Server, etc. Onde posso encontrar bons exemplos de possíveis soluções para a configuração do servidor?

A virtualização desses ambientes entre algumas caixas físicas é uma boa prática?

Pesquisei on-line algumas ideias de como outras organizações têm seu ambiente configurado, mas não estou achando nada especificamente útil. Congratulo-me com todos os links que você pode me apontar para discutir a construção de uma solução corporativa inteira para uma empresa pequena e média.

Acabei de encontrar este link: link Eu gostaria de encontrar mais artigos como este, se alguém souber de quaisquer bons que eles possam me indicar.

Antes de votar em minha pergunta, poste comentários para que eu possa explicar mais. Eu posso apenas não saber o suficiente para fazer as perguntas certas.

    
por TreK 22.05.2012 / 19:58

3 respostas

8

Esta é uma pergunta bem carregada. Meu conselho geral é concentrar sua atenção no gerenciamento da complexidade e permitir que o sistema cresça organicamente.

Virtualização:

Você realmente deseja evitar a proliferação de servidores e, atualmente, tudo é virtualizado. Escolha uma plataforma que permita adicionar servidores virtuais rapidamente, bem como gerenciá-los com eficiência. Uma tendência que vi é ter dois (por exemplo) clusters AIX ou VMWare, um para prod, um para não-prod. O non-prod one é usado para todos os ambientes de desenvolvimento, teste e desenvolvimento. Esses ambientes são perfeitos para servidores da Web ou servidores de aplicativos, mas eu tentaria evitar colocar bancos de dados de produção grandes e em crescimento como uma VM (pelo menos no Windows).

Bancos de dados

Eles podem ficar fora de controle facilmente sempre que precisarem compartilhar recursos com outros servidores. Sempre ter bancos de dados em execução em um sistema operacional dedicado, nunca compartilhado com um aplicativo ou servidor da web, a menos que haja uma boa razão para isso. Se você usa uma VM ou hardware é a única questão.

Você deseja uma infraestrutura escalonável que não o limite se você precisar, por exemplo, migrar para uma solução em cluster. Muitos bancos de dados vão ficar bem em uma VM, mas para os poucos que eventualmente precisarão de mais potência do que o conveniente para fornecer em um ambiente de VM, você vai encontrar-se desejando colocá-los em raw hardware .

Se você não estiver falando sobre janelas, algumas dessas diretrizes não serão relevantes. É prática comum aceitar colocar grandes bancos de dados em crescimento como LPARs em um hypervisor do AIX, por exemplo.

Armazenamento

Você não pode ter virtualização real (com mobilidade de VM e cluster de host) sem armazenamento compartilhado. Os servidores de produção, desenvolvimento, teste e controle de qualidade têm a mesma aparência para o seu armazenamento, mas você pode querer investir algum tempo para encontrar uma maneira de priorizar seu produto. É uma péssima ideia, por exemplo, ter um disco de compartilhamento de banco de dados de produtos pesados (conjuntos de raid, pools, o que for) com um servidor de desenvolvimento. Dev pode acertar os discos com a mesma força que às vezes, e a última coisa que você precisa é descobrir se algum tipo de teste é o que está atrasando sua produção.

Peça a alguém que conheça o seu armazenamento e analise todos os potenciais afunilamentos (portas, cache, controladores, disco, etc.) e faça o possível para impedir a contenção de tantos quanto possível entre prod e não-prod.

Dito isso, às vezes as pessoas da aplicação precisam executar benchmarks de desenvolvimento para ajudar a quantificar os efeitos de um novo patch ou algo assim. Nessa situação, talvez seja necessário oferecer quantidades semelhantes (ou pelo menos quanticamente diferentes) de potência de armazenamento.

    
por 22.05.2012 / 20:19
1

Para que você está precisando desse ambiente? Software de fornecedor ou sua organização fazendo seu próprio desenvolvimento?

Não sei se isso vai ajudar, mas tanto a HP quanto a Dell cairiam em si mesmas para entrar e avaliar seu datacenter atual e dar-lhe uma recomendação para renovar ou criar a partir do zero. Os leitores do fórum podem dar boas respostas, mas sem ver "o que você tem e onde você está, o que você quer e onde você precisa estar" será difícil dar-lhe uma resposta sólida. Faça um favor a si mesmo e fique com um fornecedor de hardware por motivos de administração.

Temos nosso datacenter voltado para isso (temos o hardware para isso)

Ambiente VMWare Compartimento blade C7000 Hp com backend EMC SAN, conexão de fibra de 8 GB.

Isso nos permite limitar os custos de spawl, uso de eletricidade e ar condicionado. Ele seria usado para máquinas de teste, servidores de prova de conceito, servidores de produção que não precisam de hardware exclusivo para o aplicativo (dongles USB, placas de fax, etc.)

Ambiente do Physical Blade Server Gabinete C7000 Hp Blade com 16 blades HBA conectado ao backend EMC SAN por fibra de 8 GB.

Estes seriam para máquinas que exigem uma grande quantidade de RAM e CPU, mas não possuem adições de hardware exclusivas. As máquinas virtuais são boas, exceto quando exigem uma quantidade enorme de CPU ou RAM. O VMWare permite que o vmotion mova o vmserver para uma máquina host, a fim de equilibrar o uso do hardware. O imóvel da VM só é rentável quando utilizado ao máximo. Ou seja, máquinas menores, em vez de algumas grandes. Isso também depende do sistema que você está tentando se levantar.

Servidor físico (1U a 5U)

Servidores HP DL360 - DL 5xx. Hardware especial, como o CPUS de 4x8 núcleos e o RAM de 256 Gigs, placas seriais para interfaces de telecomunicação ou placas de fax de alta capacidade conectadas a várias linhas telefônicas. Neste grupo, estão incluídos servidores que o fornecedor exigiu grande armazenamento local.

Este é um exemplo, mas não uma resposta completa. Sério, converse com um fornecedor de hardware e deixe que ele dê uma ideia de onde você está e como torná-lo melhor / mais eficiente.

    
por 22.05.2012 / 21:23
0

Quais são as práticas recomendadas ou padrão para configurar um novo ambiente com Desenvolvimento, Teste, Preparação e Produção.

Isso depende do orçamento, entre outras considerações. Não tenho certeza se há padrão, mas você gostaria de manter o sistema operacional e outros softwares em todas as caixas. Use ferramentas de automação, como o Puppet, para automatizar e padronizar suas construções.

A visualização desses ambientes entre algumas caixas físicas é uma boa prática?

Virtualização? Sim. Ótima prática. Mas precisa validar suas configurações se elas estiverem corretas para serem executadas como máquinas virtuais.

Ouvi falar de organizações dividindo servidores em SQL, Application, Web Server, etc. Onde posso encontrar bons exemplos de possíveis soluções para a configuração do servidor?

Provavelmente, outras pessoas podem entrar em contato, mas, no entanto, você gostaria de instalar componentes diferentes em servidores diferentes por vários motivos entre atualizações e disponibilidade de sistemas operacionais e aplicativos.

    
por 22.05.2012 / 20:05