Uso a AWS desde 2013, mas recentemente montei servidores próprios para reduzir custos e ter mais previsibilidade. Compartilho os motivos da migração para servidores próprios, o processo, as medidas de segurança e um caso de aplicação de autenticação multifator (MFA).
Motivos da migração
• Redução de custos: ao usar a AWS, era difícil prever os custos, e o aumento da cotação do dólar aumentava a carga.
• Características do serviço B2B: como é pouco provável que o número de usuários cresça de forma abrupta, e é possível ajustar a quantidade de contratos, não há problema de escalabilidade.
Processo de migração e desafios
• Trabalho de migração: banco de dados, servidor de staging e novos serviços em desenvolvimento foram transferidos para servidores internos.
• Resolução de problemas iniciais: foram resolvidos problemas de compatibilidade durante a configuração dos servidores e a necessidade de upgrade de hardware.
Vantagens de longo prazo
• Redução de custos: diminuição de custos ao aproveitar ao máximo os recursos dos servidores físicos.
• Reforço na segurança: fortalecimento da segurança com a adoção de autenticação multifator (MFA) usando GPT.
Medidas de segurança
• Gerenciamento de permissões de acesso: configuração de faixas de IP, gerenciamento de IDs e senhas, adoção de autenticação multifator.
• Segurança física: controle de acesso e sistema de vigilância do data center.
• Inspeções regulares: verificações de segurança e análise de vulnerabilidades, backup periódico dos dados e armazenamento em storage externo.
Aplicação de autenticação multifator (MFA)
• Escolha da solução de MFA: Google Authenticator, Authy, Yubikey etc.
• Implementação: adição da etapa de MFA ao fluxo de autenticação do usuário, integração de API e melhoria da interface do usuário.
• Código de exemplo: fornecimento de exemplos de aplicação de MFA usando Python Flask e Ruby on Rails.
Respostas a perguntas adicionais
Q1: Como vocês gerenciam a operação estável de servidores físicos diante do verão rigoroso e da poeira na Coreia?
• Gerenciamento do ambiente da sala de servidores: uso de ar-condicionado e desumidificador, instalação de purificador de ar e limpeza periódica.
• Sistema de monitoramento: monitoramento em tempo real de temperatura e umidade.
• Manutenção de hardware: inspeções e manutenção regulares.
Q2: Qual é o plano de backup em caso de interrupção inesperada no fornecimento de energia ou indisponibilidade da internet?
• Operação com redundância de servidores: distribuição dos servidores em vários espaços físicos.
• Sistema UPS: instalação de nobreak.
• Redundância da conexão com a internet: fornecimento de duas ou mais conexões de internet.
• Plano de backup e recuperação de dados: backup periódico dos dados e elaboração de um plano de recuperação rápida.
8 comentários
O lugar a que se chegou ao sair da AWS, usada por 10 anos, foi Mac mini M1, M2.... Isso não é marketing viral da Apple, certo?
Por melhor que os outros elementos de infraestrutura pareçam estar montados, isso aí tem um impacto grande demais.
Fico curioso para saber se vocês não sentiram necessidade de montar uma equipe separada, já que devem se acumular bastante questões mais ligadas à operação do que ao desenvolvimento — como firewall, roteamento e outras configurações de rede, backup em site de recuperação de desastres, definição de um consenso de segurança etc. (incluindo, no caso de B2B, os requisitos de segurança exigidos pelos clientes).
É uma curiosidade à parte, mas isso quer dizer que integraram o GPT para implementar MFA? Ou que usaram o GPT para ajudar com a programação? Fiquei curioso. É um caso em que o ChatGPT virou o administrador de segurança?
Pelo texto, parece algo como: pergunta ao ChatGPT, pega algumas pistas e toma várias medidas... mais ou menos isso.
Dá para entender a recomendação do mac mini pelo lado do H/W, mas...
Se você for usar Docker no Mac, no fim das contas vai estar rodando uma VM, e o Docker vai rodar em cima dela...
Em ambiente de produção, usar Docker no Mac me deixa com uma certa pulga atrás da orelha.
O que também me deixou intrigado nessa parte é que, em ambiente Docker, o ARM ainda tem um bom caminho pela frente; além disso, como você disse, se for no OSX, vai rodar em cima de uma VM como o QEMU, então a perda de desempenho não é brincadeira. Por isso, a recomendação dessa combinação me parece um pouco estranha.
Isso significa que até o ambiente de operação roda em um Apple Mac?
Imagino que não haja redundância nem de energia nem de disco; então fico curioso para saber como lidariam com isso caso ocorra algum problema de hardware.
Quando penso no aluguel de imóveis ou no custo de locação de espaço em um IDC, dá para entender um pouco por que a nuvem é cara. Acho que o objetivo mais difícil é operar servidores redundantes.