Trabalhando com AWS e Projetando Softwares com Escalabilidade

by leonardo. Aug 17, 2017 16:39.

trabalhando com aws e projetando softwares com escalabilidade | gauntē marketing digital

No início desta semana, me inscrevi para em um curso para passar no exame AWS Certified Developer Associate (CDA) e, até agora, estou realmente entusiasmado com o material e com as muitas características que a AWS tem para oferecer. O autor do curso (Kroonenburg) é desenvolvedor e um defensor de muitos dos produtos dentro do ecossistema AWS e não é difícil ver o porquê. Como ele mesmo explica, parte da razão pela qual a AWS é tão revolucionária é que causa da infra-estrutura com que foi montada e os custos razoáveis.

Antes da AWS, empresas ainda em fase embrionária (startups) tinham que correr para angariar fundos e assim comprar e manter seus próprios servidores, executar, otimizar e lidar com cargas de trabalho difíceis de prever. Agora, as empresas podem terceirizar essas responsabilidades para a Amazon e pagar pela quantidade de servidores que usam. Em geral, quando as pessoas se referem a "serviços na nuvem", eles estão falando sobre esse tipo de cenário onde o código está sendo armazenado em bancos de dados remotos ou executado por um conjunto de servidores cujo poder de computação está disponível para aluguel. A Amazon possui "fazendas" de servidores em todo o mundo, com isso outra vantagem do AWS é permitir a expansão para novos mercados com facilidade e fornecer serviços com baixa latência para clientes em todo o mundo.

Aprender mais sobre a AWS abriu meus olhos para programar com a escalabilidade em mente. Eu sempre soube que o código escalável é algo a ser aspirado, mas, na prática, a maioria das aplicações que desenvolvi no passado nao eram projetadas para lidar com surtos no número de solicitações que poderia chegar por minuto ou satisfazer adequadamente as necessidades de pessoas em áreas geograficamente dispares.

Se assim como eu, você tem interesse em se aprofundar no tópico escalabilidade de softwares, aqui está uma ótima mensagem do StackExchange que discute o tema em maior profundidade.

Escalabilidade é medida pela eficiência à medida que a carga aumenta

Algumas perguntas para manter em mente quando desenvolvendo um aplicativo escalável:

Quantos pedidos simultâneos o aplicativo recebe por segundo?

Quanto tempo leva o servidor para processar cada solicitação?

E finalmente quantos registros podem ser recuperados do banco de dados do aplicativo em um determinado período de tempo?

Nestes três casos, vistos de forma independente, serão necessárias abordagens diferentes.

No primeiro caso, uma possível solução pode ser fornecer mais servidores usando o AWS para que o aplicativo possa lidar com maiores volumes de tráfego de usuários.

No caso da segunda pergunta, uma solução pode envolver a refatoração do próprio código para que a complexidade do tempo e do espaço dos algoritmos contidos no código seja minimizada para um melhor desempenho.

No terceiro caso, uma resolução potencial poderia ser otimizar suas consultas SQL para velocidade ou alterar a forma como os registros são armazenados. (Você pode aprender mais sobre como escrever consultas SQL rápidas aqui).

Escrever código escalável é uma das coisas que faz a programação um campo tão emocionante para se trabalhar. Sempre há novos horizontes para explorar em termos de melhorar o desempenho da sua aplicação.

2017-08-17Gauntē Marketing DigitalGauntē Marketing Digitalhttps://www.instagram.com/gauntewebhttps://www.facebook.com/gauntewebhttps://twitter.com/gauntewebhttps://plus.google.com/+gauntewebhttps://flipboard.com/@leowebguy/marketing-digital-uit17mblyhttps://gaunte.com/images/gaunte-logo-b1.png25284+55-71-4042-0012contato@gaunte.comsaleshttps://gaunte.com/images/blog/aws-projetando-softwares-com-escalabilidade.jpg19201080
Gauntē Marketing Digitalhttps://www.instagram.com/gauntewebhttps://www.facebook.com/gauntewebhttps://twitter.com/gauntewebhttps://plus.google.com/+gauntewebhttps://flipboard.com/@leowebguy/marketing-digital-uit17mblyhttps://gaunte.com/images/gaunte-logo-b1.png25284+55-71-4042-0012contato@gaunte.comsalesGauntē Marketing DigitalCriação de Sites e Lojas Virtuais, Otimização de Busca (SEO), Mídias Sociais, Identidade Visual e mais.HomeBlogTrabalhando com AWS e Projetando Softwares com Escalabilidade

artigos recentes

d. contato

Quer saber mais? Entre em contato, nós cuidamos do resto.