Category: Magento

  • Instalação do LEMP e Lets Encrypt Magento 2

    Instalação do LEMP e Lets Encrypt Magento 2

    Como instalar o Magento 2 com Nginx Let’s Encrypt SSL no Ubuntu 22:04 LTS

    No capítulo anterior você aprendeu a identificar e saber dos requisitos do Magento 2. Agora iremos iniciar o setup do servidor.

    O LEMP (Linux, Nginx, MySQL e PHP), será a stack adotada para este setup. No entanto, iremos realizar customizações específicas para que possamos estar em conformidade com os requisitos de sistema do Magento 2.

    Existem diversos tutoriais na internet de como instalar o LEMP, mas siga exatamente os passos abaixo pois tudo será pensado em Magento 2.

    O que faremos ?

    • Instalar o Nginx
    • Instalar e configurar o PHP-FPM 8.1
    • Instalar e configurar o MySQL 8
    • Instalar o Composer 2
    • Criar usuário SSH para deploy
    • Gerar SSL Lets Encrypt
    • Configurar o virtualhost do Nginx para Magento 2

    Passo 1 – Instalar o Nginx

    Instale o Nginx executando os comandos abaixo:

    sudo apt -y install nginx
    sudo systemctl enable nginx

    Pode ser que o firewall do seu servidor esteja habilitado e com isso as portas 80 e 443 não funcionarão para a internet. Execute o comando abaixo para liberar as portas HTTP e HTTPS.

    “Selecione todas as quatro linhas”

    for svc in ssh http https
    do
    sudo ufw allow $svc
    done

    Passo 2 – Instalar e configurar o PHP-FPM 8.1

    A seguir vamos instalar o PHP 8.1 com FPM e extensões do Magento 2.4

    sudo apt install software-properties-common
    sudo add-apt-repository ppa:ondrej/php -y
    sudo apt update
    sudo apt install -y php8.1 php8.1-fpm php8.1-bcmath php8.1-intl php8.1-soap php8.1-zip php8.1-gd php8.1-curl php8.1-cli php8.1-xml php8.1-xmlrpc php8.1-redis php8.1-opcache php8.1-mbstring php8.1-apcu 
    sudo apt install -y php8.1-xsl php8.1-simplexml php8.1-mysql php8.1-ctype php8.1-dom php8.1-iconv php8.1-common php8.1-mcrypt php8.1-pdo php8.1-gmp php8.1-tidy php8.1-lz4

    Precisamos customizar o php.ini do PHP-FPM 8.1 , iremos aproveitar e realizar algumas otimizações e habilitar o opcache. Execute todos os comandos abaixo no terminal.

    sudo sed -i "s/.*memory_limit.*/memory_limit = 2G/" /etc/php/8.1/fpm/php.ini
    sudo sed -i "s/.*max_execution_time.*/max_execution_time = 1800/" /etc/php/8.1/fpm/php.ini
    sudo sed -i "s/.*zlib.output_compression.*/zlib.output_compression = On/" /etc/php/8.1/fpm/php.ini
    sudo sed -i "s/.*cgi.fix_pathinfo.*/cgi.fix_pathinfo = 0/" /etc/php/8.1/fpm/php.ini
    sudo sed -i "s/.*opcache.enable.*/opcache.enable = 1/" /etc/php/8.1/fpm/php.ini
    sudo sed -i "s/.*opcache.save_comments.*/opcache.save_comments = 1/" /etc/php/8.1/fpm/php.ini
    sudo sed -i "s/.*opcache.memory_consumption.*/opcache.memory_consumption = 256/" /etc/php/8.1/fpm/php.ini
    sudo sed -i "s/.*opcache.max_accelerated_files.*/opcache.max_accelerated_files = 100000/" /etc/php/8.1/fpm/php.ini
    sudo sed -i "s/.*date.timezone.*/date.timezone = America\/Sao_Paulo/" /etc/php/8.1/fpm/php.ini

    Agora inicie o PHP-FPM

    systemctl start php8.1-fpm
    systemctl enable php8.1-fpm

    Passo 3 – Instalação do MySQL 8

    Execute o comando abaixo para que você instale o servidor MySQL 8.

    sudo apt install -y mysql-server

    Bom, vamos criar um usuário e database para nossa loja magento 2. Logue no servidor MySQL com o comando abaixo.

    sudo mysql -u root

    Uma vez que está logado no servidor MySQL, execute os comandos abaixo para configurar o usuário e banco de dados do magento. Lembre-se de personalizar conforme seu uso.

    # CRIANDO USUARIO 
    CREATE USER 'USERMAGENTO'@'%' IDENTIFIED BY 'SENHAUSERMAGENTO';
    ALTER USER 'USERMAGENTO'@'%' IDENTIFIED WITH mysql_native_password BY 'SENHAUSERMAGENTO';
    # LIBERANDO TODOS OS PRIVILEGIOS PARA O USUARIO
    GRANT ALL PRIVILEGES ON *.* TO 'USERMAGENTO'@'%' WITH GRANT OPTION;
    FLUSH PRIVILEGES;
    # SAIR DO MYSQL 
    exit;

    Ainda não finalizamos! Agora vamos acessar novamente o MySQL, no entanto, utilizando o usuário que acabamos de criar. E com isso criar a database para o Magento 2.

    # INSIRA O USUARIO CRIADO E TAMBEM A SENHA CONFIGURADA
    sudo mysql -u USERMAGENTO -p

    Se tudo ocorreu bem, você logou novamente no MySQL. Agora vamos criar uma database para o magento.

    # CRIANDO DATABASE
    CREATE DATABASE MAGENTO2;
    # SAIR DO MYSQL
    exit;

    Nesse momento a configuração para o banco de dados é:

    • User: USERMAGENTO
      Pass: SENHAUSERMAGENTO
    • Database: MAGENTO2

    Passo 4. Instalação do Composer 2 Ubuntu 22:04

    O composer é um gerenciador de dependências para o PHP, com ele podemos instalar pacotes de nível de aplicativo e uma série de bibliotecas adicionais para o projeto. Inclusive o Magento 2 depende e muito desse cara.

    Execute os comandos abaixo para instalar e configurar o composer 2.

    curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php
    sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer

    Agora teste se o composer está funcionando corretamente com o comando abaixo.

    composer --version

    Se a versão do composer for carregada na tela, significa que está funcional.

    Passo 5 – Criando Usuário SSH para Deploy do Magento

    Para desenvolver um e-commerce magento 2, você precisa de acesso SSH para realizar deploy e comandos de rotina. Sem enrolação, execute os comandos abaixo.

    # CRIAR DIRETORIO ROOT DO MAGENTO
    sudo mkdir -p /home/ecommerce
    # CRIAR USUARIO
    sudo useradd -d /home/ecommerce -s /bin/bash USER-DEPLOY
    # DEFINIR PERMISSOES PARA USUARIO 
    sudo usermod -a -G www-data USER-DEPLOY
    sudo chown -R www-data:www-data /home/ecommerce
    sudo chmod -R g+w /home/ecommerce
    # DEFINIR SENHA PARA USUARIO
    sudo passwd USER-DEPLOY
    • USER-DEPLOY: Usuario a ser criado, você deve inserir outro nome.

    Passo 6 – Gerando certificado SSL com o Lets Encrypt

    Para instalarmos o SSL Let’s Encrypt precisamos instalar o Certbot e também um plugin para Nginx, pois vamos utiliza-lo no processo de emissão.

    sudo snap install core
    sudo snap install --classic certbot
    sudo ln -s /snap/bin/certbot /usr/bin/certbot
    sudo apt install -y python3-certbot-nginx

    Vamos editar o arquivo host virtual do nginx, para que possamos conseguir emitir o certificado SSL, caso contrário teremos sérios problemas.

    Em server_name , você deve inserir o domínio que está trabalhando.

    # REMOVENDO O ARQUIVO DEFAULT, POIS NAO PRECISAMOS DELE
    sudo rm /etc/nginx/sites-enabled/default
    # CRIANDO UM VIRTUALHOST PROVISÓRIO
    # COPIE TODAS AS LINHAS ABAIXO ATÉ O EOF
    cat  > default <<  EOF
    server {
            listen 80 default_server;
            listen [::]:80 default_server;
            root /var/www/html;
            index index.html index.htm index.nginx-debian.html;
            server_name magento-dev.shop www.magento-dev.shop;
            location / {
                    try_files $uri $uri/ =404;
            }   
    }
    EOF
    # ENVIE O ARQUIVO GERADO PARA O NGINX
    sudo mv default /etc/nginx/sites-enabled/
    # RESTARTE O NGINX
    sudo systemctl restart nginx

    Agora você precisa apontar o seu domínio para o IP do servidor e aguardar a propagação pois o certbot valida se o domínio realmente está apontado para o servidor, caso contrário a emissão falhará.

    Verifique se o seu domínio já está sendo resolvido corretamente, no terminal execute o comando abaixo e veja se imprime na tela o IP do servidor.

    host seudominio.com.br

    Se tudo estiver ok, você já pode rodar o comando de emissão do certificado SSL.

    sudo certbot --nginx -d seudominio.com.br -d www.seudominio.com.br

    A emissão é rápida, e durante o processo você poderá escolher se quer redirecionar tudo de HTTP para HTTPS, selecione a opção 2.

    Se tudo ocorreu bem, a saída do comando resultará em várias mensagens e um “Congratulations!” informando que o certificado foi emitido. Para verificar se realmente o SSL está configurado, basta acessar no navegador o domínio da loja.

    Passo 7 – Configurando Nginx para Magento 2

    Nessa etapa vamos configurar um server block (virtualhost) específico para o Magento 2. Lembre-se de realizar as alterações:

    • server_name
    • SSL certificate

    Copie o conteúdo abaixo para um editor de sua preferência, e após reajusta-lo siga os passos abaixo.

    Remova o arquivo default do nginx

    sudo rm /etc/nginx/sites-enabled/default 

    Cole o novo bloco de configuração e substitua os valores de domínio

    sudo nano /etc/nginx/sites-enabled/default
    upstream fastcgi_backend {
        server unix:/run/php/php8.1-fpm.sock;
    }
    server {
        listen 80;
        server_name seudominio.com.br www.seudominio.com.br;
        #include snippets/letsencrypt.conf;
        return 301 https://magento-dev.shop$request_uri;
    }
    server {
        listen 443 ssl http2;
        server_name seudominio.com.br www.seudominio.com.br;
        ssl_certificate /etc/letsencrypt/live/seudominio.com.br/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/seudominio.com.br/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/seudominio.com.br/chain.pem;
        #ssl_dhparam /etc/ssl/certs/dhparam.pem;
        ssl_session_timeout 1d;
        ssl_session_cache shared:SSL:50m;
        ssl_session_tickets off;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_stapling on;
        ssl_stapling_verify on;
        resolver 8.8.8.8 8.8.4.4 valid=300s;
        resolver_timeout 30s;
        keepalive_timeout 300s;
        add_header X-Frame-Options SAMEORIGIN;
        add_header X-Content-Type-Options nosniff;
        set $MAGE_ROOT /home/ecommerce/public_html;
        set $MAGE_MODE developer; # or production
        include /home/ecommerce/public_html/nginx.conf.sample;
    }

    Salve o arquivo.

    Agora podemos partir para a próxima etapa.

    Passo 8 – Instalação do RabbitMQ Ubuntu 22:04

    Para instalar o RabbitMQ no Ubuntu 22.04, siga os seguintes passos abaixo.

    sudo apt install -y rabbitmq-server
    sudo systemctl start rabbitmq-server
    sudo systemctl enable rabbitmq-server

    Agora, o RabbitMQ está instalado e funcionando no seu servidor.

    Podemos habilitar o plugin rabbitmq_management para poder acessar o RabbitMQ pelo navegador.

    sudo rabbitmq-plugins enable rabbitmq_management

    Você pode acessar o RabbitMQ utilizando o IP ou URL da sua loja:

    • http://seu_ip:15672
    • http://sualoja.com.br:15672

    Abra a loja no navegador e verá que será solicitado um usuário e senha para login, por padrão o usuário e senha é “guest”. Mas vamos configurar um novo usuário para nossa loja magento 2.

    Execute os comandos abaixo e troque apenas o nome de usuário e senha.

    rabbitmqctl add_user USUARIO SENHA
    rabbitmqctl set_user_tags USUARIO administrator

    Agora você já pode acessar o RabbitMQ pelo navegador usando o usuário e senha configurados.

    Passo 9 – Instalação do Elasticsearch

    Para instalar o Elasticsearch no Ubuntu 22:04 siga os passos abaixo.

    sudo apt install -y openjdk-17-jdk
    sudo curl -sSfL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --no-default-keyring --keyring=gnupg-ring:/etc/apt/trusted.gpg.d/magento.gpg --import
    sudo sh -c 'echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" > /etc/apt/sources.list.d/elastic-7.x.list'
    sudo chmod 666 /etc/apt/trusted.gpg.d/magento.gpg
    sudo apt update
    sudo apt install -y elasticsearch
    sudo systemctl daemon-reload
    sudo systemctl enable elasticsearch.service

    Agora precisamos realizar algumas customizações caso contrário o Elasticsearch vai devorar a memória RAM do servidor. Para um servidor de desenvolvimento os parâmetros abaixo são suficientes.

    sudo sed -i "s/.*cluster.name.*/cluster.name: magento2/" /etc/elasticsearch/elasticsearch.yml
    sudo sed -i "s/.*-Xms4g.*/-Xms256m/" /etc/elasticsearch/jvm.options
    sudo sed -i "s/.*-Xmx4g.*/-Xmx256m/" /etc/elasticsearch/jvm.options
    sudo systemctl start elasticsearch.service

    Passo 10 – Instalação do Magento 2 via Composer

    Agora chegou do vamos ver! Vamos iniciar o setup do magento 2 no nosso servidor. Iremos realizar o setup via composer, e você vai precisar gerar um usuário e chave de acesso ao repositório do magento.

    Gerar chave: https://marketplace.magento.com/customer/account/

    No servidor, execute os passos.

    1 – Acesse o usuário SSH gerado no passo 5.

    sudo su USER-DEPLOY
    cd ~
    composer create-project --repository-url=https://repo.magento.com/  public_html
    cd public_html
    chmod +x bin/magento

    2 – Faça o download o magento 2

    composer create-project --repository-url=https://repo.magento.com/  public_html
    cd public_html

    3 – Instale o Magento 2 usando todo o comando abaixo, você precisa alterar os dados do banco de dados, domínio e usuário administrativo do Magento.

    bin/magento setup:install \
    --base-url=https://seudominio.com.br \
    --backend-frontname=m2adm \
    --db-host=localhost \
    --db-name=MAGENTO2\
    --db-user=USERMAGENTO\
    --db-password=SENHAUSERMAGENTO \
    --admin-firstname=admin \
    --admin-lastname=admin \
    --admin-email=admin@admin.com \
    --admin-user=admin\
    --admin-password=admin123 \
    --language=en_US \
    --currency=BRL \
    --timezone=America/Sao_Paulo \
    --use-rewrites=1 \
    --search-engine=elasticsearch7 \
    --elasticsearch-host=localhost \
    --elasticsearch-port=9200 \
    --elasticsearch-index-prefix=magento2 \
    --elasticsearch-timeout=15 \
    --session-save=files \
    --use-rewrites=1

    Se tudo ocorreu bem, você verá uma saída similar abaixo.

    Agora o magento 2 foi instalado com sucesso. Para finalizar, corrija as permissões dos arquivos gerados para que não tenha nenhum problema na execução da loja.

    chown -R www-data:www-data .

    Conclusão

    Nesse guia você aprendeu a configurar um servidor básico para hospedagem de lojas magento 2 na Amazon AWS para desenvolvimento.

    Realizamos uma série de customizações no PHP-FPM, Nginx e Elasticsearch, para que nossa loja rode perfeitamente bem.

    Existem várias ferramentas que ainda podemos instalar com foco em desenvolvimento, irei atualizar esse guia regularmente.

    Gostou desse guia? Deixe nos comentários..

  • Introdução e Requisitos Magento 2.4.x

    Introdução e Requisitos Magento 2.4.x

    Nesse guia técnico você vai aprender a configurar um servidor de hospedagem magento 2.4.x na Amazon AWS para desenvolvimento. Também é possível adaptar a sua realidade, utilizando algum outro provedor como DigitalOcean, Vultr, Linode e outros.

    Iremos configurar todo o ambiente obedecendo os requisitos e versões de software para que nosso servidor esteja em conformidade com o Magento 2.4, mas não aconselho a utilização para uma loja em produção, uma vez que o nível de implementação e recursos são totalmente diferentes.

    Requisitos Magento 2.4.x

    Nas empresas que trabalho sou extremamente chato quanto aos requisitos da versão do magento que estamos trabalhando, pois já vi muitos problemas técnicos ocorrerem simplesmente pelo descuido na implementação dos softwares acarretando em sérios problemas.

    Requisitos de Software

    Nesse guia vamos trabalhar com o Magento 2.4.5 , então é importante acessar a documentação e verificar todas as dependências e versões de software que a versão do magento 2 que você está trabalhando exige para rodar.

    https://experienceleague.adobe.com/docs/commerce-operations/installation-guide/system-requirements.html

    Software dependencies2.4.5-p112.4.5-p102.4.5-p92.4.5-p82.4.5-p72.4.5-p62.4.5-p52.4.5-p42.4.5-p32.4.5-p22.4.5-p12.4.5
    Composer2.22.22.22.22.22.22.22.22.22.22.22.2
    Elasticsearch7.177.177.177.177.177.177.177.177.177.177.177.17
    OpenSearch1.3.201.31.31.31.31.21.21.21.21.21.21.2
    MariaDB10.6, 10.510.5, 10.410.5, 10.410.5, 10.410.410.410.410.410.410.410.410.4
    MySQL8.08.08.08.08.08.08.08.08.08.08.08.0
    PHP8.18.18.18.18.18.18.18.18.18.18.18.1
    RabbitMQ3.133.133.133.12, 3.113.12, 3.11, 3.93.11, 3.93.11, 3.93.11, 3.93.11, 3.93.93.93.9
    Redis7.27.2, 7.07.07.07.06.26.26.26.26.26.26.2
    Varnish7.67.57.57.57.57.37.37.37.37.17.07.0
    Apache2.42.42.42.42.42.42.42.42.42.42.42.4
    nginx1.261.261.261.261.261.261.261.221.221.221.221.22
    AWS Aurora (MySQL)8.08.08.08.08.08.08.08.08.08.08.08.0
    AWS S3✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️✔️
    AWS MQ3.133.9.133.9.133.9.133.9.133.9.133.9.133.9.133.9.133.9.133.9.133.9.13
    AWS ElastiCacheRedis 6Redis 6Redis 6Redis 6Redis 6Redis 6Redis 6Redis 6Redis 6Redis 6Redis 6Redis 6
    AWS Elasticsearch7.97.9
    AWS OpenSearch1.21.21.21.21.21.21.21.21.21.21.21.2

    Tendo em mãos as versões e dependências de software que precisamos ter na nossa infraestrutura, podemos iniciar a configuração do nosso servidor magento 2. Boa parte das configurações irei realizar conforme documentação do magento, e irei apenas realizar algumas customizações pontuais.

    Requisitos de Hardware

    Todos sabem que o Magento 2 é um monstrinho e adora devorar memória e processamento. Quase nenhum dev consegue desenvolver localmente, e acaba precisando de um servidor para codar e tocar o projeto.

    Para hospedar um e-commerce magento 2 em um servidor para desenvolvimento, os requisitos mínimos são:

    • Memória RAM: 4GB no mínimo, ou 2GB + Swap (no entanto considere gargalos)
    • CPU: 2 Núcleos
    • Armazenamento: 10 GB (obrigatóriamente SSD ou NVMe
    • Rede: 100MB de link no mínimo
    • Sistema Operacional: Ubuntu 22:04 (versão que utilizaremos)
    • IP: 1 IPV4 dedicado

    Lembrando, essa é uma configuração para DESENVOLVIMENTO.

    Escolhendo um servidor na AWS para o Magento 2

    Para hospedar qualquer projeto na AWS você deve ter o auxílio de um Consultor AWS Especializado, pois existe inúmeras famílias e tipos de instâncias EC2, uma escolha errada te trará um custo muito salgado no final do mês.

    Pensando em um ambiente mínimo para desenvolvimento, vamos trabalhar com uma instância/servidor chamada: t3.medium, que é uma instância de custo benefício e para propósitos gerais.

    Mais detalhes: https://instances.vantage.sh/aws/ec2/t3.medium

    Vou pular etapas sobre a criação de instâncias EC2 bem como questões de acesso, grupos de segurança, etc. Recomendo a degustação dos materiais que já publiquei sobre o assunto:

    Agora você vai providenciar a criação do seu servidor, seja ele na AWS ou não, e te espero no Capítulo 2 para darmos início ao setup do ambiente.

  • Como melhorar a velocidade do Magento 2 | Dicas e Otimizações 2025

    Como melhorar a velocidade do Magento 2 | Dicas e Otimizações 2025

    Introdução a otimização Magento 2

    Então você tá buscando por otimização magento 2 ? Seja bem vindo!

    Desde 2014 atuo com gerenciamento de hospedagem Magento, passando pelas versões mais antigas como o Magento 1.5 até as atuais versões do Magento 2, sempre acompanhando de perto a evolução da plataforma e as mudanças necessárias para garantir alta performance e estabilidade.

    Neste artigo, vou compartilhar conhecimentos atualizados e práticos que podem ser aplicados tanto por desenvolvedores quanto por profissionais de infraestrutura, trazendo uma visão clara de quais pontos realmente fazem diferença no dia a dia de uma loja online.

    O objetivo é fornecer um guia que pode ser adaptado à realidade de cada projeto — desde pequenos negócios até grandes operações de e-commerce que exigem escalabilidade.

    Antes de entrar nos ajustes técnicos, é importante destacar que a escolha da hospedagem é a base de qualquer projeto Magento.

    Ela impacta diretamente performance, segurança e escalabilidade. Vamos começar pelas duas principais opções: hospedagem gerenciada, para projetos menores que buscam simplicidade, e hospedagem dedicada, para operações que precisam de mais recursos e crescimento sustentável.

    Entendendo sobre hospedagem magento

    A hospedagem gerenciada é indicada para quem busca praticidade. Nesse modelo, toda a configuração do servidor já vem pronta: PHP, banco de dados, cache e outros recursos necessários para rodar o Magento ficam disponíveis sem que o lojista ou desenvolvedor precise se preocupar com ajustes manuais. O ponto positivo é a simplicidade, mas em contrapartida há limitações na customização e no controle total do ambiente.
    Exemplo: Cloudways, entre outras soluções semelhantes voltadas para pequenos e médios projetos.

    Já a hospedagem dedicada oferece liberdade total de configuração. Aqui é possível ajustar cada detalhe do servidor de acordo com a demanda do projeto: memória, CPU, cache, segurança e integrações avançadas. É o modelo mais recomendado para operações de médio e grande porte, que exigem escalabilidade e alta performance.
    Exemplos: AWS, Linode, DigitalOcean, entre outros provedores de infraestrutura em nuvem.

    Servidor e Infraestrutura

    Mesmo a melhor loja Magento pode perder desempenho se o servidor não estiver preparado. Aqui entram os ajustes de infraestrutura que fazem diferença prática no dia a dia:

    • Servidor Web (Nginx)
      Responsável por entregar as páginas da loja, o Nginx deve estar configurado para lidar bem com alto volume de acessos e cache de arquivos estáticos.
    • PHP com PHP-FPM e Opcache
      O PHP é o coração do Magento. Usar PHP-FPM garante que os processos sejam gerenciados de forma inteligente, enquanto o Opcache armazena o código já processado para acelerar o carregamento das páginas.
    • Banco de Dados (MySQL/MariaDB)
      É onde ficam todos os produtos, clientes e pedidos. Ajustar esse componente significa evitar lentidão nas consultas e preparar o banco para suportar picos de acesso.
    • Redis
      Usado tanto para sessões de usuários quanto para cache interno do Magento, o Redis ajuda a reduzir o tempo de resposta da loja.
    • Varnish Cache
      Fundamental para o Full Page Cache, o Varnish acelera o carregamento das páginas públicas, garantindo mais velocidade para o cliente final.
    • Elasticsearch
      Responsável pela busca de produtos, precisa estar otimizado para retornar resultados rápidos e relevantes, mesmo em catálogos grandes.
    • RabbitMQ
      Garante que tarefas em segundo plano (como envio de e-mails ou atualização de índices) não atrapalhem a navegação da loja.
    • CDN (Cloudflare)
      A camada extra que distribui conteúdo pelo mundo, protege contra ataques e melhora a velocidade de carregamento em qualquer região.
    image
    Github

    No Github eu mantenho um repositório com diversos arquivos de configuração otimizados com explicações.

    O coração da otimização Magento 2 está no uso inteligente de cache.

    Uma loja Magento 2 sem cache se torna lenta e pesada, prejudicando a experiência do usuário e as vendas. O segredo está em combinar diferentes camadas de cache para acelerar o carregamento das páginas e reduzir o esforço do servidor.

    • Full Page Cache (FPC)
      Essencial para armazenar páginas completas e entregá-las de forma imediata ao visitante.
    • Cache de Páginas Públicas e Privadas
      Enquanto páginas públicas (como categorias e produtos) podem ser totalmente cacheadas, páginas privadas (como carrinho e checkout) exigem estratégias específicas para manter a velocidade sem perder personalização.
    • Redis e Varnish em Conjunto
      O Redis armazena dados internos do Magento, enquanto o Varnish acelera a entrega das páginas. Juntos, formam a combinação ideal para lojas de alto desempenho.
    • CDN para Assets Estáticos
      Imagens, scripts e estilos podem ser entregues via CDN, reduzindo a carga do servidor principal e garantindo carregamento rápido em qualquer lugar do mundo.

    Garantir a segurança é parte essencial da otimização Magento 2.

    Uma loja segura protege os dados dos clientes e mantém o negócio em funcionamento sem interrupções. Abaixo, pontos práticos para implementar:

    • HTTPS e TLS (Nginx e Apache)
      • Configure certificados SSL válidos (Let’s Encrypt ou gerenciados por provedores).
      • Em Nginx:
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
    • Em Apache:
    SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite HIGH:!aNULL:!MD5
    Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains"
    • Sempre priorizar TLS 1.3 quando disponível.

    Proteção contra DDoS e Bots (Cloudflare WAF)

    • Ative o Web Application Firewall (WAF) para bloquear ataques de injeção, SQLi e XSS.
    • Crie Rules específicas para bloquear países, IPs ou user-agents maliciosos.
    • Configure Rate Limiting para páginas críticas como /checkout e /carrinho.

    Backups e Planos de Recuperação

    • Scripts Shell para backups automáticos:
    # Exemplos
    
    # Backup do banco de dados
    mysqldump -u usuario -p'senha' magento_db > /backup/db_$(date +%F).sql
    
    # Backup do diretório do Magento
    tar -czf /backup/code_$(date +%F).tar.gz /var/www/magento
    • Cloud Providers: utilize snapshots automáticos (AWS, DigitalOcean, Linode) para ter recuperação rápida do servidor.
    • Combine backups locais com armazenamento externo (S3, Google Cloud Storage).

    A otimização Magento 2 também passa pelo núcleo do sistema e pela qualidade do código.

    Não adianta ter um servidor robusto se o Magento estiver mal configurado ou sobrecarregado por extensões desnecessárias. Aqui entram boas práticas para manter o core limpo e eficiente:

    Gestão de Extensões

    • Remova módulos que não são usados, pois cada extensão aumenta consumo de recursos.
    • Prefira extensões de fornecedores confiáveis, com suporte ativo e atualizações frequentes.

    Compilação e Deploy

    • Utilize os comandos nativos para preparar o ambiente:
    php bin/magento setup:di:compile
    php bin/magento setup:static-content:deploy -f
    • Isso garante que o Magento carregue código otimizado e estático, reduzindo tempo de resposta.

    Indexadores

    • Mantenha os indexadores no modo Update on Schedule, evitando reindexações pesadas em tempo real.
    • Verifique status com:
    php bin/magento indexer:status

    Boas Práticas de Código

    • Evite consultas diretas ao banco fora do padrão do Magento.
    • Use collections e repositórios nativos para manter compatibilidade e performance.
    • Sempre versionar código em Git, garantindo controle e rollback rápido em caso de falhas.

    A otimização Magento 2 também acontece no que o cliente enxerga e sente ao navegar.

    Quando falamos em performance, não basta olhar apenas para o servidor: o front-end tem impacto direto na experiência do usuário e no SEO. Ajustes como a minificação de CSS e JavaScript reduzem o peso das páginas, enquanto o lazy load de imagens e vídeos garante que apenas o conteúdo visível seja carregado de imediato, acelerando o tempo inicial de resposta.

    Outro ponto importante é o uso do HTTP/2, que permite que múltiplos arquivos sejam transferidos em paralelo, aproveitando melhor cada requisição. Somado a isso, cuidar dos Core Web Vitals — métricas como estabilidade visual e tempo de interação — é fundamental para alcançar melhores posições no Google e aumentar as conversões.

    Para complementar, existem módulos que auxiliam nesse processo, como o Amasty Google Page Speed Optimizer, bastante usado para otimizar imagens, aplicar lazy load e reduzir o peso de arquivos estáticos. Além disso, CDNs como a Cloudflare oferecem recursos extras de minificação automática de CSS e JavaScript, combinando segurança, cache global e otimização do front-end em uma única camada.

    image
    image

    https://amasty.com/google-page-speed-optimizer-for-magento-2.html

    Em resumo, otimizar o front-end é transformar cada clique do cliente em uma navegação mais fluida, rápida e confiável.

    Ajustar o composer.json é uma das formas mais eficazes de reduzir peso e melhorar a performance do Magento.

    O arquivo composer.json define todos os módulos, dependências e pacotes ativos na sua instalação Magento 2. Muitas vezes, ele vem carregado com extensões que não são usadas no projeto, aumentando o tempo de build, consumo de recursos e até pontos de falha em atualizações.

    Uma prática de otimização Magento 2 é revisar esse arquivo e utilizar a diretiva replace para desativar módulos desnecessários, como integrações de pagamento ou serviços que não fazem parte do seu negócio. Isso reduz código carregado no servidor, melhora o tempo de deploy e simplifica a manutenção.

    Outro ponto importante é ajustar a seção require-dev, mantendo apenas ferramentas realmente necessárias no ambiente de desenvolvimento, como PHPUnit, PHPStan e CodeSniffer, mas evitando que esses pacotes sejam instalados em produção.

    Além disso, configurações simples como:

    {
        "name": "magento/project-community-edition",
        "description": "Magento 2 Community Edition - Otimizado",
        "type": "project",
        "license": [
            "OSL-3.0",
            "AFL-3.0"
        ],
        "config": {
            "preferred-install": "dist",
            "sort-packages": true
        },
        "require": {
            "magento/product-community-edition": "2.4.1",
            "magento/composer-root-update-plugin": "~1.0"
        },
        "replace": {
            "magento/module-sample-data": "*",
            "magento/module-send-friend": "*",
            "magento/module-weee": "*",
            "magento/module-weee-graph-ql": "*",
            "magento/module-tax-import-export": "*",
            "magento/module-swagger": "*",
            "magento/module-swagger-webapi": "*",
            "magento/module-swagger-webapi-async": "*",
            "magento/module-tinymce-3": "*",
            "magento/module-csp": "*",
            "magento/google-shopping-ads": "*",
            "magento/module-google-adwords": "*",
            "magento/module-google-analytics": "*",
            "magento/module-google-optimizer": "*",
            "magento/module-login-as-customer": "*",
            "magento/module-login-as-customer-admin-ui": "*",
            "magento/module-login-as-customer-api": "*",
            "magento/module-login-as-customer-assistance": "*",
            "magento/module-login-as-customer-frontend-ui": "*",
            "magento/module-login-as-customer-log": "*",
            "magento/module-login-as-customer-page-cache": "*",
            "magento/module-login-as-customer-quote": "*",
            "magento/module-login-as-customer-sales": "*",
            "magento/module-login-as-customer-analytics": "*",
            "magento/module-new-relic-reporting": "*",
            "magento/module-adobe-stock-*": "*",
            "yotpo/magento2-module-yotpo-reviews": "*",
            "yotpo/magento2-module-yotpo-reviews-bundle": "*",
            "dotmailer/*": "*",
            "klarna/*": "*",
            "amzn/*": "*",
            "temando/*": "*",
            "vertex/*": "*"
        },
        "require-dev": {
            "phpunit/phpunit": "^9",
            "phpstan/phpstan": "^1.0",
            "friendsofphp/php-cs-fixer": "^3.0",
            "squizlabs/php_codesniffer": "^3.7",
            "phpmd/phpmd": "^2.13",
            "sebastian/phpcpd": "^6.0",
            "dealerdirect/phpcodesniffer-composer-installer": "^1.0",
            "magento/magento-coding-standard": "*"
        },
        "conflict": {
            "gene/bluefoot": "*"
        },
        "autoload": {
            "psr-4": {
                "Magento\\Framework\\": "lib/internal/Magento/Framework/",
                "Magento\\Setup\\": "setup/src/Magento/Setup/",
                "Magento\\": "app/code/Magento/"
            },
            "psr-0": {
                "": [
                    "app/code/",
                    "generated/code/"
                ]
            },
            "files": [
                "app/etc/NonComposerComponentRegistration.php"
            ],
            "exclude-from-classmap": [
                "**/dev/**",
                "**/update/**",
                "**/Test/**"
            ]
        },
        "autoload-dev": {
            "psr-4": {
                "Magento\\Sniffs\\": "dev/tests/static/framework/Magento/Sniffs/",
                "Magento\\Tools\\": "dev/tools/Magento/Tools/"
            }
        },
        "version": "2.4.1",
        "minimum-stability": "stable",
        "repositories": {
            "0": {
                "type": "composer",
                "url": "https://repo.magento.com/"
            }
        },
        "extra": {
            "magento-force": "override"
        }
    }
    

    Esse arquivo:

    • Mantém apenas o core essencial do Magento.
    • Remove módulos não usados via replace (Google Ads, Adobe Stock, Klarna, Yotpo, Temando, Vertex etc.).
    • Deixa o require-dev apenas com ferramentas realmente úteis para desenvolvimento.
    • Usa preferred-install: dist para builds mais rápidos e sort-packages: true para manter dependências organizadas.

    Resultado: um Magento mais leve, com menos dependências carregadas em produção e builds mais rápidos.

    Desativando módulos não utilizados no Magento 2

    O Magento 2 vem com diversos módulos ativos por padrão, incluindo integrações de pagamento, envio, marketing e relatórios que muitas vezes não fazem parte da realidade de cada projeto. Esses módulos consomem recursos, aumentam o tempo de compilação e podem até gerar vulnerabilidades desnecessárias.

    Para otimizar a instalação, podemos desativar rapidamente os pacotes que não estão em uso com o comando:

    sudo -u www-data php bin/magento module:disable -c {PayPal_BraintreeGraphQl,PayPal_Braintree,Magento_PaypalCaptcha,Magento_PaypalGraphQl,Magento_Paypal,Amazon_Login,Amazon_Payment,Amazon_Core,Magento_DownloadableImportExport,Magento_GroupedImportExport,Magento_InventoryBundleImportExport,Magento_BundleImportExport,Magento_TaxImportExport,Magento_SampleData,Magento_InstantPurchase}
    
    sudo -u www-data php bin/magento module:disable -c {Magento_Csp,Magento_Fedex,Magento_Dhl,Magento_Ups,Magento_Usps,Magento_AdobeStockImageAdminUi,Magento_AdobeStockAdminUi,Magento_AdobeStockAssetApi,Magento_AdobeStockAsset,Magento_AdobeStockImageApi,Magento_AdobeStockImage,Magento_AdobeStockClientApi,Magento_AdobeStockClient,Magento_AdobeImsApi,Magento_AdobeIms}
    
    sudo -u www-data php bin/magento module:disable -c {Klarna_Onsitemessaging,Klarna_Ordermanagement,Klarna_Kp,Klarna_Core,Magento_NewRelicReporting,Magento_CardinalCommerce,Magento_SendFriendGraphQl,Magento_SendFriend,Yotpo_Yotpo,Magento_TwoFactorAuth,Dotdigitalgroup_Chat,Dotdigitalgroup_Email,Vertex_AddressValidation,Vertex_Tax,Magento_WeeeGraphQl,Magento_Weee,Temando_ShippingRemover}
    
    sudo -u www-data php bin/magento module:disable Magento_Persistent Magento_Elasticsearch6 Mageplaza_QuickFlushCache -c
    
    sudo -u www-data php bin/magento module:disable Magento_Swagger Magento_SwaggerWebapi Magento_SwaggerWebapiAsync -c
    

    Depois de executar os comandos, é recomendado rodar:

    sudo -u www-data php bin/magento setup:upgrade
    sudo -u www-data php bin/magento setup:di:compile
    sudo -u www-data php bin/magento cache:flush

    Assim, você mantém apenas o que realmente é necessário para o funcionamento da loja, deixando o Magento mais leve, seguro e rápido.

    Conte com especialistas para garantir a verdadeira otimização Magento 2.

    O Magento 2 é uma plataforma poderosa, mas também exige atenção constante com servidor, segurança, atualizações e performance. Muitos problemas de lentidão, falhas em checkout ou até quedas de loja durante promoções acontecem justamente por falta de gestão adequada da infraestrutura.

    É aqui que entra meu trabalho: desde 2014 atuo com hospedagem e otimização de Magento, ajudando lojas virtuais a crescerem com ambientes estáveis, rápidos e preparados para escalar. Ofereço suporte completo e gerenciamento de servidores Magento 2, cuidando desde a configuração inicial até monitoramento contínuo, segurança, backups e ajustes de performance que fazem diferença real no resultado das vendas.

    Se você quer ter a tranquilidade de focar no negócio enquanto a parte técnica fica nas mãos de quem entende, entre em contato comigo. Vamos avaliar sua loja, identificar gargalos e preparar um plano sob medida para o seu e-commerce.

  • Configuração Inicial Ubuntu 20:04 Hospedagem Magento 2.4

    Configuração Inicial Ubuntu 20:04 Hospedagem Magento 2.4

    Nesse capítulo vamos iniciar o setup de um servidor Ubuntu 20:04 para hospedagem de lojas magento 2.4.5 com foco em desenvolvimento. No capítulo anterior te introduzi sobre tudo o que faremos, e espero que tenha lido.

    Primeiros passos Ubuntu Magento 2

    Sugiro que siga exatamente cada passo que eu realizar para que ao final de todo o processo você possa ter os mesmos resultados que obtive.

    A primeira coisa que você fará no seu servidor é atualizar o sistema operacional e todos os repositórios que nele estão. Para fazer isso, acesse seu servidor com usuário root ou com privilégios sudo, e execute os comandos abaixo.

    • Update do sistema e repositórios
    sudo apt-get update
    sudo apt-get -y upgrade
    • Instalação do git e algumas ferramentas úteis no dia a dia
    # htop  ferramenta para analise de consumo e processos do sistema
    # unzip ferramenta para compactação/descompactação arquivos .zip 
    # git   ferramenta para trabalhar com repositórios git
    
    sudo apt install -y htop unzip git 
    • Configuração do hostname e arquivo hosts

    É importante definir o hostname para que você dê um nome para seu servidor, é muito útil no dia a dia quando você gerencia diversas máquinas, e até evita alguma confusão.

    Altere o hostname (seguindo o modelo FQDN) e lembre de trocar por um domínio ou nome do seu interesse.

    sudo hostnamectl set-hostname magento-dev.loja.shop

    Agora execute os comandos abaixo para iniciar uma nova sessão e com isso verificar se o hostname está conforme configurou.

    bash 
    hostname -f

    Agora o nosso servidor está pronto para que possamos seguir para a próxima etapa! Vamos instalar a pilha LEMP e emitir o SSL no domínio da nossa loja.

  • Hospedagem Alta Disponibilidade Loja Magento Amazon AWS

    Hospedagem Alta Disponibilidade Loja Magento Amazon AWS

    Magento 2 AutoScaling AWS: performance e estabilidade para sua loja crescer sem limites

    Trabalhar com Magento 2 AutoScaling na AWS é a escolha certa pra quem entende que a infraestrutura não pode ser um gargalo — especialmente quando a loja começa a crescer, rodar campanhas pesadas ou se preparar para datas como Black Friday.

    Ao longo dos meus mais de 10 anos atuando remotamente com servidores e nuvem, já atendi agências, lojistas e e-commerces Magento dos mais variados tamanhos. Vi de perto os desafios que cada loja enfrenta quando o tráfego cresce e o servidor não acompanha — lentidão, instabilidade, ou pior: loja fora do ar em dia de pico.

    Neste artigo, vou te mostrar como montar um ambiente escalável de verdade, usando Magento 2 com AutoScaling na AWS, com alta disponibilidade, arquitetura bem definida, recursos otimizados e segurança. Tudo com base em projetos reais, de quem vive isso no dia a dia.

    Por que o Magento 2 exige mais da infraestrutura

    Magento 2 é uma plataforma poderosa, mas também pesada. Ele entrega flexibilidade, escalabilidade e um ecossistema rico — mas tudo isso vem com um custo: alto consumo de recursos, especialmente em lojas com muito tráfego, catálogo grande ou várias extensões ativas.

    Alguns pontos críticos:

    • Arquitetura modular: Magento 2 carrega muitos componentes a cada requisição, o que aumenta o uso de CPU, memória e banco.
    • Requisições simultâneas: em períodos de pico, como campanhas pagas ou eventos sazonais, a quantidade de acessos pode colapsar servidores subdimensionados.
    • Uso intensivo de banco de dados: o Magento executa várias queries por página, e o banco pode virar gargalo rapidamente sem tuning.
    • Extensões e customizações: quanto mais funcionalidades adicionadas, maior a chance de travar o ambiente se a infra não for robusta.
    • Admin pesando no backend: ações como edição em massa, sincronização com ERPs e reindexações exigem muito do servidor — e geralmente são feitas em horário comercial, com o site já recebendo tráfego.

    É por isso que soluções com AutoScaling na AWS fazem tanta diferença: elas se adaptam automaticamente à demanda, evitando quedas e lentidão mesmo quando a loja é colocada à prova.

    Vantagens de rodar Magento 2 com Alta Disponibilidade na AWS

    A AWS oferece tudo o que o Magento 2 precisa para rodar com estabilidade, desempenho e segurança — e com AutoScaling, sua loja cresce conforme a demanda, sem precisar “chutar alto” na capacidade o tempo todo.

    Principais vantagens:

    AutoScaling inteligente
    Aumenta ou reduz a capacidade automaticamente com base no tráfego. Mais performance nos picos, economia no resto do tempo.

    Alta disponibilidade
    Com servidores em múltiplas zonas, sua loja continua no ar mesmo se uma região falhar.

    Infraestrutura modular
    Separe app, banco, cache e storage com serviços como EC2, RDS, ElastiCache e S3.

    Segurança de nível empresarial
    Controle total de acesso, redes privadas, backups automáticos e criptografia nativa.

    Performance global
    Com CloudFront (CDN) e EFS, seus arquivos e páginas carregam rápido em qualquer lugar.

    Arquitetura Magento 2 com AutoScaling na AWS

    Essa é uma arquitetura recomendada para lojas Magento 2 que precisam de alta disponibilidade, escalabilidade automática e redundância real. A tabela abaixo mostra como cada parte do Magento se encaixa com os serviços da AWS:

    CamadaServiço AWSFunção na Arquitetura
    Load BalancerApplication Load Balancer (ALB)Distribui o tráfego entre múltiplas instâncias da aplicação
    Aplicação (App)EC2 com Auto ScalingExecuta o Magento 2 com escalonamento automático por demanda
    Sessões/CacheElastiCache (Redis)Armazena sessões e cache de objetos para melhorar desempenho
    Banco de DadosAmazon RDS (Aurora MySQL)Banco gerenciado, com réplica para leitura e failover automático
    StorageAmazon S3 + EFSS3 para arquivos estáticos (imagens, PDFs) / EFS para o compartilhado do app
    CDNAmazon CloudFrontAcelera a entrega de conteúdo em nível global
    Logs e MonitoramentoCloudWatch + SNSMonitora métricas, gera alertas e envia notificações automáticas
    SegurançaIAM + Security Groups + VPCControle de acesso, redes privadas e isolamento seguro

    Essa estrutura permite que o ambiente reaja automaticamente a qualquer variação de carga, mantendo a loja estável mesmo em momentos críticos — como Black Friday ou lançamento de campanha.

    E as otimizações do Magento 2? Elas fazem toda a diferença

    Ter uma infraestrutura escalável é essencial — mas não resolve tudo sozinho. A performance real do Magento 2 também depende de ajustes finos na aplicação, no banco de dados, nas configurações de cache e até no front-end.

    👉 Se você quer extrair o máximo da sua loja Magento, eu escrevi um artigo completo só sobre isso:
    Otimizações Essenciais para Magento 2
    Lá eu explico como melhorar tempo de resposta, lidar com indexações, ajustar o Redis, MySQL, cron jobs e mais.

    Dá uma olhada, vale muito a leitura se performance é prioridade na sua operação.

    Black Friday com Magento 2 na AWS: aguenta ou cai?

    Durante a Black Friday (ou qualquer campanha de alto impacto), sua loja é colocada à prova. Picos de acesso, requisições simultâneas, buscas, carrinhos, checkouts, tudo acontecendo ao mesmo tempo. Se a infraestrutura não estiver pronta, a loja simplesmente cai — e isso custa vendas, reputação e dinheiro.

    É aqui que o AutoScaling da AWS brilha: sua loja cresce conforme a demanda, sem intervenção manual. Quando o tráfego aumenta, novas instâncias sobem automaticamente. Quando a demanda cai, o ambiente reduz — otimizando custos.

    O que você ganha com uma infra escalável na Black Friday:

    • AutoScaling que responde ao tráfego em tempo real
    • CDN (CloudFront) entregando assets de forma ultrarrápida
    • Balanceamento inteligente com ALB evitando gargalos
    • Cache (Redis) otimizado para páginas, sessões e buscas
    • Banco em cluster (RDS Aurora) que não trava com consultas pesadas
    • Alta disponibilidade real — sem medo de falhas de zona ou instância

    Conclusão: Magento 2 com AutoScaling na AWS é o que separa loja estável de loja travada

    Se você leva sua operação a sério, sabe que performance, estabilidade e escalabilidade não são opcionais — são vitais. Especialmente em momentos críticos como lançamentos, campanhas e Black Friday.

    A combinação Magento 2 + AutoScaling + AWS entrega exatamente isso: uma infraestrutura que acompanha seu crescimento, responde ao tráfego em tempo real e mantém a loja no ar quando mais importa.

    Especialista em infraestrutura Magento 2

    Eu posso te ajudar a montar ou migrar sua loja Magento 2 para um ambiente 100% escalável, seguro e com alta disponibilidade na AWS.

    ✅ Mais de 10 anos de experiência com servidores Linux e e-commerce
    ✅ Ambientes otimizados para vendas, campanhas e estabilidade
    ✅ Arquiteturas personalizadas, sob medida para o seu negócio


  • Hospedagem de Lojas Magento na DigitalOcean #Case02

    Hospedagem de Lojas Magento na DigitalOcean #Case02

    Hospedagem de Lojas Magento Profissional

    Esse é o meu segundo artigo com um case bem interessante para hospedagem de lojas magento na DigitalOcean. Caso não tenha lido meu primeiro artigo recomendo muito a leitura:

    https://wp.alexjunio.com.br/magento/hospedagem-lojas-magento-digitalocean-01/

    Nesse artigo eu trago um novo case, se o primeiro case já tínhamos uma estrutura profissional, agora aumentamos mais ainda a qualidade da nossa hospedagem de loja magento. 

    Hospedagem Loja Magento na DigitalOcean

    Como digo no case anterior a DigitalOcean indiscutivelmente é conhecida em todo o cenário mundial, empresas de todo porte possuem sistemas desde o mais pequeno ao mais avançado projetados e hospedados na plataforma da DO.

    Hoje a DO tem muitos produtos e isso faz com que nós Arquitetos Cloud consigamos projetar infraestrutura para quase todo tipo de projeto, inclusive hospedagem de lojas magento profissional.

    Arquitetura Profissional para Hospedagem de Lojas Magento na DigitalOcean

    No case anterior apresentei uma arquitetura para hospedagem de lojas magento muito interessante, no entanto, agora trago uma segunda arquitetura muito mais robusta. 

    Meu objetivo não é superfaturar seus custos e muito menos trazer algo inútil, só quem enfrenta problemas técnicos sabe a dor de cabeça, tenho clientes que antes nem dormiam a noite! Pois perder vendas por conta da infraestrutura é algo inaceitável, e tenho certeza que concorda com isso. 

    Arquitetura Hospedagem Magento em HA na DigitalOcean : Case 02

    Explicação da Arquitetura

    Servidores

    Assim como no primeiro case, essa arquitetura foi projetada para operar inicialmente com 03 Droplets com recursos de hardware mínimos para um e-commerce magento. Mas lembre, o tipo de servidor e a sua classe vai influenciar na performance do mesmo.

    Stack Magento

    A Stack de softwares para essa arquitetura foi baseada em: Nginx, PHP e PHP-FPM, Redis Cache, Elasticsearch e GlusterFS.

    Banco de Dados Gerenciado DigitalOcean

    A DigitalOcean fornece um produto totalmente gerenciado pela equipe de engenheiros deles focado em banco de dados. Com isso podemos colocar o banco de dados da nossa loja Magento em um serviço como esse.

    O banco de dados gerenciado é um serviço totalmente estável, resiliente, com backups e opções bem interessantes de failover e cluster. Se você quer que sua hospedagem magento tenha um serviço de banco de dados profissional, esse serviço vai te atender na maioria dos casos.

    Balanceador de Carga e DNS

    Tanto o DNS quanto o Balanceador de Carga continuam idênticos ao primeiro case. Para que tenhamos um cluster e ao mesmo tempo possamos escalar com mais facilidade é de suma importância que tenhamos um serviço de balanceamento de carga profissional para nossa loja magento.

    Representação do funcionamento de um serviço de Load Balancer.

    Principais Benefícios

    Quando trabalhamos com uma arquitetura como a citada acima, ganhamos uma série de vantagens que você precisa conhecer.

    Alta Disponibilidade

    Alta disponibilidade significa possuir um serviço tolerante a falhas, principalmente técnicas de servidores. Nesse case, a hospedagem magento possui alta disponibilidade em quase todos os serviços.

    Temos alta disponibilidade a nível de servidor, banco de dados e balanceador de carga. Agora imagine o poder e qualidade que sua loja magento terá com esse modelo de hospedagem profissional. rs.

    Resiliência

    Resiliência e Alta disponibilidade = Hospedagem profissional! Diminuímos consideravelmente os pontos onde falhas poderiam ocorrer, principalmente por optarmos nesse modelo a utilização do banco de dados gerenciado.

    Escalável

    Nesse modelo de hospedagem magento podemos padronizar a configuração e criação dos servidores. No entanto estou estudando novas formas de realizarmos o autoscaling controlado, mesmo que a DO não fornecendo ainda esse modelo de serviço.

    Caso queira uma solução de AutoScaling para servidores Magento na DigitalOcean você terá que contratar um profissional para que ele escreva uma solução personalizada para seu caso, ou seja, sob demanda.

    Essa arquitetura serve para mim ?

    Esse segundo case é um modelo de arquitetura de hospedagem magento na DigitalOcean que serve para quase todo projeto. E claro, serve para lojas pequenas como também para lojas magento de grande porte, por se tratar de um modelo de fácil escalamento.

    Custos na DigitalOcean

    Partindo do cenário onde a arquitetura base precisa de:

    • 03 Droplets 4GB RAM e 2CPU
    • 1 Load Balancer
    • 1 MySQL Gerenciado
    • 1 Redis Cache Gerenciado

    Esse modelo custará mensalmente cerca de $150 dólar mensal. Mas tudo depende dos modelos de servidores e suas respectivas classes!

    Conclusão: Magento DigitalOcean

    Nesse artigo te apresentei um case para hospedagem de lojas magento com foco em alta disponibilidade e resiliência dos serviços. É um modelo profissional, com vários serviços descentralizados, focados em performance e disponibilidade.

    Espero que você tenha gostado e notado que para ter um serviço de hospedagem magento profissional, é necessário adotar novas metodologias e claro, investir!

    🚀 Consultoria Hospedagem Ecommerce:

    https://wp.alexjunio.com.br/consultoria-hospedagem-loja-virtual/

  • Hospedagem de Lojas Magento na DigitalOcean #Case01

    Hospedagem de Lojas Magento na DigitalOcean #Case01

    Hospedagem de Lojas Magento em Cloud

    Escolher um provedor para hospedagem de lojas magento é algo bem desafiador, nem sempre o maior e mais potente servidor vai trazer para você: estabilidade, segurança e alta disponibilidade. Costumo deixar claro que cada loja magento tem seus requisitos e é em cima disso que temos que trabalhar, conforme a demanda do projeto.

    A partir de um determinado momento o lojista entende que não pode mais ter um e-commerce lento, entende que não pode ficar caindo toda hora, pois isso impacta diretamente nas vendas. 

    Nesse artigo irei explicar um case de hospedagem magento profissional, que utilizei e utilizo em diversas consultorias quando se trata do provedor DigitalOcean.

    Digitalocean para Lojas Magento

    A DigitalOcean é um Cloud Provider conhecido a nível mundial, possuem data center em várias regiões do globo e uma gama bem interessante de soluções em sua plataforma. E isso acaba facilitando nossa vida, pois podemos implementar soluções mais robustas em cima da plataforma. 

    Arquitetura Servidores DigitalOcean Lojas Magento

    Lojas virtuais desenvolvidas na plataforma Magento costumam ser bem densas e pesadas. E é ai que surgem requisitos mínimos a nível de infraestrutura para que o magento trabalhe bem. 

    Quando temos uma loja em produção a história é outra, principalmente quando você está começando a ter público ou já tem um público fixo. E é ai que começamos a criar modelos de arquiteturas para hospedagem magento. 

    Sempre arquiteto modelos que possam ser escaláveis, desse modo consigo elaborar um modelo profissional que atende do pequeno ao grande lojista. Esse modelo é um dos vários modelos que podem ser implementados, confira abaixo:

    Modelo Hospedagem Magento em Alta Disponibilidade (HA) na DigitalOcean.

     

    Explicação Arquitetura

     

    Servidores

    A arquitetura foi projetada inicialmente para operar com 03 Servidores Droplets com recursos de hardware a partir de: 4GB RAM e 2CPU.  Quando trabalhamos com servidores em cluster aumentamos a capacidade que a loja tem de suportar acessos simultâneos sem que exista uma lentidão exagerada. Também fica muito fácil escalar o ambiente em black friday ou datas especiais. 

    Stack Magento

    A Stack de softwares para essa arquitetura é baseada em: Nginx, PHP e PHP-FPM, Redis Cache, Elasticsearch e GlusterFS. Para o bom funcionamento, todos esses softwares devem ser otimizados pensando em Magento.

    Cluster Banco de Dados

    O banco de dados não é centralizado, é um modelo em HA, ou seja, um cluster de banco de dados. Mas também é possível utilizar o serviço de banco de dados gerenciado da DigitalOcean visando diminuir a carga de processamento dos servidores.

    Balanceador de Carga e DNS

    O DNS do domínio pode ser gerenciado pelo próprio serviço de DNS da DigitalOcean ou algum outro provedor que você se interessar como: CloudFlare, Route53 etc. 

    O balanceador de carga é um serviço extra, mas tem como objetivo distribuir os acessos dos clientes entre o “parque” de servidores que você tem. Em outras palavras, ele é o gestor dos acessos, encaminhando os acessos entre os servidores que você tiver implantado. 

     

    Principais Benefícios

    Quando trabalhamos com uma arquitetura como a citada acima, ganhamos uma série de vantagens que você precisa conhecer.

    Alta Disponibilidade

    Quando temos servidores em cluster e principalmente em várias zonas de disponibilidade (regiões), aumentamos a disponibilidade do e-commerce magento.

    Imagine o cenário onde você tem servidores em 03 regiões (região X, região Y, região W), e em um determinado dia a região X ficou indisponível! Sua loja vai ser prejudicada? Não!

    As regiões Y e W continuam operante, e os usuários nem percebem que você teve uma queda na região X. Quanto mais expandirmos o cluster em regiões, mais disponibilidade ganhamos.

    Resiliência

    A resiliência está bem atrelada a alta disponibilidade, pois quando temos alta disponibilidade tendemos a ter uma hospedagem mais resiliente, com os pontos de falhas bem menos do que um modelo tradicional de hospedagem de lojas. Pois ramificamos os serviços da hospedagem em vários servidores e regiões.

    Escalável

    Nesse modelo de hospedagem magento podemos padronizar a configuração e criação dos servidores. Ainda não uma opção de AutoScaling como na Amazon AWS e Google Cloud, no entanto, podemos escalar manualmente conforme notamos que a infraestrutura precisa de mais recursos.

    Por um lado isso não é ruim, uma vez que você tem o controle dos custos da infraestrutura. Já no AutoScaling dependendo da forma que for implementado, poderá ter alguns sustos na conta.

    Mas caso queira implementar AutoScaling na DigitalOcean e colocar no modo automático, você vai precisar de um programador experiente para trabalhar com automações envolvendo a API da DigitalOcean, e ai sim, será possível colocar um sistema de AutoScaling para lojas magento.

     

    Essa arquitetura serve para mim ?

    Sem sobra de dúvidas! Uma vez que projetei inicialmente para operar com poucos serviços, mas ainda assim, tendo um mínimo para ter uma infraestrutura profissional!

    Claro que dá para reduzir a quantidade de servidores e também o porte dos servidores, mas não garanto a você que vai existir uma certa performance e qualidade ao usuário final.

    Custos na DigitalOcean

    Partindo do cenário onde a arquitetura base precisa de:

    • 03 Droplets 4GB RAM e 2CPU
    • 1 Load Balancer

    Esse modelo custará mensalmente cerca de $90 dólar mensal. Mas tudo depende dos modelos de servidores e suas respectivas classes!

    Conclusão: Magento DigitalOcean

    Nesse artigo abordamos um case de um dos modelos de hospedagem para lojas magento que executo no dia a dia. É de suma importância que você como lojista entenda que existem meios e formas profissionais para hospedagem de e-commerce, e isso vai agregar muito valor em sua loja. 

    Hoje estamos vivendo uma nova época onde muitas tecnologias estão ficando ultrapassadas, e você como lojista deve ficar atento as novas arquiteturas e formas de hospedar projetos de um modo profissional. 

    🚀 Consultoria Hospedagem Ecommerce: https://wp.alexjunio.com.br/consultoria-hospedagem-loja-virtual/