Nos últimos anos, vimos o surgimento do conceito de Data Lake, muito em consequência da redução de custos e preço de hardware para armazenamento dos dados e ao armazenamento em nuvem. Em razão disso, mudou-se todo um paradigma de armazenar somente o necessário para armazenar tudo o que é possível. Isso fez com que a demanda por habilidades e ferramentas relacionadas a administração e mineração de dados aumentasse significativamente.
Para facilitar a explicação, ilustro com um exemplo: imagine que em sua organização exista uma equipe de cientistas de dados e esses profissionais tenham a função de extrair as informações e insights que suportem tomadas de decisão dentro da empresa a partir dos dados. Eles, muitas vezes, possuem conhecimento do negócio, os chamados domain skills, mas não necessariamente sabem o lado técnico de como os dados serão integrados a partir de um ambiente transacional, que tecnologias serão utilizadas e/ou como tudo isso será automatizado. Esse é o papel de um engenheiro de Dados.
É fundamental que, não somente as duas equipes do exemplo acima, e sim todas as envolvidas no processo estejam trabalhando em conjunto e tendo o mesmo alvo para obter sucesso na implantação de Big Data. Pegando emprestado do DevOps a adoção de ferramentas colaborativas e a prática ágil, é possível colocar todos os envolvidos na mesma página e direcioná-los em busca do mesmo objetivo, diminuindo o tempo de entrega em produção.
Como, então, distinguir DevOps de DataOps? A começar pelo escopo, o DevOps busca acelerar a integração e entrega contínua de software, enquanto DataOps foca em acelerar a entrega e a análise de dados. Além disso, os pipelines, por onde os dados entram brutos e são refinados a cada fase, precisam ser gerenciados e monitorados afim de garantir a disponibilidade e qualidade ao final do processo.
Outro aspecto importante de DataOps é a utilização de orquestradores e pipelines que permitem o desacoplamento entre os componentes (jobs, bases de dados, storage, etc). Essa capacidade, hoje em dia, que é fundamental para qualquer sistema em processo de melhoria contínua, torna possível a substituição de cada componente de forma rápida para ser inovadora e disruptiva, e transparente para não causar indisponibilidade dos dados para o negócio.
Isso permite, inclusive, que a organização seja independente de tecnologias específicas, não importando mais se os dados estão em um Data Lake ou em um Data Warehouse. Com um processo maduro de gerenciamento desses pipelines, os dados podem estar em qualquer um dos dois (ou até mesmo em ambos), tendo o mínimo de alterações no pipeline ao invés de refatorar todo um processo.