O que é Cloud Computing?

A computação em nuvem (do inglês, cloud computing) transformou a maneira como empresas e usuários acessam e utilizam recursos tecnológicos. Seja para armazenar arquivos, rodar sistemas complexos ou escalar aplicações web, a nuvem se tornou um pilar da transformação digital.

Mais do que uma tendência, a computação em nuvem é uma realidade que otimiza custos, escala recursos e impulsiona a inovação. Mas o que exatamente é a nuvem, e como ela se diferencia de outras tecnologias?

Neste artigo, vamos explorar o conceito de cloud computing, suas origens, tipos, modelos de serviço, vantagens e em que momento a migração para a nuvem faz sentido. Vamos começar?

1 – O que é Cloud Computing?

Cloud computing, ou computação em nuvem, é um modelo de entrega de recursos computacionais sob demanda — como servidores, armazenamento, redes, bancos de dados e software — por meio da internet.

A premissa básica da computação em nuvem é que, ao invés de adquirir e manter uma infraestrutura física local, como um data center por exemplo, os usuários podem acessar esses recursos de forma remota (através de internet) e escalável, pagando apenas pelo que utilizam.

A nuvem permite que aplicações sejam executadas de forma distribuída, facilitando a colaboração, aumentando a disponibilidade e otimizando custos operacionais. É um modelo que traz agilidade e flexibilidade tanto para empresas quanto para usuários individuais.

1.1 – Como a Cloud Computing surgiu?

A ideia de computação em nuvem surgiu nas décadas de 1960 e 1970, quando pesquisadores introduziram o conceito de “computação utilitária” (ou computação em tempo compartilhado), propondo que os recursos de computação funcionassem como serviços públicos, acessíveis e compartilhados entre os usuários.

No entanto, foi apenas nos anos 2000 que o conceito de Cloud Computing como o conhecemos hoje começou a tomar forma com o avanço da virtualização e da internet de banda larga.

Nesse período, empresas como Amazon, Google e Microsoft passaram a oferecer infraestrutura como serviço (IaaS), abrindo caminho para o modelo de consumo sob demanda, como conhecemos hoje. O lançamento do Amazon Web Services (AWS) em 2006 marcou um divisor de águas na adoção da computação em nuvem, permitindo que empresas alugassem servidores e armazenamento sob demanda.

Essa inovação abriu as portas para o crescimento exponencial da computação em nuvem, transformando a maneira como as organizações operam e escalam suas operações de TI.

2. Quais as diferenças entre Cloud Computing e Virtualização?

Embora a virtualização seja uma tecnologia essencial para a Cloud Computing, elas não são a mesma coisa:

  • Virtualização é a técnica que permite criar versões virtuais de recursos de hardware, como servidores, sistemas operacionais e dispositivos de armazenamento. Assim, um único servidor físico pode hospedar várias máquinas virtuais (VMs) independentes, cada uma com seu próprio sistema operacional e aplicativos. O principal objetivo da virtualização é otimizar o uso do hardware físico.
  • Cloud computing é um modelo de entrega de serviços que, utiliza a virtualização como uma das tecnologias-base, mas vai além. A nuvem leva a virtualização a um passo adiante e envolve o provisionamento automatizado de recursos, escalabilidade, acesso via internet, cobrança baseada no uso e alta disponibilidade.

Dessa forma, podemos entender que, toda cloud usa virtualização, mas nem toda virtualização é cloud.

3. Quais são os tipos de nuvem?

Quando falamos em “tipos de nuvem”, geralmente nos referimos aos modelos de implantação da infraestrutura. Ao todo, temos 5 tipos de nuvem, as quais são classificadas conforme a maneira como disponibilizam e gerenciam os seus recursos:

  1. Nuvem Pública (Public Cloud): a infraestrutura é de propriedade e operada por um provedor de nuvem terceirizado (como AWS, Azure, Google Cloud). Os recursos são compartilhados entre múltiplos clientes (multitenancy) e acessados pela internet. É ideal para empresas que buscam escalabilidade, baixo custo inicial e gerenciamento simplificado.
  2. Nuvem Privada (Private Cloud): uma única organização utiliza exclusivamente a infraestrutura. Pode ser hospedada internamente (on-premises) ou por um provedor de serviços terceirizado. Oferece maior controle, segurança e personalização, sendo ideal para empresas com requisitos de conformidade rigorosos ou cargas de trabalho muito específicas.
  3. Nuvem Híbrida (Hybrid Cloud): combina nuvens públicas e privadas, permitindo que dados e aplicativos se movam entre elas. As organizações podem aproveitar os benefícios da nuvem pública para cargas de trabalho não confidenciais e manter dados sensíveis na nuvem privada. Oferece flexibilidade e otimização de custos.
  4. Nuvem Comunitária (Community Cloud): a infraestrutura é compartilhada entre várias organizações com interesses e requisitos de segurança semelhantes. Um provedor terceirizado ou os próprios membros da comunidade são responsávei por operar esse ambiente. Um exemplo seriam órgãos governamentais ou instituições de pesquisa que compartilham uma nuvem para projetos colaborativos.
  5. Nuvem Multicloud (Multicloud): refere-se ao uso de múltiplos serviços de nuvem de diferentes provedores de nuvem pública. Por exemplo, uma empresa pode usar o AWS para desenvolvimento e teste e o Azure para seus sistemas de produção. O objetivo é evitar a dependência de um único fornecedor, otimizar custos e tirar proveito dos melhores recursos de cada provedor.

4. Quais os principais modelos de serviços da Cloud Computing?

Os modelos de serviços definem o nível de gerenciamento que o provedor de nuvem oferece e o nível de controle que o cliente tem, sendo três modelos principais:

  1. IaaS (Infrastructure as a Service – Infraestrutura como Serviço): o provedor fornece a infraestrutura básica (servidores, armazenamento, redes, virtualização), enquanto o cliente é responsável por instalar e gerenciar sistema operacional, aplicativos e dados. É o modelo mais flexível, sendo ideal para quem precisa de controle total sobre o ambiente. Exemplos: Amazon EC2, Microsoft Azure VM, Google Compute Engine.
  2. PaaS (Platform as a Service – Plataforma como Serviço): o provedor oferece um ambiente pronto para desenvolvimento e implantação de aplicações com sistema operacional, banco de dados, middleware e demais recursos necessários. Assim, o cliente se concentra apenas no desenvolvimento e implantação de seus aplicativos, sem se preocupar com infraestrutura. É ideal para desenvolvedores que querem agilidade. Exemplos: Google App Engine, Heroku, Azure App Services.
  3. SaaS (Software as a Service – Software como Serviço): o provedor entrega aplicações completas ao usuário, englobando infraestrutura, plataforma e o próprio aplicativo. O cliente usa o software pela internet, geralmente via navegador web ou app específico, sem necessidade de instalação local, na maioria das vezes. É o modelo mais fácil de usar e com menos controle para o cliente. Exemplos: Google Workspace, Microsoft 365, Salesforce.

5. Quais são os principais serviços de armazenamento em nuvem?

Os serviços de armazenamento em nuvem são cruciais para a maioria das aplicações e cargas de trabalho. Os principais tipos incluem:

  • Armazenamento de Objetos (Object Storage): ideal para dados não estruturados, como imagens, vídeos, backups e arquivos de log. É altamente escalável e durável, com acesso via APIs HTTP (ex: Amazon S3, Azure Blob Storage, Google Cloud Storage).
  • Armazenamento em Bloco (Block Storage): simula um disco rígido tradicional e é usado principalmente com máquinas virtuais para armazenar sistemas operacionais, bancos de dados e aplicativos que exigem baixa latência (ex: Amazon EBS, Azure Disk Storage, Google Compute Engine Persistent Disk).
  • Armazenamento de Arquivos (File Storage): oferece um sistema de arquivos hierárquico, permitindo que múltiplas instâncias de computação acessem e compartilhem dados através de protocolos de rede padrão como NFS e SMB (ex: Amazon EFS, Azure Files, Google Cloud Filestore).
  • Armazenamento de Backup e Arquivamento (Backup & Archive Storage): soluções otimizadas para backup de longo prazo e arquivamento de dados, geralmente com custos mais baixos e tempos de recuperação mais longos (ex: Amazon Glacier, Azure Archive Storage).

6. Vantagens e Desvantagens da Cloud Computing

A Cloud Computing, assim como qualquer outra tecnologia, possui suas vantagens e desvantagens, as quais devemos conhecer e considerar antes de optar por sua utilização em nosso dia a dia. Como vantagens temos:

  • Redução de custos: a adoção da cloud computing gera a redução de despesas com aquisição de hardware, manutenção técnica, consumo de energia elétrica, entre outros.
  • Escalabilidade: capacidade de aumentar ou diminuir recursos rapidamente conforme a demanda atual.
  • Agilidade no provisionamento: a ativação de novos recursos e serviços pode ser feita rapidamente, com alguns cliques e em poucos minutos.
  • Alta Disponibilidade e Resiliência: provedores de nuvem oferecem infraestruturas robustas com redundância de dados, mecanismos de proteção e recuperação contra desastres e acessibilidade aos dados de qualquer lugar com conexão à internet.
  • Segurança: provedores investem pesadamente em segurança física e cibernética.
  • Atualizações automáticas: muitas tarefas de manutenção são gerenciadas pelo próprio provedor.
  • Foco no Negócio Principal: equipes de TI podem se concentrar em inovação, e não em gerenciamento de infraestrutura.

Mas, como nenhuma tecnologia é perfeita, a computação em nuvem também apresenta algumas desvantagens:

  • Dependência da conectividade: a internet é essencial, pois, sem uma conexão não é possível acessar os recursos.
  • Dependência do Provedor (Vendor Lock-in): dificuldade em migrar dados e aplicativos para outro provedor.
  • Controle Limitado: menos controle sobre a infraestrutura subjacente em comparação com ambientes on-premises.
  • Segurança dos Dados: embora os provedores invistam em segurança, a responsabilidade compartilhada exige atenção do cliente, especialmente, em relação às políticas de proteção de dados.
  • Custos Imprevisíveis: se não for bem gerenciada, a utilização da nuvem pode gerar custos inesperados.
  • Conformidade Regulatória: alguns setores possuem regulamentações estritas que podem dificultar a adoção da nuvem pública.

7. Quando migrar para a nuvem é vantajoso?

A migração para a Cloud Computing vale a pena em diversas situações, especialmente quando as organizações buscam:

  • Redução de Custos Operacionais (OpEx): transformar despesas de capital (CapEx) em despesas operacionais.
  • Escalabilidade Rápida: para negócios com demandas variáveis ou crescimento acelerado, sem precisar realizar altos investimentos.
  • Inovação e Agilidade: para desenvolver e implantar novos produtos e serviços mais rapidamente.
  • Melhoria da Segurança e Resiliência: aproveitando a infraestrutura robusta e os recursos de segurança dos provedores.
  • Acesso a Tecnologias Avançadas: como Machine Learning, Inteligência Artificial e Big Data, sem a necessidade de grandes investimentos iniciais.
  • Otimização de Recursos de TI: liberando equipes para focar em iniciativas estratégicas em vez de manutenção de infraestrutura.
  • Recuperação de Desastres: implementar planos de continuidade de negócios de forma mais eficaz e econômica.

Em resumo, cada organização deve avaliar estrategicamente a migração para a nuvem com base em suas necessidades específicas, objetivos de negócio e maturidade tecnológica. Por isso, uma análise criteriosa é essencial e aumenta as chances de sucesso na migração.

Conclusão

A cloud computing já é uma realidade consolidada na área de TI e continua evoluindo com rapidez. Entender seus conceitos, tipos, modelos e implicações ajuda profissionais e estudantes da área de TI, a tomarem decisões mais assertivas, seja na hora de implementar soluções, propor melhorias ou planejar carreiras. Ao dominar os fundamentos da nuvem, você estará mais preparado para enfrentar os desafios da era digital.

Espero que este conteúdo seja útil em sua trajetória! Se você gostou do conteúdo, compartilhe com seus amigos e aproveite para conhecer mais sobre tecnologia da informação aqui!

Como manter a segurança na internet?

Em um mundo cada vez mais conectado, onde a tecnologia permeia cada aspecto de nossas vidas, a segurança na internet se tornou um dos temas mais importantes da atualidade. Nossas informações pessoais, financeiras e profissionais estão constantemente transitando por redes e dispositivos, tornando-nos alvos potenciais para ataques cibernéticos.

Mas o que significa, de fato, “manter a segurança na internet”? Muito mais do que apenas criar senhas complexas, a segurança na internet envolve um conjunto de hábitos, ferramentas e conhecimentos que, juntos, formam uma barreira robusta contra as ameaças digitais.

Neste artigo, vamos explorar os principais pilares da segurança digital e apresentar boas práticas que podem (e devem) ser adotadas por qualquer pessoa — seja você um profissional de TI, estudante da área ou alguém que procura simplesmente navegar com mais tranquilidade.

1. O alicerce da segurança na internet: senhas fortes e únicas

Não há como falar de segurança na internet sem começar pelas senhas. Elas são, literalmente, as chaves que protegem nossas contas e informações de acessos indevidos. Subestimar a importância das senhas é uma das maiores vulnerabilidades que muitos de nós criamos.

Para proteger nossa privacidade na internet, o primeiro passo é criar senhas fortes. Para isso, elas devem atender a alguns requisitos fundamentais:

  • Crie senhas longas: uma senha deve ter, no mínimo, 8 caracteres. Mas o ideal é que ela seja ainda mais longa. Quanto mais caracteres, mais tempo e recursos são necessários para quebrá-la em um ataque de força bruta.
  • Combine números, letras e caracteres especiais: jamais utilize padrões óbvios como “123456” ou “abcdef”. A força de uma senha reside na combinação aleatória de letras maiúsculas e minúsculas, números e caracteres especiais (como !, @, #, $, %, etc.). Pense em frases longas e fáceis de memorizar, mas difíceis de adivinhar.
  • Nada de senhas óbvias: datas de nascimento (a sua ou de pessoas próximas), nomes de parentes, nomes de animais de estimação, nome do time de futebol que você torce. Essas informações e quaisquer outras de cunho pessoal podem ser facilmente encontradas em suas redes sociais e na internet em geral. Assim, esse tipo de senha pode servir como uma porta de entrada para invasores. Seja criativo na hora de criar suas senhas e evite dados que possam ser facilmente associados a você.

2. Comportamentos que fortalecem sua segurança na internet

Criar senhas fortes é o primeiro passo, mas a segurança na internet vai além disso e exige a adoção de vários comportamentos conscientes. Ignorar esses comportamentos e não os adotar em seu dia a dia pode anular todo o seu esforço inicial de criar senhas fortes.

  • A regra de ouro: senhas únicas para cada serviço: reutilizar a mesma senha em diversas plataformas é um erro grave. Você já parou para pensar que, ao repetir sempre a mesma senha em todos os lugares, basta que apenas uma de suas contas seja comprometida e o invasor terá acesso a todas as outras onde você usa a mesma credencial? Invista na criação de senhas diferentes para cada serviço que você usa.
  • Não anote suas senhas: anotar suas senhas em papéis, blocos de anotações ou arquivos de texto não protegidos é extremamente perigoso. Se essas anotações, físicas ou virtuais, caírem em mãos erradas, sua privacidade estará comprometida. Procure utilizar mecanismos confiáveis de gerenciamento de senhas para não precisar recorrer às anotações.
  • Atualize suas senhas periodicamente: vazamentos de dados são uma realidade e podem acontecer a qualquer momento, para qualquer empresa. Mesmo que as empresas que armazenam nossos dados tomem as melhores medidas e usem os melhores recursos e ferramentas de segurança digital, ainda assim suas informações podem ser expostas. Por isso, crie o hábito de atualizar suas senhas regularmente, pelo menos uma vez ao ano para serviços comuns e com mais frequência para serviços críticos como seu e-mail principal e suas contas bancárias.

3. Camadas extras de proteção: medidas adicionais de segurança

A sofisticação dos ataques cibernéticos é cada vez maior e para nos proteger precisamos ir além do básico. Integrar medidas adicionais de segurança ao seu dia a dia é crucial para impedir a ação de criminosos digitais:

  • Utilize gerenciadores de senhas: com a quantidade de serviços digitais que utilizamos hoje em dia, memorizar senhas únicas para cada um é praticamente impossível. Nesse contexto, os gerenciadores de senhas são importantes ferramentas que armazenam suas credenciais de forma criptografada e segura. Isso lhe permite criar senhas complexas e únicas para cada serviço sem a necessidade de memorizá-las. Muitos desses serviços oferecem versões gratuitas e são compatíveis com diversos dispositivos.
  • Configure a autenticação multifator (MFA): a autenticação multifator (MFA) adiciona uma poderosa camada extra de proteção aos seus serviços digitais. Mesmo que sua senha seja descoberta por um invasor, ele ainda precisará superar um segundo fator de autenticação para acessar sua conta. Isso pode ser um código enviado por SMS, e-mail, aplicativo autenticador (como Google Authenticator ou Microsoft Authenticator) ou até mesmo sua impressão digital. Ative a MFA sempre que disponível, pois esta é uma das medidas mais eficazes para prevenir acessos indevidos.
  • Mantenha seus softwares atualizados: as atualizações de software, seja do seu sistema operacional (Windows, macOS, Android, iOS) ou de seus aplicativos, não trazem apenas novas funcionalidades. Elas corrigem vulnerabilidades de segurança que poderiam ser exploradas por invasores. Por isso, mantenha seus dispositivos e softwares sempre atualizados.

4 – Comportamentos extras para aumentar a segurança na internet

Além das medidas adicionais de segurança que podemos adotar em nossos dispositivos e sistemas, há também alguns comportamentos simples que podemos adotar para aumentar nossa segurança na internet:

  • Desconfie sempre: essa é uma regra fundamental. Jamais forneça suas senhas ou códigos de autenticação a terceiros, independentemente da justificativa ou do meio de comunicação utilizado (telefone, e-mail, WhatsApp, redes sociais). Empresas e instituições legítimas nunca solicitarão suas credenciais de acesso dessa forma. Desconfie de mensagens ou ligações suspeitas e, se necessário, procure as autoridades competentes.
  • Evite usar redes Wi-fi públicas: redes públicas, como as oferecidas em shoppings, cafés e aeroportos, são muito práticas, mas também muito perigosas. Geralmente, essas redes não possuem uma boa proteção e podem ser um alvo fácil para criminosos que tentam interceptar seus dados. Não as utilize para acessar informações sensíveis, como dados bancários ou e-mails importantes. Prefira utilizar sua conexão 4G/5G. Porém, se precisar utilizá-las, opte por uma VPN (Rede Privada Virtual), que cria uma conexão criptografada e segura, dificultando a interceptação das suas informações.
  • Não clique em links e anexos suspeitos: sempre desconfie de links ou anexos recebidos por e-mail, SMS ou aplicativos de mensagens, especialmente se a mensagem for alarmista ou pedir para você tomar uma atitude urgente. Clicar em links maliciosos ou baixar anexos infectados pode instalar programas espiões no seu dispositivo ou direcioná-lo para páginas falsas que roubam suas informações de login. Verifique sempre o remetente e o conteúdo antes de clicar e, em caso de dúvida, entre em contato, por meio de um canal oficial, diretamente com a empresa ou pessoa que supostamente lhe enviou a mensagem.

Conclusão

Manter a segurança na internet é um processo contínuo que envolve a criação de senhas fortes, a adoção de comportamentos seguros e o uso dos recursos tecnológicos de segurança disponíveis. É dessa forma que você deixa de ser uma presa fácil para invasores e constrói uma verdadeira muralha contra ameaças cibernéticas, podendo usufruir dos benefícios da internet de forma segura e tranquila.

Lembre-se: suas informações pessoais são valiosas e proteger seus dados é proteger a si mesmo. Por isso, invista na sua segurança digital e proteja sua privacidade em um mundo cada vez mais conectado.

Espero que este conteúdo seja útil de alguma forma para você. Gostou do post? Compartilhe com seus amigos e aproveite para conhecer mais sobre segurança da informação clicando aqui!

O que é Docker?

Com a crescente demanda por soluções ágeis, escaláveis e portáteis no desenvolvimento de software, o Docker tem se destacado como uma poderosa ferramenta que revolucionou a maneira como aplicações são construídas, distribuídas e executadas.

Baseado na ideia de automatizar a implantação de aplicações por meio de contêineres, o Docker tem ganhado popularidade e notoriedade na comunidade de desenvolvimento devido a sua versatilidade, agilidade e eficiência.

Mas afinal, o que é Docker, para que ele serve e como funciona na prática? Neste artigo, você encontrará a resposta para cada uma dessas perguntas. Vamos começar?

1 – O que é Docker e para que serve?

O Docker é uma plataforma de código aberto que permite automatizar o empacotamento, a distribuição e a execução de aplicações em containers. Um container é uma unidade leve, portátil e autossuficiente que contém tudo o que uma aplicação precisa para funcionar: código, bibliotecas, dependências, variáveis de ambiente e arquivos de configuração.

Diferente das tradicionais máquinas virtuais, que emulam sistemas operacionais inteiros, os containers compartilham o núcleo (kernel) do sistema operacional do host, sendo muito mais leves e rápidos.

O Docker permite criar ambientes isolados que garantem que uma aplicação funcione da mesma forma em qualquer lugar — seja em um ambiente de desenvolvimento, em servidores de teste ou em ambientes de produção.

Em suma, o Docker serve para:

  • Facilitar a criação de ambientes consistentes para desenvolvimento, testes e produção;
  • Simplificar o processo de distribuição e implantação de software;
  • Isolar aplicações e serviços;
  • Aumentar a escalabilidade e a portabilidade dos sistemas.

1.1 – Principais características do Docker

As principais características dessa ferramenta incluem:

  • Portabilidade: um container pode ser executado em qualquer lugar que tenha o Docker instalado (Windows, Linux, macOS, servidores em nuvem, etc.).
  • Leveza: os containers utilizam menos recursos que máquinas virtuais, pois compartilham o mesmo kernel do sistema operacional.
  • Isolamento: cada container roda de forma isolada, evitando conflitos entre aplicações e versões de bibliotecas.
  • Rapidez na inicialização: containers iniciam quase instantaneamente.
  • Reprodutibilidade: através dos arquivos Dockerfile, é possível versionar e reproduzir exatamente o mesmo ambiente em diferentes máquinas.
  • Escalabilidade: a integração com ferramentas como Kubernetes, o que agiliza e facilita a escalabilidade de aplicações em ambientes distribuídos.

2 – Como surgiu o Docker?

A ideia de isolamento de processos e contêineres não é nova, existindo conceitos similares há décadas, desde os antigos sistemas Unix (como LXC). No entanto, o Docker popularizou e simplificou significativamente o uso de contêineres, tornando-os acessíveis a um público muito mais amplo.

No ano de 2010, o Docker nasceu, originalmente, para uso interno da empresa de plataforma como serviço (PaaS) DotCloud (que posteriormente mudou seu nome para Docker Inc.), fundada por Solomon Hykes na França.

Foi em março de 2013 que o Docker foi lançado ao público como um projeto de código aberto. Sua facilidade de uso, a vasta comunidade que se formou ao redor e a solução eficaz para os desafios de implantação rapidamente impulsionaram sua adoção em todo o mundo.

A visão por trás do Docker era fornecer uma maneira padronizada e portátil de empacotar e executar aplicações, independentemente da infraestrutura subjacente. Essa abordagem resolveu muitos dos problemas enfrentados por desenvolvedores e equipes de operações, como inconsistências de ambiente, dificuldades de implantação e lentidão no ciclo de desenvolvimento.

3 – Como instalar o Docker?

A instalação do Docker varia conforme o sistema operacional. Abaixo, vamos ver os passos básicos de instalação para os principais sistemas:

3.1 – Windows e macOS

  1. Acesse o site oficial clicando aqui.
  2. Baixe a versão Docker Desktop para o seu sistema.
  3. Siga as etapas do assistente de instalação.
  4. Após instalado, abra o Docker Desktop e aguarde a inicialização do serviço.

3.2 Linux (exemplo para sistemas Ubuntu):

No terminal do Linux, execute os seguintes comandos.

sudo apt update
sudo apt install docker.io -y
sudo systemctl enable docker
sudo systemctl start docker

Com os passos acima, você conseguirá instalar o Docker de forma rápida e fácil em sistemas operacionais Linux. Mas, caso seja necessário, na página oficial do Docker, neste link aqui, você encontra tutoriais mais detalhados, inclusive para outras distribuições Linux além do Ubuntu.

4 – Utilizando o Docker na prática

Para melhorar seu entendimento de Docker vamos elaborar um exemplo simples e prático que lhe ajudará a compreender o funcionamento da ferramenta. Para começar, vamos verificar a versão instalada em seu sistema, executando o comando abaixo no terminal:

docker --version

Esse comando irá retornar a versão instalada em seu sistema, confirmando que as etapas executadas no item anterior foram bem sucedidas.

Agora vamos executar um servidor web (por exemplo, Nginx), com o seguinte comando:

docker run -d -p 8080:80 nginx

Acesse http://localhost:8080 e você verá a página padrão do Nginx rodando em um container.

4.1 – Criando uma aplicação Node.js

Para este exemplo vamos criar uma simples aplicação em Node.js que apresentará uma simples mensagem na tela do usuário. A estrutura do nosso projeto será a seguinte::

meu-app-node/
├── app.js
├── package.json
└── Dockerfile

Vamos criar o arquivo app.js:

const express = require('express');
const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('Olá, esta é uma aplicação Node.js rodando em um container Docker!');
});

app.listen(port, () => {
  console.log(`Servidor rodando em http://localhost:${port}`);
});

O próximo arquivo que criaremos é o package.json:

{
  "name": "meu-app-node",
  "version": "1.0.0",
  "main": "app.js",
  "scripts": {
    "start": "node app.js"
  },
  "dependencies": {
    "express": "^4.18.2"
  }
}

Por fim, vamos criar nosso Dockerfile:

# Usa uma imagem oficial do Node.js
FROM node:18

# Cria diretório da aplicação
WORKDIR /app

# Copia arquivos para o container
COPY package*.json ./
RUN npm install

COPY . .

# Expõe a porta 3000
EXPOSE 3000

# Comando para iniciar a aplicação
CMD ["npm", "start"]

4.2 – Executando o container

No seu terminal, navegue até a pasta onde estão os arquivos do seu projeto Node.js e execute o seguinte comando para construir a imagem Docker:

docker build -t meu-app-node .

Agora, vamos executar o container:

docker run -d -p 3000:3000 meu-app-node

Abra seu navegador web e acesse http://localhost:3000

Ao acessar esse endereço você visualizará essa mensagem na tela: “Olá, esta é uma aplicação Node.js rodando em um container Docker!”

Veja como é simples executar uma aplicação Node.js a partir de um container Docker. E o mais interessante de tudo, é que podemos usufruir dos recursos oferecidos pelo Docker para praticamente qualquer linguagem ou tipo de aplicação, mostrando a versatilidade dessa ferramenta e o grande número de possibilidades que temos com ela.

Conclusão

O Docker é uma ferramenta poderosa que transformou o modo como desenvolvedores e equipes de operações criam, testam e implantam aplicações. Com ele, é possível garantir ambientes consistentes, escaláveis e eficientes, otimizando processos de desenvolvimento e entrega contínua.

Se você ainda não experimentou, vale a pena começar — o Docker pode ser um divisor de águas no seu fluxo de trabalho, aumentando a sua produtividade e a qualidade de suas entregas.

Espero que este conteúdo seja útil de alguma forma para você. Se gostou do conteúdo, compartilhe com seus amigos e aproveite para acessar os outros artigos deste site — tem muito mais esperando por você!