O que é stack LAMP?

Detalhe de uma jovem aluna usando um tablet no saguão de uma universidade

O que é stack LAMP?

A stack LAMP é uma stack de software de código aberto popular para construir e implementar aplicações da web. LAMP é um acrônimo para os componentes no stack: Linux (sistema operacional), Apache (HTTP Server), MySQL (banco de dados) e PHP, Perl ou Python (linguagem de programação).

Você provavelmente já ouviu falar da stack LAMP. Algumas das aplicações da web de código aberto mais populares da atualidade, por exemplo, WordPress e Drupal , são todas executadas na LAMP.

Mas a LAMP tem muito mais a seu crédito. Foi uma das primeiras stacks de código aberto para a web e continua sendo uma das formas mais comuns de entregar aplicações. Ela é tão amplamente utilizada que é provável que você a encontre com frequência durante sua carreira ao atualizar ou hospedar aplicações existentes. E é considerada por muitos como a plataforma preferida para o desenvolvimento de novos aplicativos da web personalizados.

Estável, simples, poderoso, são as palavras mais usadas para descrever a LAMP. Tudo isso faz com que valha a pena aprender e ser uma adição valiosa ao currículo de qualquer desenvolvedor.

Vista aérea de rodovias

Fique por dentro da nuvem 


Receba o boletim informativo semanal do Think para ver orientações especializadas sobre a otimização das configurações multinuvem na era da IA.

Componentes da stack LAMP

LAMP significa Linux, Apache, MySQL e PHP. Juntos, eles fornecem um conjunto comprovado de software para fornecer aplicações da web de alto desempenho. Cada componente contribui com recursos essenciais para a stack:

  • Linux: o sistema operacional. O Linux é um sistema operacional (SO) gratuito e de código aberto que existe desde meados da década de 1990. Atualmente, ele tem uma extensa base de usuários em todo o mundo que se estende por todos os setores. O Linux é popular em parte porque oferece mais flexibilidade e opções de configuração do que alguns outros sistemas operacionais.

  • Apache: o servidor da web. O servidor web Apache processa solicitações e disponibiliza ativos web via HTTP para que a aplicação possa ser acessada por qualquer pessoa no domínio público por meio de um simples URL. Desenvolvido e mantido por uma comunidade aberta, o Apache é um servidor maduro e rico em funcionalidades que executa uma grande parte dos sites atualmente na internet.

  • MySQL: o banco de dados. MySQL é um sistema de gerenciamento de banco de dados relacional de código aberto para armazenar dados de aplicações. Com o My SQL, você pode armazenar todas as suas informações em um formato facilmente consultado com a linguagem SQL. O SQL é uma ótima opção se você estiver lidando com um domínio comercial que seja bem estruturado e quiser traduzir essa estrutura para o back-end. O MySQL é adequado para executar até mesmo sites grandes e complexos. Consulte "Bancos de dados SQL versus NoSQL: qual é a diferença?" para obter mais informações sobre bancos de dados SQL e NoSQL.

  • PHP: a linguagem de programação. A linguagem de script de código aberto PHP trabalha com o Apache para ajudar a criar páginas da web dinâmicas. Você não pode usar HTML para executar processos dinâmicos, como extrair dados de um banco de dados. Para fornecer esse tipo de funcionalidade, basta colocar o código PHP nas partes de uma página que você deseja que seja dinâmica.

O PHP foi projetado para eficiência. Ele torna a programação mais fácil (e um pouco mais divertida), permitindo que você escreva novo código, clique em Atualizar e veja imediatamente as mudanças resultantes sem a necessidade de compilar. Se preferir, você pode trocar o PHP por Perl ou a cada vez mais popular linguagem Python.

A LAMP possui uma arquitetura clássica em camadas, com o Linux no nível mais baixo. A próxima camada é Apache e MySQL, seguida por PHP. Embora o PHP esteja nominalmente na camada superior ou de apresentação, o componente PHP fica dentro do Apache.

Desenvolvimento de aplicações

Venha conosco: desenvolvimento de aplicações para empresas na nuvem

Neste vídeo, o Dr. Peter Haumer explica como é o desenvolvimento atual das aplicações empresariais modernas na nuvem híbrida, demonstrando diferentes componentes e práticas, incluindo o IBM® Z Open Editor, o IBM Wazi e o Zowe. 

Como os elementos da stack LAMP trabalham juntos

Uma visão de alto nível da ordem de execução da stack LAMP mostra como os elementos se interoperam. O processo começa quando o servidor web Apache recebe solicitações de páginas web do navegador de um usuário. Se a solicitação for para um arquivo PHP, o Apache passa a solicitação para o PHP, que carrega o arquivo e executa o código contido no arquivo. O PHP também se comunica com o MySQL para buscar quaisquer dados referenciados no código.

O PHP, então, usa o código no arquivo e os dados do banco de dados para criar o HTML que os navegadores exigem para exibir páginas da web. A stack LAMP é eficiente no tratamento não apenas de páginas da web estáticas, mas também de páginas dinâmicas nas quais o conteúdo pode ser alterado cada vez que é carregado, dependendo da data, da hora, da identidade do usuário e de outros fatores.

Depois de executar o código do arquivo, o PHP passa os dados resultantes de volta para o servidor web Apache para enviar ao navegador. Ele também pode armazenar esses novos dados no MySQL. E, claro, todas essas operações são habilitadas pelo sistema operacional Linux executado na base do stack.

Flexibilidade da stack LAMP

Embora a LAMP use o Linux como sistema operacional, você pode usar os outros componentes com um sistema operacional alternativo para atender às suas necessidades específicas. Por exemplo, há um stack WAMP, que usa o Microsoft Windows; MAMP com Mac OS; e até mesmo WIMP, usando o Windows e o servidor da web dos Serviços de Informações da Internet da Microsoft.

Como a LAMP é toda de código aberto e não proprietária, você pode evitar o lock-in. Você tem flexibilidade para selecionar os componentes certos para projetos ou requisitos comerciais específicos.

A LAMP também oferece flexibilidade de outras maneiras. O Apache é modular em design, e você encontrará módulos existentes personalizáveis disponíveis para muitas extensões diferentes. Esses módulos variam desde a compatibilidade com outros idiomas até os recursos de autenticação.

Outra vantagem da LAMP é sua arquitetura segura e práticas de criptografia bem estabelecidas que foram comprovadas na empresa.

Stack LAMP e eficiência de desenvolvimento

A LAMP pode ajudar a reduzir o tempo de desenvolvimento. Como a LAMP é uma stack de código aberto disponível há mais de uma década, existe hoje um ecossistema LAMP substancial. Você pode se basear no que outras pessoas fizeram no passado e torná-lo seu. Trabalhe em um módulo do Apache que contribui com 80% do caminho, personalize os últimos 20% e economize um tempo considerável.

Soluções relacionadas
Enterprise Application Service for Java

Modernize com facilidade suas cargas de trabalho Java com o serviço totalmente gerenciado da IBM. 

    Explore o Enterprise Application Service for Java
    Soluções para desenvolvimento de aplicações

    Libere a inovação e dê a suas equipes recursos para modernizar rapidamente as aplicações existentes e entregar novos serviços nativos da nuvem.

      Explore soluções de desenvolvimento de aplicações
      Consultoria em desenvolvimento de aplicativos na nuvem

      O desenvolvimento de aplicações na nuvem permite criar uma vez, iterar rapidamente e implementar em qualquer lugar.

      Explore serviços de consultoria em desenvolvimento de aplicações em nuvem
      Dê o próximo passo

      Gere uma modernização sem dificuldades, implementação rápida e resiliência. Desde aplicações legadas até soluções nativas em nuvem, a IBM ajuda você a construir um ecossistema de aplicações flexível e de alto desempenho que se adapta às necessidades em constante evolução de sua empresa.

        Explore o Enterprise Application Service for Java Conheça soluções de desenvolvimento de aplicações