GUIA PARA INICIANTES

Uma explicação para o Technical Stack e como escolher o caminho certo

O Technical Stack aparece em todas as plataformas e é mencionado por todos os desenvolvedores.

Foto de Vadim Sherbakov em Unsplash

Vamos fazer uma pesquisa ou participar de uma conferência sobre desenvolvimento de software ou DevOps, obtemos muitos resultados com frases: pilha LAMP, pilha MEAN, pilha MERN,… Durante o estágio inicial de criação de produtos, as pessoas também mencionam a importância de escolher a pilha técnica certa . Então, o que isso significa e por que é importante?

O que é Stack?

Lembrei-me dos primeiros dias de trabalho para uma empresa, foi muito emocionante ao configurar o primeiro projeto, a primeira vez que ouvi falar de vários termos novos: Vagrant, Symfony, Nginx, balanceamento de carga, CI Runners, ... “Emocionantes, muitos coisas em um único projeto !! ”, fiquei emocionado. Eu nunca tinha ouvido falar deles antes, desde que eu sou um aprendiz, não vim para escolas nem tinha amigos em minha rede. Depois de trabalhar um pouco, percebi a combinação do que listei, que se chama pilha técnica. Um sistema completamente executável não contém apenas códigos, mas também o sistema operacional e o software necessário, como servidor da Web, banco de dados, ... Reunimos essas partes, como jogar Lego, em uma pilha.

Pilha Técnica ou Pilha de Soluções, é um conjunto de hardware e software diferentes que interagem entre si, formando uma plataforma completa.
Anatomia da pilha técnica.

Como é uma pilha?

Existem componentes comuns em uma pilha e cada componente desempenha uma função específica:

  • Sistema operacional
  • Servidor HTTP
  • Servidor de banco de dados
  • Idioma do lado do servidor

Por exemplo, uma pilha LAMP inclui:

  • Linux
  • Apache
  • MySQL ou MariaDB
  • PHP ou Python

A imagem acima explica uma operação simples de aplicativo da web. Digamos que uma pilha LAMP, o servidor execute o Linux OS, o Apache jogue como um servidor HTTP. Quando o usuário envia uma solicitação, o servidor HTTP valida e entrega a solicitação ao servidor de aplicativos, nesse caso, é PHP. O aplicativo pode buscar dados do banco de dados, MySQL e retornar a resposta no formato JSON / XML / HTML.

Atualmente, a maioria dos provedores de hospedagem (AWS, GCP, Digital Ocean, etc.) fornece links rápidos, ajudando-nos a configurar pilhas comuns em segundos. Caso queira entender como funciona na prática, você pode comprar uma instância limpa do Linux e tentar instalar os componentes por conta própria, vale a pena.

Como escolher a pilha certa?

Geralmente depende do nível, familiaridade da equipe. Se seus colegas de equipe se acostumarem a desenvolver PHP, a pilha LAMP é a melhor opção. Se eles são proficientes no ASP.NET, provavelmente você deseja o ecossistema da Microsoft.

Slack também está usando LAMP. (Fonte)

Às vezes, uma pilha é escolhida com base no crescimento das empresas. O Twitter é um bom exemplo, a empresa usou o Ruby on Rails no início, mas anunciou a reescrita em Java / Scala em 2010 para lidar com um tráfego maior.

Enfatizo a importância de escolher uma pilha técnica no estágio inicial do desenvolvimento do produto. É útil supervisionar como a arquitetura do sistema, prevendo o custo da operação e a escalabilidade.

As pilhas populares

Pilha LAMP

A pilha mais popular usada pela maioria dos sites. Ele contém: Linux, Apache, MySQL, PHP / Python / Perl. CMS conhecidos como o Wordpress, Drupal são executados com base nesta pilha.

Imagem da DigitalOcean.

A grande coisa ao usar o LAMP é que todos os seus componentes são de código aberto, obtenha facilmente ajuda de uma grande comunidade e o servidor Linux é acessível.

Existem algumas variantes dessa pilha:

  • MAMP - MacOS
  • WAMP - Windows
  • XAMPP - Plataforma cruzada
  • LEMP - Substitua o Apache pelo Nginx

Pilha MEAN

Uma das pilhas mais conhecidas nos últimos anos, inclui: MongoDB, Express, Angular, NodeJS. Outra variante é MERN, substituindo Angular por React.

Na minha opinião, isso não é realmente uma pilha, porque não há sistema operacional. O NodeJS não é usado apenas para código do lado do servidor, mas também atua como servidor da web. Na prática, devemos usar o Nginx como servidor proxy e deixar o processo NodeJS para trás para lidar melhor com o tráfego.

Semelhante à pilha LAMP, todas as partes dessa pilha são gratuitas, o mais interessante é que você pode criar o aplicativo inteiro usando apenas Javascript, tanto para o back-end quanto para o front-end, economizando seu tempo e orçamento.

Pilha WISA

Essa pilha contém: Windows, IIS, SQL Server, ASP.NET. Todos saudam a Microsoft!

O WISA é usado principalmente por grandes empresas, devido a uma taxa de licença cara (Visual Studio, Windows, SQL Server, ...). Os profissionais são o rápido crescimento e manutenção. C # é uma linguagem bastante sólida, o ASP.NET é um bom parceiro do SQL Server e a Microsoft nos oferece muitas ferramentas úteis. É como se você fosse um jogador premium.

No entanto, o C # agora se torna idioma de código aberto. Existe o Visual Studio para Mac, o .NET Core nasceu, o SQL Server foi lançado para Linux e, no futuro, poderemos executar uma pilha da Microsoft no Linux?

Minhas últimas palavras

Cada desenvolvedor tem sua própria pilha técnica favorita. Não existe certo ou errado, depende de muitos fatores: orçamento, familiaridade, mercado, contexto, prazo, ... Também não há restrições sobre os componentes em uma pilha, como você pode substituir o MySQL no LAMP pelo PostgreSQL. Portanto, meu conselho é: escolha aquele com o qual você e sua equipe se sintam confortáveis ​​e faça uma ótima aplicação.

Referências

  • Escolhendo a pilha de software certa para o seu site
  • Pilha de soluções - Wikipedia