Pergunta

Nós temos um aplicativo de negócios que funciona basicamente em uma pilha depende do sistema operacional (tomcat + java + mysql), mas nós sempre executá-lo Red Hat ou CentOS.

Há um cliente que está insistindo para executá-lo no OpenSolaris para suas próprias razões (um contrato de suporte caro tudo-é-incluído com Sun).

Como doloroso pode tal migração ser? Temos um monte de scripts de arquivos e suporte de configuração, tais como:

  • apache
  • apache / tomcat conector
  • interação email com postfix
  • serviço personalizado start / stop
  • um par de trabalhos do cron (backup, monitoramento)
  • diferentes usuários e permissões (java, mysql, e-mail, backup ...)

O nosso processo de compilação gera um arquivo .tar.gz com o nosso código de negócios + alguns scripts shell que editar todos os arquivos de configuração do sistema operacional.

Qualquer experiência anterior sobre este assunto.

Foi útil?

Solução

Os maiores problemas será com as opções não-POSIX (não-padrão) que você usou para as ferramentas GNU fornecidos no Linux que não são os comandos padrão do Solaris. Você pode decidir que portar as ferramentas relevantes do conjunto GNU é mais simples do que modificar seu sistema. Se você já atou o código com caminhos absolutos para os comandos (/usr/bin/ls), mas você decidir usar as versões GNU em vez disso, você tem que encontrar uma maneira de fixar aqueles. Eu ficaria extremamente cauteloso sobre a substituição das versões do OpenSolaris com as versões GNU; você não sabe quando você iria quebrar algo que o sistema se baseia em. Então, você iria colocar os comandos GNU em um diretório separado - provavelmente não /usr/local porque isso é para os proprietários de máquinas para preencher, não você como uma aplicação-monger - e mandar para que seja usado no lugar dos comandos do sistema. .. (Nota: no Solaris, /bin é um link simbólico para /usr/bin; Presumo que o mesmo é verdade para OpenSolaris) AFAIK, Postfix não é padrão no OpenSolaris, então você tem que garantir que você obtenha que instalou, também

Tudo isso é factível - não há nada insuperável. Mas muito depende de sua base de código.

Outras dicas

Corremos tanto, embora nós não usamos OpenSolaris como um servidores web.

A boa:

  • OpenSolaris vem com as ferramentas GNU, assim, obter o seu direito caminho e isso é ok.

  • A maioria das coisas apenas construir e executar apenas multa.

A não tão bons:

  • Certifique-se de que você tenha instalado e estiver usando bash. Caso contrário, todas essas bashisms que você está usando que você não acha que você estava usando irá mordê-lo.

  • Certifique-se de que você não está usando caminhos codificados para / usr / bin ou / bin. Essas ferramentas não são os únicos GNU e, portanto, têm diferentes opções. Use / usr / gnu como mencionado acima.

  • Você não tem o grande número de pacotes que você pode instalar em linha reta fora como você faz com o yum ou apt. Sim, você tem um gerenciador de pacotes, é só não tão bem povoada. Como resultado, você provavelmente vai ser a instalação de pacotes com a mão. Eles devem instalar, é apenas um pouco mais de trabalho para os seus administradores de sistema.

  • Você tem certeza que OpenSolaris corre bem no seu hardware? Vale a pena um cheque. Você pode achar que alguns dos drivers de hardware não são tão bem testado.

Caso contrário, encontramos OpenSolaris para ser agradável. Ele tem um monte de boas idéias.

Você já olhou para Nexenta - http://www.nexenta.org/os É o OpenSolaris kernel com um userland Ubuntu.

OpenSolaris inclui todos os utilitários GNU já, basta apontar seus scripts em / usr / gnu / bin

A instalação Postfix não deve apresentar qualquer problema, e Apache / MySQL estão presentes em uma base instalar OpenSolaris (na verdade, Cool Web Stack coisas faz com que seja tão fácil de administrar como WAMP / Instantâneo Rails). Além do qual, manifesta SMF (SMF é um substituto para scripts rc sorte como launchd da OSX, embora você ainda pode usar scripts de inicialização regulares) pode facilitar a sua vida, uma vez que especificam as dependências e ordem de execução é um pouco melhor (que vai de forma recursiva iniciar / parar todos os serviços dependentes também).

Tomcat certamente funciona, apesar de todo mundo que eu sei sobre OpenSolaris usa GlassFish. YMMV, mas a implantação de uma .war é praticamente o mesmo em todos os lugares.

Pode não ser um primeiro passo ruim para implantar em uma região com marca lx (pense prisões FreeBSD ou Linux VServer para uma comparação), como as regiões com marca lx pode executar binários Linux, e são explicitamente baseada CentOS / RHEL.

Além disso, OpenSolaris é um Xen dom0 desde b77 ou algo assim, e CentOS colocando / RHEL em uma domU é simples morto, se isso é uma opção.

Você também terá todas as guloseimas Solaris junto com ele (DTrace, ZFS, virtualização de rede [via CrossBow], etc). Quem sabe? Você pode até gostar! Java é Java, de modo que não deverá levantar quaisquer problemas.

  • Você provavelmente vai ter que reescrever uma grande parte de seus scripts (criações de usuários, lançamento de serviço), pois é provavelmente diferente no CentOS e OpenSolaris.

  • como escrito anteriormente, pergunte ao seu cliente para instalar as ferramentas GNU assim você terá menos trabalho para reescrever seus scripts.

  • arquivos de configuração OS também pode não ser no mesmo formato, você precisa verificar.

  • o arquivo tar.gz deve ser extraível sem problemas, mas novamente você terá menos surpresas se você usar ferramentas GNU. alguns unix OS tem tar com algumas limitações

Qualquer experiência anterior sobre este assunto.

(talvez um pouco offtopic)

nós empacotar e distribuir o nosso java / tomcat / aplicação PostgreSQL / unix com todos os binários referenciados em nossos scripts. isso implica ter sistema 1 build para cada OS apoiamos, este implie apoiamos nossa aplicação, mas também binários externos, mas no final não temos surpresas desagradáveis ??@ clientes.

nós também pedir-lhes para fazer todas as operações de raiz (criação de usuários, criação de diretório, configuração sendmail, ajuste do sistema) antes de instalar o aplicativo. nós escrevemos scripts de desligamento / inicialização para todos os sistemas operacionais suportados, e sua instalação é a única coisa que fazemos em root na máquina do cliente.

Além do fato de que você é um troll, alguém apenas disse acima que (Open) Solaris tem: - ZFS - DTrace

Podemos entender que você tem medo de não perder o seu emprego RHCE, mas você só me provou mais uma vez que a minha decisão como um empregador para ignorar todas as certificações Ao entrevistar pessoas foi uma boa. Parece que uma grande porcentagem de tais pessoas (especialmente no mundo da Microsoft) não são tão ... open-minded, para colocá-lo bem.

Saudações, Alex

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top