Sobre o que estamos falando? A Black Friday é uma das datas mais estratégicas do…
Entenda o papel da alta disponibilidade e performance dos sistemas
Quando se está desenvolvendo um software, é fundamental pensar nos conceitos de alta disponibilidade e performance dos sistemas, bem como em como aplicá-los efetivamente no projeto. O desafio é encontrar o equilíbrio entre essas duas grandezas para cada sistema, o que depende dos requisitos do projeto.
A disponibilidade é a capacidade do sistema de responder às requisições dos clientes (sejam eles usuários, softwares, monitoramento e afins), ou seja, de estar disponível quando requisitado.
Já a performance é o conjunto de medidas de desempenho, normalmente relacionadas ao tempo de resposta do sistema ao executar as requisições dos clientes.
Alta disponibilidade é importante?
A importância da alta disponibilidade varia conforme a aplicação. O recurso é utilizado sempre que se necessita de acesso aos dados 24 horas por dia e 7 dias da semana. A interrupção do acesso pode afetar as operações, o que diminui os lucros. Níveis crescentes de disponibilidade têm sido exigidos de empresas que buscam ganhar vantagem competitiva.
Os computadores têm a tendência de parar quando menos se espera — normalmente quando são mais necessários. Portanto, a alta disponibilidade é fundamental em empresas cujo nicho está relacionado com e-business, notícias online, bancos de dados e afins.
Ao implantar um servidor desses, é importante considerar também o custo-benefício: quanto maior a disponibilidade, mais alto o preço.
Por que investir em alta performance?
Algumas aplicações exigem alta capacidade de processamento, conhecida como alta performance ou alto desempenho. Uma das mais comuns são as pesquisas científicas, que em geral necessitam analisar uma variedade grande de dados e fazer cálculos bastante complexos.
O foco da alta performance é trazer resultados satisfatórios em tempo hábil, mesmo que haja uma variedade enorme de instruções a serem executadas por segundo. Os valores e as métricas para avaliar a performance estão relacionados aos requisitos do sistema.
Clusters
Chegamos, então, à necessidade de usar clusters. Um cluster é um aglomerado (ou um conjunto) de computadores que usa um sistema operacional especial para gerenciar serviços de sistemas distribuídos. Seu objetivo é distribuir o processamento da aplicação entre os computadores, como se eles fossem uma máquina só.
Eles são usados quando a alta disponibilidade e/ou a alta performance são essenciais. Um cluster tem, no mínimo, dois computadores. Cada um deles é um nó e todos esses nós devem estar interconectados, formando uma rede.
Quanto mais computadores, maiores serão os custos. Ainda assim, é mais barato que comprar máquinas poderosas — e o processamento pode ser até mais rápido.
Essa rede deve ser criada de forma a permitir o acréscimo ou a retirada de nós (em casos de danos, por exemplo) sem interromper o funcionamento do cluster. A distribuição do processamento é feita por um software, que detecta defeitos e oferece meios de repará-los sem afetar as atividades.
Alta disponibilidade ou alta performance?
Há clusters de alta disponibilidade (seus sistemas permanecem ativos e em plena condição de uso por um longo período de tempo) e de alta performance (funciona permitindo que ocorra grande carga de processamento).
Pesquisadores, organizações e empresas usam clusters para incrementar, a um preço acessível, a escalabilidade, o gerenciamento de recursos, a disponibilidade ou o processamento.
Um sistema pode ter como objetivo fornecer alta disponibilidade e alta performance ao mesmo tempo — são os requisitos do sistema que definem isso.
Normalmente, o número de clientes ou a complexidade do projeto favorecem um dos requisitos (disponibilidade ou performance) em detrimento do outro. É preciso considerar também que um aumento na disponibilidade pode causar impacto na performance e vice-versa.
Se você gostou deste conteúdo, que tal melhorar seu e-commerce usando soluções de TI? Leia o nosso post e tire as suas dúvidas sobre o assunto!
Comments (0)