Mostrando postagens com marcador Aplicação. Mostrar todas as postagens
Mostrando postagens com marcador Aplicação. Mostrar todas as postagens

segunda-feira, 11 de janeiro de 2021

A Importância da Escalabilidade

 

Há um tempo atrás a maioria das empresas mantinha projeção de expansão programadas e limitadas, se imaginava uma estrutura final para as aplicações que sempre iria atender as necessidades por um longo tempo. Entretanto, o cenário atual possibilita cada vez o crescimento rápido e volátil de qualquer negócio, com isso se torna essencial criar soluções que se adaptem rapidamente aos novos patamares utilizando a escalabilidade para gerar estabilidade aos seus usuários.

Mas o que é escalabilidade? É basicamente a condição de uma solução de lidar com uma quantidade crescente de trabalho, minimizando o tempo de inatividade e erros, ou seja, é garantir que sempre seja possível atender a todos usuários com uma experiência de qualidade.

Existem dois tipos de escalabilidade, a mais utilizada é Dimensionamento (conhecido como horizontal), esse tipo é quando aumentamos o número de máquinas ou instâncias onde a aplicação está instalada, oferecendo através de balanceamento a distribuição de processamento de carga evitando a sobrecarga num único ponto. O outro é a Ampliação (conhecido como vertical), é quando efetuamos o aumento da capacidade computacional da máquina ou instância, para garantir que sempre haja recurso para processar as requisições. Não há uma opção ideal, é necessário a avaliação do cenário para definição de uma solução, e ainda pode ser considerada uma terceira opção que é a utilização de uma mistura entre as duas opções.

Além do fator mais importante, a disponibilidade da aplicação, o custo é outro fator que com a utilização da escalabilidade é beneficiado, isso porque através de uma estrutura altamente volátil podemos criar regras automatizadas de modificação de recursos que irão manter o ambiente do tamanho necessário para cada momento, reduzindo o investimento desnecessários, ou seja, estamos pagando pelo que está sendo consumido e não pelo achamos que será consumido.

Outro fator beneficiado também é a segurança, com a escalabilidade, a redundância e aumento de recursos de forma automática garante a disponibilidade e segurança dos dados. Falhas de hardware e gargalos que podem danificar os dados são corrigidos de forma praticamente automática.

A escalabilidade é cada vez mais um diferencial vital para qualquer solução, desde as monolíticas chegando nos micro serviços, por isso é fundamental fazer parte da concepção desde o início, porque dessa forma será possível garantir, disponibilidade, estabilidade, versatilidade, segurança e direcionamento de recursos.


Marcelo Goberto de Azevedo 

Arquiteto na GFT Brasil

//marcelogoberto.com.br


domingo, 26 de abril de 2020

Escolhendo um serviço de computação no Azure para sua aplicação




Quando temos uma aplicação seja legada ou nova, é importante termos conhecimento que tipo de serviço necessitaremos para disponibilizá-la na nuvem. Para ajudar nesta escolha foi criado um mapa decisório que lhe orientará qual deverá ser o serviço escolhido.

Importante: Caso sua aplicação contenha vários tipos de comportamentos, considere a aplicação do fluxo para cada um

Para auxiliar no entendimento de cada serviço, segue uma breve descrição e sua principal vantagem.


Esse serviço oferece uma imagem de uma máquina que se comportado como um computador de verdade. Uma das principais vantagens é que uma máquina virtual pode ter seu recursos totalmente controláveis, desde o sistema operacional, recursos de ambiente, memória, CPU, etc, além de oferecer a  flexibilidade da virtualização sem a necessidade de comprar e manter o hardware físico.

Esse serviço oferecer uma estrutura para criação de ambiente Web com as estruturas populares .NET, .NET Core, Node.js, Java, PHP, Ruby ou Python, pode ser executado em instância na modalidade, web, web container e api. A principal vantagem é facilidade de implementação.

Através do tipo de armazenamento Blob é possível armazenar vários objetos (HTML, CSS, JavaScript e arquivos de imagem), além de contar com redundância de dados em escala global. A principal vantagem é o preço, por você somente será taxado pela armazenamento dos arquivos.

Esse serviço permite que você execute pequenas funções sem se preocupar com a infraestrutura do aplicativo. Essas funções podem ser executadas através de gatilhos. A principal vantagem é a execução sem necessidade de servidor, além de ser cobrado somente pela execuções.
Esse serviço oferece a possibilidade de encapsular todos os recursos e componentes necessários de uma aplicação ser executada completamente. A principal vantagem é a velocidade em provisionar esse ambiente, além da possibilidade de escalonamento horizontal.

Esse serviço oferece um repositório de nós de computação (máquinas virtuais) que alto poder de processamento para execução da aplicação.
A principal vantagem é escalonar inúmeras máquinas virtuais para execução da rotina.

Esse serviço oferece uma plataforma de sistemas distribuídos que facilita o empacotamento, implantação e gerenciamento de microsserviços e contêineres escalonáveis e confiáveis. A principal vantagem é o gerenciamento dos aplicativos em nuvem.

Esse serviço oferece todo um ambiente de implantação de containers com o aplicativo, reduzindo a complexidade de gerenciamento e otimizando o escalonamento quando necessário. A principal vantagem é garantia de integridade e a manutenção dos containers.

Marcelo Goberto de Azevedo
Arquiteto na GFT Brasil
//marcelogoberto.com.br