Mostrar mensagens com a etiqueta nuvem. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta nuvem. Mostrar todas as mensagens

sexta-feira, 5 de julho de 2024

Dominar os sistemas Docker Minificados: um guia passo a passo com casos de utilização reais

 Docker Minificados ?? Vamos la demistificar isso ..


Introdução

O Docker é uma plataforma poderosa para desenvolver, enviar e executar aplicações. Os sistemas Docker minificados são otimizados em termos de tamanho e eficiência, sendo ideais para ambientes de produção onde os recursos são escassos.

Passo 1: Compreendendo os princípios básicos do Docker

Antes de mergulhar em sistemas minificados, certifique-se de que tem um conhecimento sólido dos conceitos do Docker, tais como imagens, contentores, volumes e redes.

Comandos principais:

docker pull [image_name] # Download an image from Docker Hub
docker run -d --name [container_name] [image_name] # Run a container in detached mode

Passo 2: Criando um Dockerfile Minificado

Um Dockerfile reduzido contém apenas as camadas essenciais necessárias para executar a sua aplicação.

Exemplo de Dockerfile:

FROM alpine:latest
RUN apk add --no-cache python3 py3-pip
COPY . /app
WORKDIR /app
RUN pip install -r requirements.txt
CMD ["python3""app.py"]

Passo 3: Construindo e Executando o Seu Contentor Minificado

Construa a sua imagem com o comando Docker build, marcando-a adequadamente.

Comando de construção:

docker build -t my-minified-app .

Passo 4: otimizando a sua imagem

Utilize compilações de várias fases para reduzir o tamanho e remover dependências de compilação desnecessárias.

Dockerfile de vários estágios:

# Build stage
FROM python:3.8-slim as builder
COPY requirements.txt .
RUN pip install --user -r requirements.txt
# Final stage
FROM python:3.8-alpine
COPY --from=builder /root/.local /root/.local
COPY . .
CMD ["python""./app.py"]

Etapa 5: Gerir Dados e Estado

Para aplicações com estado, utilize volumes para persistir os dados.

Comando de volume:

docker volume create my_volume
docker run -d -v my_volume:/data my-minified-app

Etapa 6: Rede e Comunicação

Ligue contentores e ative a comunicação entre eles usando redes Docker.

Comandos de rede:

docker network create my_network
docker run -d --net=my_network my-minified-app

Passo 7: implantando na produção

Implemente a sua aplicação em contentor utilizando ferramentas de orquestração como Docker Swarm ou Kubernetes .

Etapa 8: Monitorização e Manutenção

Monitorize os seus contentores e sistemas utilizando ferramentas como o Docker stats , cAdvisor ou Prometheus .

Conclusão

Dominar os sistemas minificados do Docker envolve compreender os fundamentos do Docker, otimizar os Dockerfiles, gerir dados e implementar eficientemente.

Aprendizagem Adicional

Lembre-se que a prática leva à perfeição. Comece pequeno, repita e incorpore gradualmente estas práticas em projetos maiores.

OBs:

[  O Docker é uma plataforma aberta para desenvolver, enviar e executar aplicações. O Docker permite separar as suas aplicações da sua infraestrutura para que possa entregar software rapidamente. 


Com o Docker, pode gerir a sua infraestrutura da mesma forma que gere as suas aplicações. Aproveitando as vantagens das metodologias Docker para enviar, testar e implementar código rapidamente, pode reduzir significativamente o atraso entre a escrita do código e a sua execução em produção.

Certamente! Eis um guia extenso intitulado “ Dominando sistemas Docker Minificados: um guia passo a passo com casos de utilização reais. ”]


Este guia fornece uma compreensão básica de como trabalhar com sistemas Docker minificados. Para uma aprendizagem mais aprofundada, consulte os links fornecidos e continue a explorar casos de utilização do mundo real. Feliz Dockering!


terça-feira, 2 de outubro de 2018

Magento 2 a correr no Amazon Lightsail


Na conferência Amazon Web Services, a AWS revelou sua mais nova oferta de produtos - Lightsail. O Lightsail é uma plataforma de Virtual Private Server (VPS) gerenciada e de baixo custo, destinada a rivalizar com as ofertas de concorrentes tradicionais de hospedagem VPS, como a Digital Ocean. Construído no mecanismo de aplicativos Bitnami (que é construído em contêineres com o Docker), você pode clicar com um clique em iniciar uma instância com aplicativos pré-instalados. Isso significa instalações de um clique de baixo custo para Magento 2, WordPress, Drupal, Gitlab e muitos outros tipos de aplicativos.


Funcionando


O AWS Lightsail torna simples o início de uma nova instância do Magento 2. Depois de fazer o login no console da AWS, você pode selecionar Lightsail no menu de serviços. Isso inicia um início rápido onde, na primeira página, você pode iniciar uma instância do App + OS.




Após o lançamento do aplicativo, você escolhe um plano de preços. As taxas são incrivelmente competitivas - você obtém a mesma quantidade de RAM e um disco rígido maior do que com as tradicionais instâncias do AWS EC2 - a menor delas no momento é um t2.nano com clock de 512MB RAM / 1vCPU e 8GB SSD por padrão. Essa instância custará US $ 4,75 sob demanda, mas você terá todo o trabalho de gerenciar e instalar seus próprios aplicativos. A Lightsail também está oferecendo os primeiros 30 dias gratuitos no plano de US $ 5 / mês



Depois de um pouco de carregamento, você obtém o endereço IP público do recém-instalado Magento 2. Carregá-lo em um navegador me levou para a home page da minha recém-instalada instância do Magento 2. É um Magento 2.1.2CE básico (por isso, está atualizado com patches de segurança).




Imediatamente, não inclui dados de amostra pré-instalados. Ele tem o ícone de início rápido do Bitnami no canto inferior direito; que leva você a uma página para obter a senha de login. É aqui que o “fácil” termina; pelo menos para o Magento 2.




As instruções do Bitnami para obter a senha do Magento 2 parecem ter sido escritas para o Magento 1. Elas também focam no fato de que você provavelmente está executando isso como uma instância do Docker no Amazon Elastic Container Service ou como um sistema operacional convidado em uma instância do EC2. Isso é motivo de frustração por uma infinidade de razões.

Primeiro, a senha é gerada automaticamente para o usuário admin do Magento 2. Para obter essa senha, você precisa ler o registro de início do sistema. Se isso estivesse no EC2, isso não seria problema - como um clique com o botão direito do mouse no console da AWS na instância tem uma opção para ler o log do sistema. Infelizmente Lightsail no momento da redação deste artigo não tem essa capacidade. Segundo, o novo e-mail do usuário administrador é padronizado como "usuario@exemplo.com", portanto, clicar na funcionalidade de senha esquecida não funcionaria. 


Isso é difícil porque o Lightsail não configura o SES (Simple Email Service) da Amazon por padrão ou abre as restrições que a Amazon impõe ao enviar e-mails de seu serviço da AWS - para que ele enfraqueça automaticamente todos os e-mails provenientes da instância.

Neste ponto, você precisa mergulhar no console administrativo do Lightsail para encontrar a chave SSH. Para fazer isso, você precisa fazer login na instância e adicionar um novo usuário do Magento na ferramenta de linha de comando:


               $  > php -f bin/magento admin:user:create



É aqui que a experiência do desenvolvedor do Magento 2 requer um conhecimento profundo. Você será recebido com um aviso de que você não forneceu todos os parâmetros certos para o método de criação de usuário da ferramenta de linha de comando. Agora temos que olhar para o Docs do desenvolvedor do Magento 2 ... e eventualmente eu encontrei todos os comandos certos - disponiveis aqui

       $ > php -f bin/magento admin:user:create –admin-firstname=Phillip –admin-lastname=Jackson –               admin-email=pjackson@somethingdigital.com –admin-user=pjackson –admin-                                     password=abcd1234

Desde que eu já estava logado no console SSH, eu removi o banner Bitnami na página inicial. Demorou algum tempo para encontrar o comando para fazer isso, mas aqui está:

       $ > sudo /opt/bitnami/apps/magento/bnconfig –disable_banner 1


Em seguida, cliquei na senha esquecida e tentei enviar um e-mail de redefinição de senha, mas o e-mail ainda não estava funcionando corretamente. O que significa que eu precisava instalar o sendmail, o postfix, o SES e mais, tudo para obter funcionalidade básica. Expandirei mais sobre esse ponto no futuro post do blog.


Conclusão


Depois que eu entrei no Magento 2, as coisas ficaram muito mais simples. Consegui ligar as minhas chaves de desenvolvedor do Magento Connect e baixar os pacotes do Magento Marketplace sem problemas. Não encontrei mais bloqueios de estrada; e não tive problemas com permissões. Para um VPS de US $ 5 / mês, o painel de administração foi rápido; claro que eu era a única pessoa a usá-lo. Não espere poder atualizar, já que você precisa de um mínimo de 768 MB de RAM disponível para o Magento 2 executar o atualizador de software. Mais sobre isso em um post futuro.


Além de instalar o Magento 2 no Lightsail, também instalei uma instância do WordPress. A experiência foi muito mais simples, embora eu tenha tido problemas semelhantes tanto com o email quanto com a senha para se conectar ao painel de administração. 

No entanto - o WordPress vem com documentos que realmente se alinham com a experiência do administrador e são fáceis de seguir. Os documentos do Magento 2 Lightsail / Bitnami não. O WordPress vem configurado com um plugin SMTP, onde você pode conectar as credenciais do SES (e os documentos orientam você sobre como fazer isso) - o Magento 2 não. Eu não fiz nenhum benchmarking (que é para outro blog) e acredito que ele provavelmente apresentaria um desempenho ruim - mas com capacidade de atualização de um clique até 8GB / 2CPU (a US $ 80 / mês) o Lightsail pode escalar com uma loja.

Para um produto voltado para o mercado de bricolagem do mercado, o Lightsail é atraente - mas a experiência do Magento 2 tem algumas armadilhas. Isso ainda precisa ser ajustado para ser útil para o antigo mercado Magento 1 CE. Dito isto, existe um enorme potencial para aqueles que querem testar o Magento 2 sem passar pelo incômodo de instalá-lo.