“Planejando a migração para Software Livre” -...

36
“Planejando a migração para Software Livre”

Transcript of “Planejando a migração para Software Livre” -...

“Planejando a migração para Software Livre”

Definição:

“Migração (subs):  Movimento de determinado ambienteou plataforma operacional para outro. Para muitos esta palavra é sinônimo de dores de cabeça... :)”

Existe uma receita prática para migração?

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.

“Mas se está tudo funcionando, por que migrar?”

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.

Perguntas?

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]>

Muito obrigado por sua atenção!