terça-feira, 11 de dezembro de 2007

Melhores práticas de gerenciamento de TI

Hoje, recebi de um grande amigo um bom artigo sobre o ITIL voltado a banco de dados, achei interessante e dado a objetividade do material solicitei permissão para publicá-lo.
Só lembrando que a partir de Janeiro de 2008 a prova para certificação ITIL já será na nova versão, então quem esta interessado em fazer a prova, assim como eu, é bom correr, pois o tempo está se esgotando.
Para quem já possui a certificação, está sendo disponibilizado uma certificação de atualização chamado ITIL v3 Foundtion Bridge, a prova é constituída de 20 questões, bastando acertar 13 questões para obter aprovação.
Quem estiver interessado em artigos, apostilas, resumos, entre outros, posta um comentário e coloca o e-mail que eu entrarei em contato.
Bom, então vamos ao artigo:

"Em 1980, a qualidade dos Serviços em TI fornecida ao governo britânico levou o CCTA (Central Computer and Telecommunications Agency – como era chamado o atual Office of Government Commerce, o OGC) a desenvolver melhorias no processo para tornar os recursos de TI, mais eficiente e financeiramente eficaz para os ministérios e outros setores públicos do governo. O foco foi desenvolver um framework que fosse independente de fabricante/fornecedor. Isto resultou na Biblioteca de Infra-Estrutura de Tecnologia da Informação (ITIL). O ITIL versão 1 ganhou uma coleção das melhores práticas observadas nos Serviços em TI oferecidos pelas indústrias. O framework do ITIL fornece uma descrição detalhada de um número de importantes práticas em TI, com checklist compreensivo, procedimentos e responsabilidades nos quais podem ser adaptados para qualquer organização de TI (também conhecido como Departamento Interno de TI). Onde possível estas práticas têm definido processos cobrindo a maioria das atividades dos Serviços em TI.

Catálogo do Serviço
No ITIL, o catálogo de serviço consiste de todos os serviços que estão sendo fornecidos, uma descrição do serviço, níveis de serviço, custo do serviço, cliente e a pessoa/departamento responsável pela manutenção do serviço. O conteúdo do Catálogo de Serviço irá variar de acordos com os requisitos da organização de TI.
Para o banco de dados, nosso catalogo de serviço se restringe especificamente a:

  • Criação e manutenção dos objetos (tabelas, seqüências, triggers,...);
  • Manutenção da infra-estrutura (tablespaces, datafiles, estatísticas, jobs, patchs de atualizações...);
  • Performace (analise de SQL, degradação em resposta, tunning diversos...);
  • Backup e Recovery (criação dos scripts, acompanhamento diário dos backups, teste periódico de recovery...);
  • Alta disponibilidade (criação, manutenção e monitoramento);
  • Segurança (criação, manutenção e monitoramento do plano de segurança).

Para cada serviço deverá ser definido um acordo de nível de serviço (ANS) que consiste de um documento onde os níveis de serviços acordados entre o cliente e o provedor de serviços, exemplo entre Desenvolvimento e DBAs. O ANS deve ser escrito em linguagem clara, concisa e sem jargões técnicos desconhecidos pela equipe de desenvolvimento.
A garantia dos serviços depende também de fatores externos intrínsecos ao negócio como:

  • Serviço de rede;
  • Manutenção e monitoramento físico do(s) equipamento(s) onde o banco está hospedado.

Para estes fatores externos, acordos locais chamados acordos de níveis operacionais devem ser celebrados entre a equipe de banco e o setor de suporte visando à garantia dos serviços de banco.
O público alvo dos serviços será a equipe de desenvolvimento e o usuário final, cabendo um cuidado diferenciado para cada um, um olhar mais técnico e detalhado para os primeiros enquanto que o tratamento ao usuário final restringe-se ao funcionamento puro do serviço de banco para a utilização dos sistemas de informação.

Cadastrar incidentes / requisição de serviços
Dentro da empresa o service desk será responsável por coletar junto ao usuário final os incidentes diários, estes incidentes quando não puderem ser resolvidos em um primeiro combate, deverão ser escalonados a um segundo nível (Analistas / Programadores), sendo então detectado um problema de banco de dados, estes incidentes deverão ser reportados através de um sistema internado de informação detalhando o problema para que possa ser investigado por um terceiro nível (DBAs) para solução e restabelecimento do serviço.
A base dados de problemas e soluções conterá com o tempo um volume de informação que facilitará o restabelecimento do serviço, dando uma reposta mais rápida ao incidente em questão. Todos os níveis devem se valer das informações da base de dados de problemas e soluções a fim de uma resolução rápida do incidente, lembrando sempre em atender aos acordos de níveis de serviços estabelecidos previamente.
O setor de banco de dados deve controlar através de um sistema de informação as requisições de novos serviços, como por exemplo, criação de uma nova tablespace, criação de novas tabelas, alteração de campos, criação de índices, liberação de permissões para criação de procedimentos armazenados e etc. O setor de banco de dados deve atender a estes novos serviços dentro do acordado definido pelo acordos de níveis de serviço.
Formas de coletas pró-ativas de incidentes de banco de dados devem ser levadas em consideração, utilizando para isto ferramentas com uma integração com o banco e sistema operacional que avise aos interessados quando de um comportamento estranho para que providencias sejam tomadas antes, garantindo uma continuidade do serviço. Como sugestão de ferramenta o NAGIOS tem recursos de integração que garantem uma coleta automática de informação, reportando por e-mail, instant message e SMS, quando uma não conformidade aparece.
A fim de uma melhoria continua ao serviços oferecidos, métricas deverão ser criadas a fim de se verificar a eficiência na prestação dos serviços como:

  • Quantidade de incidentes / requisições por período;
  • Resolução de serviços atendendo aos ANSs;
  • etc.

Controlar Mudanças
A resolução de um incidente leva na maioria das vezes a mudanças, gerir estas mudanças é fundamental para a eficiência dos serviços ofertados. Em primeiro lugar, estabelecer uma política de mudança a fim de identificar quem e o que poderá alterar dentro do banco.
No ambiente de banco restringir tarefas de administração a equipe de banco, tarefas de administração estão relacionadas aos serviços de manutenção da estrutura, backup e recovery, manutenção da alta disponibilidade e garantir a segurança de acesso ao banco.
Definir junto à equipe de desenvolvimento os papeis de cada integrante. Como sugestão, permitir apenas a criação e manutenção de funções e procedimentos armazenados, deixando a cargo dos DBAs a criação e manutenção dos restantes dos objetos (tabelas, sequencias, índices, visões...) lembrando de se registrar todas as mudanças.
Criar a cultura do BACKOUT (retorno), a fim de se algo der errado na implementação da mudança se puder voltar atrás sem comprometer o serviço.
Mudanças mais complexas devem ser planejadas e agendadas para não interromper os serviços dependentes desta mudança em questão. Mudanças emergências tem prioridade podendo ser feitas a qualquer momento, sob o aval do gestor de informática, devendo se ter apenas um cuidado redobrado em sua implementação, nestes casos o BACKOUT é essencial.

Gerenciamento das configurações
Para suporte aos incidentes e mudanças, deverá ser criado um banco de dados de configuração, estabelecendo os itens de configuração e sua dependências. Deve ser observado o detalhamento destas informações.
Por exemplo:
Item 01: TabelaX (Categoria Tabela)
Item 02: SchemaX (Categoria Schema) relaciona-se com Item 01
No exemplo acima temos um detalhamento bem profundo que deve ser avaliado se deverá ser seguido.
Na maioria dos bancos de dados, existem tabelas de sistema que auxiliam na construção deste banco, onde poderão ser explorados todos os objetos e suas dependências.
O banco de configuração é importante para avaliação do impacto da mudança que se pretende fazer.

Continuidade dos Serviços
Na Área de banco de dados, várias técnicas podem ser implementadas para garantia de continuidade de serviços, podemos destacar:

  • Criação de bancos STANDBY (Copias on lines dos bancos de produção que serão acionados quando o de produção apresentar falha);
  • Clusters (Banco compartilhado em várias maquinas, mesmo quando uma apresentar problema o serviço de banco será mantido);
  • SITE backup (Espelho físico do ambiente de produção);
  • Rotina de backup (armazenamento das fitas de backup em outro local, de preferência em um cofre anti-chamas)."
O autor do artigo é Felipe Nogueira, Bacharel em Informática pela UFPB com MBA em gerencia de projetos pela UFRJ, Certificado ITIL. Atualmente DBA Oracle DETRAN-CE, experiência de mais de 10 anos com a tecnologia Oracle.

Nenhum comentário: