“Planejando a migração para Software Livre”
Definição:
“Migração (subs): Movimento de determinado ambiente
ou 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 que
permitem 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 sucedido
quando não apenas é feita a substituição de uma plataforma
por outra, mas sim quando esta traz consigo melhorias no
ambiente, tais como novas funcionalidades, mais segurança,
estabilidade, aumento de produtividade, redução de paradas
para manutenção, redução de custos e o principal: tornar a
vida do usuário mais simples. :)
Antes de começar...
"Se conheces o inimigo e conheces a ti mesmo, não precisas de temer
o resultado de cem batalhas. Se conheces a ti mesmo, mas não conheces
o 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 sim
como a parte mais importante de todo o processo de migração.
Seu sucesso dependerá única e exclusivamente dele e por isso
este deve ser visto como o ponto central deste processo.
Tipos possíveis de migração:
Podemos classificar o processo de migração basicamente
em dois tipos: aquele em que existe um impacto direto nas
nas atividades e tarefas quotidianas dos usuários - o qual se
dá muitas vezes pela falta de planejamento - e aquele que
não causa impacto. Não existe mágica, nem receita. A
palavra 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 sejam
necessá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 trazer
melhorias ao ambiente (aumento de performance, maior
escalabilidade, segurança, entre outros). Estes tipo de mudança
geralmente traz consigo a necessidade da implementação de
serviços em alta-disponibilidade para garantir o funcionamento
de 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 é preciso
saber onde se quer chegar". O ponto de partida em um
processo de migração é definir o que deverá ser migrado,
e como se dará este processo. Vários fatores devem ser
levados em conta neste ponto, tais como se a migração é
realmente viável - e não uma utopia - e se realmente vale
a pena migrar, tendo em vista os possíveis problemas
que poderão ocorrer e os custos do processo.
Levantamento de ambiente:
O levantamento detalhado do ambiente deve ser feito
para que exista um melhor entendimento sobre a situação.
É importante analisar o ambiente e entendê-lo em suas
partes assim como um todo. Podemos considerar este
passo como um dos mais importantes de todo o processo,
visto que um pequeno detalhe que seja esquecido ou
deixado de lado pode tornar o projeto completamente
inviá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 de
administradores de rede é de vital importância, visto
que com base nestas informações serão modelados o
futuro ambiente de trabalho e também treinamentos.
É importante salientar que um bom entendimento da
rotina de usuários e administradores ajudará na hora
da definição de quais soluções a serem adotadas, e
que quando menor forem as mudanças no ambiente,
menor será o impacto causado por este na rotina
diária dos usuários. Lembre-se sempre que o usuário
é o ponto central de todo o processo, e que o seu
sucesso depende dele! :)
Estudo de viabilidade:
Antes de continuar, deve ser feita uma análise minunciosa
dos dados levantados, com a finalidade de descobrir se
realmente é possível migrar. Deve-se levar em conta todos
os possíveis riscos e problemas que poderão ocorrer em
decorrência da migração, e qual será o impacto causado
por esta na rotina diária dos usuários, fator que pode
reduzir a produtividade do ambiente. Um processo de
migração pode trazer consigo diversos riscos que devem
ser avaliados pois em grande parte dos casos poderão
ocorrer problemas diversos* e possíveis paradas deverão
ser levadas em conta. O planejamento deverá prever estas
situaçõ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. Tem
como finalidade servir para a detecção de possíveis erros
que possam vir à acontecer e para corrigí-los antes da
implementação do projeto propriamente dito. Neste ponto
deve ser feito um acompanhamento das tarefas e rotinas
do ambiente de testes para verificar se os objetivos iniciais
podem 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 e
definindo metas. O projeto deverá estipular também o
cronograma de implantação, checkpoints e testes, que
deverão ser seguidos durante a implementação. Um projeto
dividido em fases torna a implementação mais simples e
segura. É necessário especificar um checklist para o final de
cada 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á-lo
em prática. É importante que a implementação obedeça todos
os detalhes especificados no projeto pois todos os passos
definidos 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 checkpoints
e testes de funcionamento para que possíveis erros sejam
verificados e corrigidos. Ao término de cada fase deve ser
realizado o checklist, com a finalidade de verificar se todos os
passos especificados foram cumpridos corretamente e se o
objetivo inicial foi alcançado.
Treinamento de usuários e administradores:
Após a implementação é chegada a hora de começar a trabalhar
no novo ambiente. Por mais que se queira, é praticamente
impossível que um ambiente seja reproduzido em todos os
detalhes. Sempre algo irá mudar e por isso se faz necessário
que os usuários e administradores sejam devidamente treinados
e instruídos sobre o funcionamento do novo ambiente. Dependendo
da infra-estrutura disponível (local para treinamento, material didático,
instrutores, disponibilidade de horários, etc) esta fase do projeto
pode ser executada em paralelo com outras. Neste caso, a maior
vantagem é que não se faz necessário que o usuário pare suas
atividades para ser treinado e consequentemente que não
ocorra uma redução na produção.
Documentação de procedimentos e ambiente:
É muito importante que durante a implementação cada fase
seja detalhadamente documentada, assim como ao término do
projeto sejam escritos documentos com referência explicando
como o ambiente funciona. Essa documentação será utizada por
aqueles que irão manter o novo ambiente e deve sempre ser
mantida e atualizada sempre que uma nova mudança seja feita
no futuro.
Organização de estrutura de suporte:
A mudança de ambiente necessitará de uma reestruturação
no sistema de suporte. Dependendo o tamanho do ambiente
se faz necessária a organização de uma equipe para tratar de
problemas específicos do processo de transição entre os
ambientes antigo e o novo. Um recurso interessante que
pode ser facilmente implementado é a uma Intranet e a
elaboração de uma documentação online para usuários
e 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 foi
foi desenvolvida com a finalidade de servir como referência
para a explanação de procedimentos necessários para a
elaboração de um plano de migração para um ambiente
genérico. É provável que esta apresentação possa servir
para diversos ambientes, porém haverão casos em que
isso não seja possível, sendo necessário que algumas
alterações sejam feitas nos passos e procedimentos
descritos 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!
Download

“Planejando a migração para Software Livre”