bem-vindo a Ciências agrícolas !
home

Criando uma plataforma Agritech eficiente e escalável nativa da nuvem usando o Kubernetes


A AgriTech está transformando os sistemas agrícolas e alimentares em um ritmo mais rápido do que se imaginava e, na CropIn, temos o hábito de liderar a inovação. Continuamos a explorar novas tecnologias de ponta e capacitar digitalmente diversos atores do agroecossistema para alcançar seus respectivos objetivos. Considerando que a CropIn está capacitando clientes em mais de 70 países para maximizar seu valor por acre, é fundamental para nós fornecer serviços consistentes em todas as regiões e proporcionar uma excelente experiência ao usuário. Para conseguir isso, recentemente adotamos a conteinerização e uma abordagem baseada em microsserviços para projetar nossos aplicativos. Então, o que isso significa?

A tecnologia de contêiner, um termo que foi emprestado do setor de transporte por motivos óbvios, revolucionou a forma como os aplicativos de agricultura são empacotados para permitir uma implantação mais rápida de aplicativos. Também tornou os servidores mais eficientes do que nunca e garantiu que o software funcionasse de forma confiável, independentemente do sistema operacional (SO). Ele eliminou vários problemas que os sistemas enfrentavam anteriormente, como a alta quantidade de sobrecarga de CPU e recursos necessários para construir e executar uma máquina virtual (VM), o limite no número de aplicativos que podem ser executados com eficiência, a incompatibilidade decorrente do sistema operacional diferenças, requisitos de armazenamento e o tempo necessário para inicializar o sistema operacional, entre vários outros. A conteinerização forneceu uma maneira eficaz de lidar com esses problemas.

Como funciona a conteinerização?


Podemos ter encontrado pelo menos imagens de navios de carga transportando contêineres de tamanho uniforme que são convenientes para guindastes carregarem e descarregarem em qualquer lugar do mundo. Da mesma forma, no espaço digital, um contêiner normalmente inclui não apenas o software, mas todas as suas outras dependências, como os arquivos de configuração, binários e bibliotecas (bins/libs). A conteinerização também reduz consideravelmente o tamanho de uma única unidade, reduzindo-a de vários gigabytes que as VMs ocupam para apenas algumas dezenas de megabytes. Em outras palavras, uma única unidade de contêiner com todos os componentes de tempo de execução é abstraída do sistema operacional host, tornando-a portátil e pronta para ser executada em qualquer plataforma ou nuvem.



A conteinerização também possibilita a divisão de um aplicativo de tamanho completo (monólito) em módulos menores chamados microsserviços, que se comunicam entre si por meio de interfaces de programação de aplicativos ou APIs. A modularidade da abordagem de microsserviços também torna conveniente desenvolvê-los, implantá-los e escalá-los de forma independente e fazer alterações isoladas em apenas algumas partes do aplicativo em vez de reconstruir o todo. Como resultado, os desenvolvedores podem obter um tempo de resposta mais curto e maior eficiência do processo. O outro benefício dos microsserviços é que eles são leves, o que os torna disponíveis e prontos para uso quase que instantaneamente. Além disso, os microsserviços são independentes de plataforma e dispositivo, o que se traduz em aplicativos que oferecem uma experiência de usuário consistente, independentemente da infraestrutura subjacente.

Vantagens da tecnologia de conteinerização:



Como os contêineres são gerenciados?


As tecnologias de contêiner, como Docker, CoreOS rkt, LXC, Mesos e várias outras, permitem uma nova abordagem para desenvolvedores codificarem e implantarem software de aplicativos. No entanto, a construção de aplicativos complexos, que incluem vários componentes empacotados em inúmeros contêineres, exige plataformas de orquestração de contêineres ou gerenciadores de cluster para ajudar a entender essas unidades individuais.

Um desses softwares de gerenciamento centrado em contêineres é o Kubernetes, um projeto de software que foi inicialmente concebido por engenheiros do Google. Também chamado por nomes como K8s ou Kube, ele automatiza diversos processos manuais associados à implantação, gerenciamento e dimensionamento de aplicativos em contêiner. Dado que o Kubernetes é de código aberto, ele vem com poucas restrições sobre como pode ser usado, dando às organizações a liberdade de utilizá-lo sem impedimentos e em quase qualquer lugar, seja no local ou em nuvens públicas, privadas ou híbridas.

O Kubernetes é considerado a plataforma ideal para hospedar aplicativos nativos da nuvem, incluindo CropIn's, pelo simples motivo de facilitar o dimensionamento acelerado e elástico, o monitoramento de recursos, roll-outs e roll-backs mais fáceis, realizar verificações de integridade e auto-avaliação. cura com funções como auto-colocação, auto-reinicialização, auto-replicação, auto-escalonamento. É uma plataforma de nível empresarial pronta para produção que pode ser utilizada para qualquer implantação de arquitetura.

Ele funciona colocando os diferentes contêineres em grupos, nomeando-os como unidades lógicas e distribuindo a carga entre eles. Isso agora permite portabilidade independente do ambiente, dimensionamento fácil e eficiente e crescimento flexível.

Algumas das tarefas que o Kubernetes permite que uma organização execute são:

CropIn, agora com tecnologia Kubernetes


Atualmente, a arquitetura de microsserviços é a escolha para o desenvolvimento de software devido aos benefícios de entrega rápida e frequente de aplicativos complexos, e também de maneira confiável. Embora várias organizações de hipercrescimento, como Amazon, Netflix, Uber, SoundCloud e eBay, tenham adotado microsserviços, essa abordagem ainda está em seus estágios iniciais no setor de agrotecnologia, e a CropIn é uma das primeiras a adotar.

Mover nossa plataforma principal para o Kubernetes nos permitiu permanecer nativos da nuvem e também executar cargas de trabalho com eficiência. Agora é-nos possível:

Com microsserviços e contêineres, em vez de um grande pedaço de aplicativo, agora teremos módulos funcionais menores que trabalharão juntos para alcançar os mesmos resultados de forma mais eficaz. Essa abordagem nos ajuda a alcançar uma escala maior do que era possível anteriormente no espaço agritech. Além disso, um pipeline automatizado de CI/CD (Integração Contínua/Implantação Contínua) nos permitirá passar de uma ideia à produção de todos os nossos recursos interessantes em um ritmo muito mais rápido e reduzir os tempos de inatividade para garantir que todos os serviços que oferecemos sejam sempre acessível.

O uso de microsserviços garante que nossos usuários finais se beneficiem imensamente de uma solução agritech que não apenas atende aos seus objetivos, mas também é fácil de instalar em qualquer sistema operacional e atualizada com mais novos recursos em intervalos frequentes. Nossos aplicativos estão preparados para dimensionar os requisitos de nossa clientela em rápido crescimento, garantindo que os usuários finais tenham tudo o que precisam, no momento certo, para executar suas operações comerciais sem problemas.

A AgriTech está transformando os sistemas agrícolas e alimentares em um ritmo mais rápido do que se imaginava e, na CropIn, temos o hábito de liderar a inovação. Considerando que a CropIn está capacitando clientes em mais de 70 países para maximizar seu valor por acre usando nosso conjunto de produtos, é fundamental para nós fornecer serviços consistentes em todas as regiões e oferecer a melhor experiência ao usuário.

Durante as próximas semanas, alguns de nossos aplicativos avançados farão a transição de uma arquitetura monolítica para uma com microsserviços desenvolvidos pelo Kubernetes. Como isso afetará as ofertas da CropIn?

Não apenas isso, mas há mais acontecendo no CropIn. Fique atento às atualizações!

Ciências agrícolas

Tecnologia Agrícola