fbpx
24 de janeiro de 2023

Consegue imaginar você morando em um hotel e não ter mais que se preocupar com gastos com mobília, manutenção, despesas de água, luz, gás, IPTU, isso sem falar em despesas para reforçar a sua segurança, não seria maravilhoso? Agora imagine que você pudesse personalizar o seu quarto do jeito que você quisesse! Magnífico! E para finalizar, caso você precise ir pra um outro lugar, a rede de hotéis, te oferece exatamente o mesmo layout  de quarto e a mesma personalização de decoração. Aí já é muita viagem! Pode ser que no mundo real, isso não seja possível, mas no universo cloud, isso é muito comum.

Nos últimos anos, muito tem se falado em “sistemas em nuvem”, “guardar os arquivos em cloud”, mas você sabe mesmo tudo o que está envolvido nisso? É realmente seguro manter seus dados em um local que você nem mesmo vê?

Para começarmos a desvendar alguns dos mistérios envolvendo esse universo, precisamos entender primeiramente o que esses termos significam.

Nem toda nuvem é igual

De maneira simplificada, cloud computing ou computação em nuvem, é uma tecnologia que permite o acesso remoto a softwares, armazenamento de arquivos e o processamento de dados, por meio da internet.

Isso quer dizer que quando alguém armazena uma imagem no Google Photos ou guarda um documento no Google Drive, está utilizando uma cloud computing? Não! Isso é chamado Cloud Storage ou armazenamento em nuvem. Este recurso está relacionado com a sincronização de arquivos em diversos sistemas, o que possibilita a criação e a edição simultânea dos mesmos. O Google Drive, o DropBox e o OneDrive, são alguns dos exemplos que podemos destacar aqui.

Através dessas soluções, os arquivos são enviados para um servidor mantido por um provedor Cloud ao invés de guardar no disco rígido do seu computador, permitindo o acesso por qualquer dispositivo pela internet. A partir disso, se tem a garantia de que os dados da empresa sempre estarão disponíveis caso tenha qualquer tipo de perda no local físico.

Voltando a falar sobre cloud computing, ele utiliza uma camada de rede para conectar os dispositivos, como computadores, smartphones e demais acessórios portáteis, a recursos centralizados em um centro de dados. Existem diversos modelos de serviço:

SaaS (Software as a Service) – é o mais utilizado pela maioria das empresas. Se você utiliza um software jurídico e a única coisa que você sabe  é que as informações ficam armazenadas com a empresa fornecedora do software, é muito provável que você esteja vinculado a este tipo de modelo. Este modelo, disponibiliza o aplicativo ao usuário por meio de uma interface via navegador ou de um programa no seu computador, o resto por trás disso você simplesmente não vê.

PaaS (Platform as a Service) – é uma plataforma de serviço que se aproveita dos benefícios da computação em nuvem enquanto mantem a liberdade de desenvolver aplicações personalizadas para cada software. Existe um provedor responsável pela manutenção do sistema operacional, da rede, dos servidores e da segurança. Para acessá-la o usuário precisa realizar a execução remota de uma aplicação para se ter acesso neste ambiente.

IaaS (Infrastructure as a Service) – neste modelo, temos um maior nível de flexibilidade e controle sobre os recursos de tecnologia. Ele permite as organizações aproveitarem mais os recursos brutos do servidor, enquanto o restante do gerenciamento de plataforma e do software é de responsabilidade da empresa.

Tipos de Cloud Computing

Podemos destacar aqui pelo menos 4 tipos de nuvens:

  • Nuvem Privada: Constituída de uma só organização com sua própria nuvem de servidor e software para utilização sem um ponto de acesso público.
  • Nuvem Publica: Onde diversas empresas podem usar de maneira simultânea, mas separadamente. O provedor da nuvem é responsável pela manutenção e segurança.
  • Nuvem Híbrida: Composta de duas ou mais infraestruturas de nuvens distintas que permanecem como entidades únicas, mas que estão unidas por uma tecnologia padronizada ou proprietária.
  • Nuvem Comunitária: Diferentes empresas reúnem em um ambiente seus recursos na nuvem para resolver um problema comum.

E as vantagens, quais são?

Agora, quais os benefícios em manter seus dados armazenados em nuvem?

Podemos mencionar algumas vantagens:

  1. Elimina a necessidade de se ter um armazenamento local – Manter unidades físicas locais para armazenamento fará com que você invista tanto com manutenções constantes, como equipamentos necessários para que tudo funcione perfeitamente.
  • Agilidade na recuperação – Caso aconteça qualquer problema de funcionamento com o seu sistema, é possível realizar a recuperação com mais agilidade.
  • Trás mais segurança para seus dados – Uma vez que suas informações não ficam mais armazenadas localmente no seu escritório, o seu fornecedor de cloud, ficará responsável por garantir a segurança das informações que você armazena. Além de armazenar essas informações com chaves encriptografadas.
  • Permite o acesso fácil e rápido de qualquer lugar que você esteja – Se você estiver em casa ou se estiver em viagem, ter seus dados alocados em nuvem, permitirá que você acesse esses arquivos ou sistemas de forma rápida e segura.
  • Atualizações automáticas de software – Neste ponto se torna mais prático para as empresas de tecnologia, realizarem atualizações automáticas do software. Mantendo seu sistema sempre mais completo e seguro.

Neste universo cloud, existem algumas termologias e conceitos que fazem toda a diferença. Existem por exemplo, os termos: kubernetes, contêiners, stateless, stateful…

Talvez você esteja agora pensando: Ele está falando grego! Pois é, num primeiro momento realmente parece grego, mas vou te explicar em mais detalhes tudo como funciona. 

Kubernetes – uma verdadeira orquestra silenciosa

Que diabos é isso? Kubermetes é uma plataforma de código aberto (permite que programadores façam alterações), que funciona como uma espécie de sistema para orquestração de armazenamento (lógico que ele vai mais além disso, mas por hora podemos concluir assim). Imagine você assistindo uma orquestra musical sem a presença de um maestro. Cada músico toca do jeito que quiser, no tempo que quiser, sem levar em consideração o conjunto e organização como um todo. Da mesma forma é assim que funciona os Kubernetes.

Mas por que os Kubernetes são tão importantes?

Para responder a esta pergunta vamos voltar um pouco no tempo. Ao longo dos anos os sistemas foram se modernizando, assim como as plataformas, passamos por grandes transformações, até mesmo na forma de armazenar as coisas.

Era da implantação tradicional: No início, as empresas executavam seus sistemas em servidores físicos. Não havia como definir limites de recursos para os sistemas em um mesmo servidor físico, e isso causava problemas de alocação de recursos. Por exemplo, se vários sistemas fossem executados em um mesmo servidor físico, poderia haver situações em que um sistema ocupasse a maior parte dos recursos e, como resultado, o desempenho dos outros sistemas seria mais lento. Uma solução para isso seria executar cada sistema em um servidor físico diferente. Mas isso nem sempre era possível, pois os recursos eram subutilizados, e se tornava custoso para as organizações manter muitos servidores físicos.

Era da implantação virtualizada: Como solução, a virtualização foi introduzida. Esse modelo permitiu que o usuário execute várias máquinas virtuais (VMs) em uma única CPU de um servidor físico. A virtualização permitiu que as aplicações fossem isoladas entre as VMs, e ainda fornecia um nível de segurança, pois as informações de uma aplicação não podem ser acessadas livremente por outras aplicações. A virtualização permitia e ainda permite melhor utilização de recursos em um servidor físico, e permite melhor escalabilidade porque uma aplicação pode ser adicionada ou atualizada facilmente, reduz os custos de hardware e muito mais. Cada máquina virtual é uma máquina completa que executa todos os componentes, incluindo seu próprio sistema operacional, além do hardware virtualizado.

Era da implantação em contêineres: Os contêineres são pacotes de software que contêm todos os elementos necessários para serem executados em qualquer ambiente. Os Contêineres são semelhantes às VMs, mas têm propriedades de isolamento flexibilizados para compartilhar o sistema operacional (SO) entre as aplicações. Portanto, os contêineres são considerados leves. Semelhante a uma VM, um contêiner tem seu próprio sistema de arquivos, compartilhamento de CPU, memória, espaço de processo e muito mais. Como eles estão separados da infraestrutura subjacente, eles são portáveis entre nuvens e distribuições de sistema operacional. Contêineres se tornaram populares porque eles fornecem benefícios extra, tais como:

  • Criação e implantação ágil de aplicações: aumento da facilidade e eficiência na criação de imagem de contêiner comparado ao uso de imagem de VM.
  • Consistência ambiental entre desenvolvimento, teste e produção: funciona da mesma forma em um laptop e na nuvem.
  • Utilização de recursos: alta eficiência.
  • A capacidade de observação não apenas apresenta informações e métricas no nível do sistema operacional, mas também a integridade da aplicação e outros sinais.
  • Desenvolvimento, integração e implantação contínuos: fornece capacidade de criação e de implantação de imagens de contêiner de forma confiável e frequente, com a funcionalidade de efetuar reversões rápidas e eficientes (devido à imutabilidade da imagem).

Voltando a pergunta anterior: Por que os Kubernetes são tão importantes?

Os contêineres são uma boa maneira de agrupar e executar suas aplicações. Em um ambiente de produção, você precisa gerenciar os contêineres que executam as aplicações e garantir que não haja tempo de inatividade. Por exemplo, se um contêiner cair, outro contêiner precisa ser iniciado. Não seria mais fácil se esse comportamento fosse controlado por um sistema?

É assim que o Kubernetes vem ao resgate! O Kubernetes oferece uma estrutura para executar sistemas distribuídos de forma resiliente. Ele cuida do escalonamento e da recuperação à falha de sua aplicação, fornece padrões de implantação e muito mais. Por exemplo, o Kubernetes pode gerenciar facilmente uma implantação no método canário para seu sistema.

Resumindo tudo isso: Se você estiver utilizando um sistema em nuvem e ele parar de funcionar por algum problema, em pouco tempo você continuará executando as mesmas ações, como se nada tivesse acontecido, tudo graça aos contêineres e kubernetes.

Stateless versus Stateful 

Dois outros termos usados neste universo Cloud, é o tal do stateless e stateful.

Stateless – É uma aplicação ou processo stateless são recursos isolados. Nenhuma referência ou informação sobre transações antigas são armazenadas, e cada uma delas é feita do zero. As aplicações stateless fornecem uma função ou serviço e usam a rede de entrega de conteúdo, a web ou servidores de impressão para processar essas solicitações a curto prazo. 

Por exemplo, uma transação stateless pode ser uma pesquisa online que você faz para tirar alguma dúvida. Você digita sua consulta no mecanismo de pesquisa e pressiona Enter. Se a transação for interrompida ou encerrada sem querer, você precisará começar outra. As transações stateless são como máquinas de vendas automáticas: você faz uma solicitação e recebe uma resposta. 

Stateful – São aquelas aplicações que podem ser usados mais de uma vez, como e-mails e serviços bancários online. Eles são executados com base no contexto das transações anteriores. Dependendo do que aconteceu nelas, isso pode afetar as transações atuais. Por isso, as aplicações stateful usam os mesmos servidores sempre que processam uma solicitação do usuário. Se uma transação stateful for interrompida, você conseguirá retomá-la praticamente de onde parou já que o contexto e o histórico são armazenados. As aplicações stateful acompanham informações como localização da janela, preferências de configuração e atividades recentes. Pense em transações stateful como uma conversa periódica e contínua com a mesma pessoa.

A maioria das aplicações que usamos no dia a dia é stateful. E, à medida que novos avanços tecnológicos surgem, os microserviços e containers facilitam a criação e implantação de aplicações na nuvem.

Caramba! É tanta coisa que realmente pode dar um nó na nossa cabeça.

É impossível explicar algumas questões sem ser um pouco técnico. Espero do fundo do meu coração que você tenha compreendido um pouco mais de como funciona tudo isso, sobre esse universo da nuvem. Mas se você ainda tiver qualquer tipo de dúvida sobre esse e outros assuntos envolvendo a tecnologia e gestão jurídica, estarei à disposição para conversarmos mais, pois a última coisa que quero é que você ande com a cabeça nas nuvens, depois de toda essa explicação!

Forte Abraço.

Sobre o autor

Tiago é mentor em Produção Jurídica e Tecnologia na Éos. Possui vasta experiência como administrador de sistemas. Desempenhou a função de gestor de operações em grandes escritórios de advocacia.

Newsletter

Receba uma dose semanal de inspiração e inovação direto na sua caixa de e-mail

© 2020 ÉOS - Gestão na advocacia.
Designed by Monotípia