A ciência de dados está cada vez mais popular e vem revolucionando o modo como interagimos com dados. Saiba nesse artigo porque devemos utilizar a nuvem para extrair o seu potencial máximo.
Neste artigo você verá:
• Escalabilidade
• Facilidade de Configuração
• Automatização de Processos
• Computação Serverless
Muitas pessoas costumam pensar que a nuvem é apenas uma forma de alugar máquinas remotas para execução de tarefas e processos, sendo um substituto remoto e com alta disponibilidade da própria máquina. Quem possui esse tipo de pensamento pode pensar que executar tarefas de Data Science na máquina local não tem grandes diferenças em relação a fazer o mesmo processo na nuvem. Porém, serviços de nuvem como a AWS (Amazon Web Services) e GCP (Google Cloud Platform) podem facilitar muito a vida de um cientista de dados.
Já vimos no artigo publicado no blog sobre Cloud Computing como a Cloud traz grandes vantagens competitivas para um negócio. Vejamos agora como ela pode agilizar e facilitar tarefas relacionadas a Data Science:
ESCALABILIDADE
O primeiro ponto de grande relevância é a escalabilidade disponibilizada pelos serviços de Cloud. Por exemplo, caso um modelo de Machine Learning esteja rodando lentamente em uma máquina local, provavelmente será necessário fazer um upgrade de processador ou placa de vídeo, dependendo das características do modelo, sendo necessário comprar o hardware específico para isso. Em serviços de nuvem, é possível escolher e mudar o hardware utilizado instantaneamente, bastando escolher as especificações que se adequem ao projeto. Além disso, o custo é calculado pelo tempo ativo do hardware escolhido e, portanto, não se paga pelo tempo ocioso.
Um outro ponto é a escalabilidade de armazenamento. Assim como o processamento, no caso de tarefas de Big Data, é necessária uma infraestrutura para armazenar todas as bases a serem utilizadas. Com a nuvem, não é necessário comprar disco rígidos nem se preocupar com a conexão e disponibilidade desses dados. Basta alocar um armazenamento remoto adequado para o projeto e começar a utilizá-lo.
FACILIDADE DE CONFIGURAÇÃO
Imagine que você deseja testar uma nova tecnologia que entrou em alta no mercado, como uma engine ou framework. Caso isso seja feito em uma máquina local, é necessário fazer toda a configuração, garantindo a compatibilidade com o sistema. Na nuvem pode-se simplesmente utilizar uma máquina pré-configurada para essa tecnologia (como AWS ERM), sendo esta etapa de configuração desnecessária. Além disso, não é necessário se preocupar com atualizações das dependências pois essas máquinas virtuais mantém as dependências atualizadas.
AUTOMATIZAÇÃO DE PROCESSOS
Muitas vezes, desejamos executar um processo com certa regularidade (diariamente, por exemplo). Localmente, para rodar um código regularmente, seria necessário configurar uma aplicação para executar um arquivo em um determinado horário ou em determinada condição. Mesmo que essa máquina não seja uma máquina pessoal, mas uma máquina dedicada a isso, diversos problemas podem ocorrer. Por algum motivo ela pode ser desativada, a conexão pode sofrer alguma instabilidade, atualizações podem ser necessárias etc. Na nuvem é possível configurar esse tipo de processo facilmente, com diversas redundâncias para garantir o funcionamento adequado. Na vida de um cientista de dados, esse processo será, normalmente, uma pipeline de dados, ou seja, um conjunto de operações para uma base que resultam no output adequado. Um exemplo de ferramenta disponível na nuvem para isso é o AWS Pipeline.
COMPUTAÇÃO SERVERLESS
No dia-a-dia de um cientista de dados, muitos scripts são construídos e executados. Muitas vezes só precisamos executá-los e usar a resposta em outros códigos, mas as limitações de hardware acabam sendo um empecilho. Para este fim, os serviços de nuvem disponibilizam um serviço conhecido como Computação Serverless (ex: AWS Lambda).
Com esse serviço é possível executar um código sem se preocupar com o provisionamento de hardware. Basta prover o código e o serviço de nuvem o executa, escalando o hardware conforme necessário, de maneira automática.
Além de todos esses pontos citados, um ponto adicional bastante atrativo dos serviços de nuvem é o custo. O preço dos serviços é cobrado pelo uso, ou seja, não há cobranças, na maioria das vezes, pelo período ocioso e o custo é adaptável à necessidade. Dada a escalabilidade da nuvem, se paga apenas pelo necessário e, caso seja preciso um upgrade em algum aspecto, ele pode ser feito de forma instantânea.
A nuvem é uma plataforma que surgiu para facilitar a vida dos cientistas de dados. O seu foco deve ser em construir algoritmos e modelos que sejam confiáveis, com as tecnologias mais atuais e atualizadas, com baixa manutenção necessária, utilizando os dados disponíveis e pagando apenas pelo que é usado, sendo possível escalar a solução quando necessário de forma simples e rápida. A nuvem permite isso, trabalhar localmente não.
Guilherme Busato Vecchi
Analista de dados na Zeta
[1] https://www.edureka.co/blog/importance-data-science-cloud-computing/#:~:text=Cloud%20computing%20can%20help%20a,well%20as%20for%20a%20fee.&text=They%20also%20use%20other%20languages,and%20Java%20to%20write%20programs
[2] https://www.geeksforgeeks.org/why-cloud-computing-is-important-in-data-science/
[3] https://towardsdatascience.com/im-a-data-scientist-why-should-i-use-the-cloud-b896ded55bb9
[4] https://medium.com/analytics-vidhya/an-intro-to-cloud-computing-for-data-scientists-and-data-engineers-96d85b4852de