Na Maioria das Vezes Quando Estamos construindo aplicações web, semper pensamos primeiramente em linguagens de programação, frameworks, banco de dados, arquitetuturas (гексагональные, лук, cqrs,…), se irá ser monolítico, microsserviços e и т.д.
E Depois de todas essas emises emocamos. Кодиффер -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э -э.
E aí Já vem aquela pergunta: Quanto de harpware nós iremos precisar para rodar essa aplicação?
Uma Boa parte das pessoas não executam um teste de estresse, para tentar simular um tolume de usuários utilizando o sistema para obter uma métrica e tentar dimensionar o tamanho Должно ли оборудовать необходимость.
Então gotocamos a Fazer Plag, Como Por Exemplo: Definiir o Hardware da máquina de desenvolvimento como uma configuração mínima para rodar o ambiente de produção.
E Após как DefineCões de harpware em Métricas ou wurs keyçamos a pensar sobre Qual Cloud utilizar. E aí Já Pensando Logo de Cara No Case Netflix, Pois minha aplicação é Muito, аналогичный, Precisamos da mesma escala e Agilidade que les utilizam eles utilizam aws, uma das maiores plataformas de computaza na nuvem do mundo.
Энту, Бора Ла Криар в роли Макинаса Э. Кейдчар, Фазер О развернуто!
E agora chegamos em uma parte bem interessante da aplicação que foi construída: как faturas, хахахах. MAS APLICAção é «INGRIELMENTERECLEVER» , клиенты Todos OS Felises, Kubernetes Escalando Aplicação Monstruosamente (Hahahahahah), Monitonamento 100% (Haahahahaha), Sem Dor de Cabeça Com O Cloud.
E OS CUSTOS DO PROJETO ESTãAO COMETCANDO A FICAR FORA DO ORCAMETO, SEM MARGEM PARA NEGOCIAçAO, Preço Da Aplicação fora de Mercado Out Até Mesmo O Caso em Que aplicação fica astustentável.
E ateCamos a pensar sobre o que foi feito, se Realmente o código da aplicação foi bem infuladado, se foi um erro a escolha das linguagens de programação, рамки, банко де Дадос и т. Д.
Entãao admocamos a Revisar: arvificar se nione temo reduzir o números de máquinas ou até mesmo refazer alguma parte do código para melhorar o desempenho para tentar diminuir ostos.
E em alguns casos até paramos de monitorar Ахар Que Isso Realmente vai reduzir os custos. POR QUE A Aplicação que foi escrita está «INGRIELMENTERECLEVER» , нулевая ошибка e overtime 100%.
E Mesmo com essa decisão os spregsas de custo ainda não foram resolvidos. E aí a pergunta volta para a mesa novamente: como podemos reduzir os custo dentro do cloud escolhido e sem alterar o código já exastente da aplicação?
Para Exemplificar o Que foi Relatado Até Agora, iremos usar в качестве Seguintes decisões:
Início de Tudo
Stack Escolhido foi (Java 17, Spring Boot, Jpa e Postgresql) E Aplicação é Um Crud simples de Cadastro de tutoriais ( https://github.com/fourpixelit/simplecrud-java ).
Aws (❤ ❤), Máquinas rodando no brasil para Que os clientes tenham uma natência menor e nãao tenham pressas com as rotas de dns estrangeiras.
Mquina Escolhida é Do Tipo C5 de 2vcpu e 4gb de memória ram, que tem um husto mensal em torno de 101,33 dólares. ОС яичет Serão executados no Linux (Ubuntu 20.04), Docker Versão 20.10.10, Docker-Compose Versão 2.0.1 E Para Fazer Um Teste de Estresse em Nosso Imeploro vamos utilizar o K6.
Vamos simular um ambiente onde iniciamos com 150 usuários e depois simulamos um pico de 300 e final diminuímos para 50 usuários.
Nesse Cenário Os Usuários Irão Cadastrar, Editar, Publicar E Depois Remover o Учебное пособие.
OS ResultAdos Desse Primeiro Benchmark Está Aqui:
Intel | 401484 | 5.725 | 742.042908 |
Troca de Intel Por Amd
Migrando para Uma máquina do tipo c5a com as mesma configuração só que com processadores amd, Que Tem o Custo Mensal Em Torno de 91,84 Dólares.
O Custo Tem Uma dierenca de aproximadamente 10%, Mas Como fica O Desempenho?
Intel | 401484 | 5.725 | 742.042908 |
Амд | 400260 | 6.609 | 739.773979 |
Após Essa Troca de Intel Para Amd, Melhoramos O Nosso Custo Mas, E Agora? O Que eu osso fazer para continuar reduzindo o custo? Reescrever Toda A Aplicação?
E autras arquiteturas de processadores?
ESESE ALGO NO MUNDO DEGENENTE DA ARQUITETURA X86 (Intel E AMD)?
SIM, ESSECT ARQUITETURA ARM ( https://en.wikipedia.org/wiki/arm_architecture ) e aws Oferece os -процессадоры desenvolvidos por ela mesmo.
Migrando para Uma máquina do tipo c6g com as mesma configurações só que com processadores graviton, com um custo Менсал EM TORNO DE 82,20 Dólares.
10% Мено.
Como Será O Desempenho da aplicação utilizando isso?
Intel | 401484 | 5.725 | 742.042908 |
Амд | 400260 | 6.609 | 739.773979 |
AWS Graviton | 402412 | 5.292 | 743.767445 |
Só Essage na aws?
Qual Outro Cloud Que Oferece Processadores Arm?
Decidimos testar Aracle Cloud, Maquina do Tipo A1 Com, как Mesmas Configururações das que foram utilizadas na aws cloud, tem o custo mensal em torno de 20 dólares.
Entã Temos Uma diferenca de 80% para o intel, 78% da amd e 75% da aws graviton em custo? Como Será O Desempenho Disso?
Intel | 401484 | 5.725 | 742.042908 |
Амд | 400260 | 6.609 | 739.773979 |
AWS Graviton | 402412 | 5.292 | 743.767445 |
Oracle A1 | 386708 | 5.747 | 714.695072 |
NOS яички o uso de cpu ficou em alguns em 100%, Mas ainda conseguiu fazer 714 requisições por segundo. E se a Gente adicionar mais 2 Vcpu? Pode Ser Que Se Comparty Adware Ficaria até incusto com os ootros яички, Mas olhando o custo mensal de cada wardware volta a ficar justo.
Mquina Do Tipo A1 Com 4 Vcpu e 4gb de memória o custo mensal seria em torno de 33 dólares. Diferença Mudaria Para 67% Para O Intel, 64% DA AMD E 59% DA AWS GRAVITON EM CUSTO.
Intel | 401484 | 5.725 | 742.042908 |
Амд | 400260 | 6.609 | 739.773979 |
AWS Graviton | 402412 | 5.292 | 743.767445 |
Oracle A1 | 386708 | 5.747 | 714.695072 |
Oracle A1 — 4 VCPU | 403800 | 4.910 | 746.391315 |
O Cenário pode até ser fictício para alguns, mas foi muito real na minha Realidade dentro do mundo de empresas de tecnologia: Que As Deciseses não são somente sobre a tecnologia utilizada Нет стека DA Aplicação, Escala, Monitoramento E и т. Д. Анкет Não é Sou disso Que uma aplicação vive! Alem de Resolver o Проблема Que foi lhe dado, ela ainda precisa ser конкуренция no mercado.
E nem tudo está relacionado ao Stack escolhido ou em recescrever, как Aplicações do Zero, Hoje estamos rodando com stack (Java, Golang e Nodejs) Mais de 6 Meses Em Processadores Arm Em Aproximadamente 50 Máquinas. E Com Tudo que foi apresentado aqui conseguimos nos tornar dentro da propia aws 25% mais condivivo, mas quando olhamos para wootro cloud, conseguimos subir esse número para 65% SEM RESCREVER NENHUMA LINHA DE CODIGO DA APLICACãO, APENAS TROCANDO A ARQUITETURA DE PROCESCADORES DAS Máquinas utilizadas Анкет
Оригинал: «https://dev.to/fourpixelit/o-futuro-de-aplicacoes-web-com-baixo-custo-1e6g»