“planejando a migração para software livre” -...
TRANSCRIPT
Definição:
“Migração (subs): Movimento de determinado ambienteou plataforma operacional para outro. Para muitos esta palavra é sinônimo de dores de cabeça... :)”
Não, porém existem procedimentos e metodologias quepermitem que o processo de migração se dê de forma
segura causando o mínimo de trauma possível.
Afinal, que podemos chamar de "migração de sucesso"?
Podemos dizer que um caso de migração foi bem sucedidoquando não apenas é feita a substituição de uma plataformapor outra, mas sim quando esta traz consigo melhorias noambiente, tais como novas funcionalidades, mais segurança,estabilidade, aumento de produtividade, redução de paradaspara manutenção, redução de custos e o principal: tornar avida do usuário mais simples. :)
Antes de começar... "Se conheces o inimigo e conheces a ti mesmo, não precisas de temero resultado de cem batalhas. Se conheces a ti mesmo, mas não conheceso inimigo, por cada vitória sofrerás também uma derrota. Se não conheces a ti mesmo nem conheces o inimigo, perderás todas as batalhas"
Sun Tzu, A Arte da Guerra
Alguns aspectos importantes...
- É realmente possível migrar?- Existe documentação da infra-estrutura atual?- Existe o domínio da tecnologia a ser utilizada?- Dispomos de recursos humanos necessários?
Usuário, o centro de tudo: O usuário não deve ser visto como um problema, mas simcomo a parte mais importante de todo o processo de migração.Seu sucesso dependerá única e exclusivamente dele e por issoeste deve ser visto como o ponto central deste processo.
Tipos possíveis de migração:
Podemos classificar o processo de migração basicamenteem dois tipos: aquele em que existe um impacto direto nasnas atividades e tarefas quotidianas dos usuários - o qual sedá muitas vezes pela falta de planejamento - e aquele quenão causa impacto. Não existe mágica, nem receita. Apalavra chave para isso se chama "Organização". :)
Situações possíveis de migração: - Serviços de rede- Aplicações legadas- Bancos de dados- Servidores de aplicação- Ambiente Desktop e aplicações- Suíte de Aplicativos Office
É possível também que durante o processo de migração sejamnecessárias mudanças estruturais na arquitetura física da rede.Muitas vezes se faz necessária a implementação de serviços(e consequentemente servidores...) com a finalidade de trazermelhorias ao ambiente (aumento de performance, maiorescalabilidade, segurança, entre outros). Estes tipo de mudançageralmente traz consigo a necessidade da implementação deserviços em alta-disponibilidade para garantir o funcionamentode sistemas críticos.
Estágios do processo migratório:
- Definição de objetivos- Levantamento de ambiente- Estudo de viabilidade- Busca e escolha de soluções adequadas- Homologação das soluções escolhidas- Implementação de um projeto piloto- Redação do projeto de migração- Implementação do projeto- Realização de testes e correção de erros- Treinamento de usuários- Documentação de procedimentos e ambiente- Organização de estrutura de suporte
Definição de objetivos:
Existe um ditado que diz que "Antes de partir é precisosaber onde se quer chegar". O ponto de partida em umprocesso de migração é definir o que deverá ser migrado,e como se dará este processo. Vários fatores devem serlevados em conta neste ponto, tais como se a migração érealmente viável - e não uma utopia - e se realmente valea pena migrar, tendo em vista os possíveis problemasque poderão ocorrer e os custos do processo.
Levantamento de ambiente:
O levantamento detalhado do ambiente deve ser feitopara que exista um melhor entendimento sobre a situação.É importante analisar o ambiente e entendê-lo em suaspartes assim como um todo. Podemos considerar estepasso como um dos mais importantes de todo o processo,visto que um pequeno detalhe que seja esquecido oudeixado de lado pode tornar o projeto completamenteinviável.
Deve ser feito um levantamento detalhado de: - Hardware utilizado em servidores e estações de trabalho- Impressoras e outros dispositivos utilizados - Topologia das redes envolvidas no processo- Equipamentos de conectividade utilizados- Política de segurança atual- Sistemas operacionais utilizados- Serviços de rede utilizados- Aplicações de uso geral utilizadas- Aplicações legadas ou sistemas de uso específico- Tipos de documentos utilizados e mantidos por usuários- Base de usuários e outras informações importantes- Rotinas diárias dos usuários do ambiente- Rotinas diárias dos administradores
O levantamento das rotinas diária dos usuários e deadministradores de rede é de vital importância, vistoque com base nestas informações serão modelados ofuturo ambiente de trabalho e também treinamentos.É importante salientar que um bom entendimento darotina de usuários e administradores ajudará na horada definição de quais soluções a serem adotadas, eque quando menor forem as mudanças no ambiente,menor será o impacto causado por este na rotinadiária dos usuários. Lembre-se sempre que o usuárioé o ponto central de todo o processo, e que o seusucesso depende dele! :)
Estudo de viabilidade: Antes de continuar, deve ser feita uma análise minunciosados dados levantados, com a finalidade de descobrir serealmente é possível migrar. Deve-se levar em conta todosos possíveis riscos e problemas que poderão ocorrer emdecorrência da migração, e qual será o impacto causadopor esta na rotina diária dos usuários, fator que podereduzir a produtividade do ambiente. Um processo demigração pode trazer consigo diversos riscos que devemser avaliados pois em grande parte dos casos poderãoocorrer problemas diversos* e possíveis paradas deverãoser levadas em conta. O planejamento deverá prever estassituações para que estas não tragam danos ao ambiente.
* Popularmente conhecido como “Lei de Murphy”
Busca e escolha de soluções adequadas:
- Pesquisa por soluções livres- Pesquisa por soluções proprietárias- Escolha de soluções (preferencialmente mais de uma)- Verificar questões de licenças de software
Homologação das soluções escolhidas: - Análise de soluções encontradas- Testes de homologação para verificar a mais adequada
Implementação de um projeto piloto:
Deve ser feita em um ambiente menor do que o real. Temcomo finalidade servir para a detecção de possíveis errosque possam vir à acontecer e para corrigí-los antes daimplementação do projeto propriamente dito. Neste pontodeve ser feito um acompanhamento das tarefas e rotinasdo ambiente de testes para verificar se os objetivos iniciaispodem ser cumpridos, e se vale a pena prosseguir.
Redação do projeto de migração: Tendo como base a experiência adquirida no projeto piloto,deve-se redigir um projeto detalhado especificando fases edefinindo metas. O projeto deverá estipular também ocronograma de implantação, checkpoints e testes, quedeverão ser seguidos durante a implementação. Um projetodividido em fases torna a implementação mais simples esegura. É necessário especificar um checklist para o final decada fase do projeto assim como um para sua conclusão.
Implementação do projeto: Após a elaboração do projeto de migração é hora de colocá-loem prática. É importante que a implementação obedeça todosos detalhes especificados no projeto pois todos os passosdefinidos por este serão decisivos para o sucesso da migração.
Realização de testes e correção de erros: Durante a implementação do projeto são previstos checkpointse testes de funcionamento para que possíveis erros sejamverificados e corrigidos. Ao término de cada fase deve serrealizado o checklist, com a finalidade de verificar se todos ospassos especificados foram cumpridos corretamente e se oobjetivo inicial foi alcançado.
Treinamento de usuários e administradores: Após a implementação é chegada a hora de começar a trabalharno novo ambiente. Por mais que se queira, é praticamente impossível que um ambiente seja reproduzido em todos osdetalhes. Sempre algo irá mudar e por isso se faz necessárioque os usuários e administradores sejam devidamente treinadose instruídos sobre o funcionamento do novo ambiente. Dependendoda infra-estrutura disponível (local para treinamento, material didático,instrutores, disponibilidade de horários, etc) esta fase do projetopode ser executada em paralelo com outras. Neste caso, a maiorvantagem é que não se faz necessário que o usuário pare suasatividades para ser treinado e consequentemente que nãoocorra uma redução na produção.
Documentação de procedimentos e ambiente: É muito importante que durante a implementação cada faseseja detalhadamente documentada, assim como ao término doprojeto sejam escritos documentos com referência explicandocomo o ambiente funciona. Essa documentação será utizada poraqueles que irão manter o novo ambiente e deve sempre sermantida e atualizada sempre que uma nova mudança seja feitano futuro.
Organização de estrutura de suporte: A mudança de ambiente necessitará de uma reestruturaçãono sistema de suporte. Dependendo o tamanho do ambientese faz necessária a organização de uma equipe para tratar deproblemas específicos do processo de transição entre osambientes antigo e o novo. Um recurso interessante quepode ser facilmente implementado é a uma Intranet e aelaboração de uma documentação online para usuáriose administradores.
O que pode causar problemas?
- Erros durante o levantamento de ambiente.- Utilização de softwares sem prévia homologação- Falhas durante a análise e elaboração do projeto- Falhas de dimensionamento de recursos de hardware- Problemas de aceitação por parte de usuários- Problemas com o software legado- Problemas com terceiros durante a implantação
Um processo de migração sem planejamento pode causar:
- Gastos desnecessários- Paradas desnecessárias- Diminuição de produtividade- Falhas de segurança- Perda de tempo- Demissões dos responsáveis*
* Neste caso pode ser você...
Algumas dicas úteis:
- Ser o mais detalhista possível durante o levantamento de informações- Tomar muito cuidado com dimensionamentos de hardware e serviços- Utilizar apenas soluções homologadas durante a migração- Acompanhar o trabalho dos usuários para entender sua realidade- Elaborar um projeto e tentar segui-lo sempre que possível- Obedecer metodologia na implementação de projetos- Consultar a opinião de outras pessoas em caso de decisões difíceis
Qual sequência de migração poderia ser sugerida?
- Aplicações- Servidores e serviços de rede- Suite de Aplicativos Office- Sistema Operacional para estações Desktop
Considerações finais...
Lembre-se que nada serve para tudo. Esta apresentação foifoi desenvolvida com a finalidade de servir como referênciapara a explanação de procedimentos necessários para aelaboração de um plano de migração para um ambientegenérico. É provável que esta apresentação possa servirpara diversos ambientes, porém haverão casos em queisso não seja possível, sendo necessário que algumasalterações sejam feitas nos passos e procedimentosdescritos ao longo desta.
Agradecimentos:
Empresas/Órgãos Públicos:
- Conectiva S/A- INMETRO RJ- Netcom Soluções em Informática- Prefeitura Municipal de Caxias do Sul
Aos amigos:
- Fábio Olivé Leite- Rodrigo Missiagia- Vagner Farias- Marcos Polidoro- Luis Claudio Gonçalves- Marcelo Martins- Rodrigo Stulzer- Marcelo Gondin- Nielsen de Moraes
Leonardo Menezes Vaz<[email protected]>