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 eficientes e financeiramente eficazes 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 deTecnologia da Informação (ITIL). 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 de 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 deacordos com os requisitos da organização de TI.

                Para o banco de dados, nosso catálogo de serviço se restringe  especificamente a :

·         Criação e manutenção dos objetos (tabelas, sequencias, triggers , ...);

·         Manutenção da infraestrutura (tablespaces, datafiles, estatisticas, jobs, patchs de atualizações ...);

·         Peformace (analise de SQL, degradação em resposta, tuning 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 a garantia dos serviços de banco.

                O público alvo dos serviços serão a equipe de desenvolvimento e 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 interno 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 proativas 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(url) tem recursos de integração que garantem uma coleta automática de informação, reportando por email, IM e SMS, quando uma não conformidade aparecer.

                A fim de uma melhoria continua aos serviços oferecidos, métricas deverão ser criadas a fim de ser 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 papéis de cada integrante. A nível de 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 onlines 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)