Descubra 3 tecnologias utilizadas no Sigma Cloud

O Sigma Cloud, além da sua arquitetura, conta com outras tecnologias que dão suporte ao seu desenvolvimento.

Softwares na nuvem (tecnologia Cloud) trabalham com ferramentas específicas para este tipo de tecnologia. O Sigma Cloud, além da sua arquitetura, conta com outras tecnologias que dão suporte ao seu desenvolvimento. O banco de dados Cloud MongoDB, o framework Spring e a hospedagem na AWS foram o trio de destaque para a aplicação. A escolha das ferramentas impactam diretamente no desempenho e performance do produto final.

Pense no Google, sim, o buscador mais utilizado no mundo. Sua interface é simples, uma página branca com um campo de texto para qualquer usuário digitar em sua língua o que deseja encontrar. Por trás dessa simplicidade, no entanto, existem várias tecnologias, a “engrenagem” do Google é extremamente complexa.

Por exemplo, imagine que você adoraria comer manga no lanche da tarde no seu trabalho, mas se sujar enquanto descasca a fruta não é bacana, não no meio do expediente. Então, você tem uma ideia: pesquisar no Google uma maneira de descascar manga sem fazer bagunça. E prontamente o buscador lhe retorna uma série de sites, blogs, vídeos e imagens que podem ser úteis para o seu objetivo. Talvez você não tenha se dado conta, mas em nenhum momento o Google vai mostrar alguém ensinando a “descascar” a parte de uma roupa que cobre os seus braços – a manga. Em português, a palavra manga pode significar uma fruta ou a parte de uma camisa/vestido/jaqueta etc. Você não precisa dizer para o Google que a manga que você está se referindo é a fruta, você apenas diz o que quer encontrar, o Google encontra.

Isso significa que há uma engenharia por trás da interface do Google, que se utiliza de todo tipo de tecnologia para compreender o texto que você digitou e trazer os resultados que melhor respondem a sua busca. Essencialmente, você só enxerga o necessário para atingir o seu objetivo.

Todo software, podemos dizer resumidamente, tem “dois lados”. Um lado que você vê, a interface, e o outro que você não vê, “o código”.

Um software desenvolvido com a tecnologia Cloud, como é o caso do Sigma Cloud, reúne diversas ferramentas que possuem funções específicas, mas que estão longe dos seus olhos. Saber escolher as ferramentas que irão compor o software é fundamental, porque existem variações entre elas que interferem no processo de execução (desempenho) das tarefas e na qualidade final do produto (performance).

Confira a seguir algumas ferramentas utilizadas no Sigma Cloud e quais são os benefícios que elas geram para a experiência de monitoramento eletrônico.

MongoDB – Banco de dados projetado para softwares em Cloud

Sigma Cloud foi planejado para receber, processar e armazenar milhões de eventos a longo prazo. De acordo com a nossa área de desenvolvimento, bancos relacionais não tinham a velocidade de processamento e pesquisa de grandes massas de dados, por isso optamos por utilizar um banco NoSQL.

Utilizando um banco NoSQL levamos apenas 0,0372 segundos para inserir 1000 documentos, enquanto em bancos relacionais levaríamos em média 1.17 segundos.

Eventos de sistemas de alarme são tipos de dados perfeitos para armazenamento em estrutura NoSQL, estes eventos não necessitam de um relacionamento direto entre seus objetos, dessa forma podemos criar novos campos e deixar de utilizar outros a qualquer momento. Ao utilizar o MongoDB podemos agrupar estes eventos das formas mais eficazes tornando suas pesquisas em curto e longo prazo extremamente rápidas.

O MongoDB também proporciona uma fragmentação da base de dados através de múltiplos Data Centers, tornando o acesso a porções de dados mais rápido do que bancos relacionais.

Spring – Framework Java para desenvolvimento Web

A linguagem de programação Java dispõe de vários frameworks, que auxiliam no desenvolvimento de sistemas. Além do Spring, outros mais conhecidos são Struts, Hibernate, JUnit, entre outros.

Na área de computação e sistemas de informação, um framework pode ser definido também como uma “solução para um conjunto de problemas em comum, com uso de classes e interfaces, que disponibilizam objetos com capacidade de capturar funcionalidades comuns a várias aplicações”. Por isso, escolher um bom framework pode contribuir para a produtividadeda equipe de desenvolvimento e qualidade do software.

A escolha por um framework leva em conta requisitos não funcionais do sistema e aos interesses da empresa desenvolvedora. Entre os critérios mais comuns, os mais desejáveis são modularidade e testabilidade. Módulos darão coesão entre os componentes do software e testes garantirão a estabilidade da aplicação. A escolha ainda precisa estar alinhada às metas de negócio, como por exemplo, tempo para chegar ao mercado (time to market) e custo-benefício.
Disponível no mercado e com boa fama para alcançar estes objetivos de projeto, o framework Spring é uma opção segura quando se trata de auxiliar desenvolvedores na construção de aplicações com qualidade e produtividade. Além disso, o Spring Source elimina a necessidade de integração com vários frameworks de fornecedores diferentes, reduzindo assim os riscos envolvidos.

Tando o Sigma Server quando o Sigma Processor são desenvolvidos com este framework.

AWS – Hospedagem para softwares em Cloud

A arquitetura do Sigma Cloud foi projetada para atender as características de um software na nuvem, o que inclui banco de dados específico, por exemplo. Além disso, o software está hospedado na Amazon Web Service.

Com a computação em nuvem, não é preciso realizar grandes investimentos iniciais em hardware e perder tempo nas atividades de manutenção e gerenciamento desse hardware. Ao invés disso, é possível provisionar exatamente o tipo e tamanho corretos de recursos computacionais necessários para executar a sua mais recente ideia ou operar o departamento de TI.

A computação em nuvem oferece uma forma simples de acessar servidores, armazenamento, bancos de dados e um conjunto amplo de serviços de aplicação via Internet. Uma plataforma de serviços em nuvem, como a Amazon Web Services, é proprietária e faz a manutenção do hardware conectado à rede necessário para esses serviços de aplicação, enquanto você provisiona e utiliza o que precisa por meio de uma aplicação web.

Restou alguma dúvida sobre o assunto ou possui alguma sugestão? Compartilhe conosco abaixo pelos comentários.