Categoria: Sem categoria

  • Vantagens e Desvantagens da DigitalOcean

    Vantagens e Desvantagens da DigitalOcean

    Sempre que vamos tomar uma decisão é importante listar todas as vantagens e desvantagens de um ponto de vista. Quando resolvi contratar a DigitalOcean lá em 2012, eu listei todos os pontos fortes e fracos da empresa, e resolvi investir meu tempo e dinheiro na proposta que ela oferecia. Estava cansado das hospedagens do Brasil. Tive bastante problemas hospedando meus sites em solo nacional, grande parte dos meus problemas eram advindos da pouca consideração que as empresas nacionais tem com os seus clientes.

    Depois de muito pesquisar cheguei na DigitalOcean, e posso dizer que não me arrependo em estar com eles desde então. Atualmente já me profissionalizei tanto em configuração de servidores, que acabo trabalhando mais com isso do que programando, que era a minha verdadeira profissão no incio da minha vida. Porém será que a empresa é realmente adequada para você? Para responder isso é importante entender o que ela lhe oferece, e o que você precisa saber antes de tomar a decisão de se cadastrar na DigitalOcean.

    Desvantagens da DigitalOcean

    Vamos começar pelas desvantagens, caso alguma delas seja incontornável para você, nem perderá seu tempo lendo todo esse artigo. Nada no mundo é perfeito, e apesar de ser uma empresa excepcional, alguns pontos negativos acabam vindo a tona. É importante conhecê-los.

    Dólar – Infelizmente como o serviço da DigitalOcean não é fornecido por uma empresa brasileira, você acaba tendo que realizar seus pagamentos em dólar. Pode não parecer que isso seja uma grande desvantagem, mas hoje (maio de 2020), o dólar está a quase R$ 6,00. Uma hospedagem de $5 dólares por mês quando a cotação estava R$2,50 é uma coisa, mas a mesma hospedagem com o dólar a R$ 6,00 é outra coisa bem diferente. Se seu site precisa de bastante recursos, atrelar sua infra a cotação do dólar pode ser algo bastante complicada de se explicar ao departamento financeiro.

    Cartão Internacional – Esse problema fica combinado com o problema anterior, para usar a DigitalOcean você obrigatoriamente precisa ter um cartão de crédito internacional. Pagamentos só podem ser feito via cartão de crédito internacional ou Paypal.

    Data centers fora do Brasil – Isso vai depender muito do seu tipo de negócio. Algumas empresas não podem ter seus dados fora do território nacional, pois a política interna da empresa impede esse tipo de situação. Para essas empresas o serviço da DigitalOcean acaba não sendo uma opção. Até a data de hoje, não existem servidores em território brasileiro, porém isso pode mudar a qualquer momento. Outro problema que isso acaba trazendo é a alta latência para algumas aplicações. Se você tem um site institucional ou blog pessoal isso não é problema para você. Mas se você possui um sistema web grande ou loja virtual com muitos acessos, qualquer milissegundo é importante, e servidores fora do brasil acabam trazendo uma latência desnecessária. Porém acredito que em pouco tempo a DigitalOcean vai habilitar servidores em território nacional.

    Configuração manual – Diferente de outros servidores e hospedagens compartilhadas, a DigitalOcean espera que quem contrate seus serviços tenha ciência de como configura um servidor Linux do zero. Obviamente essa não é uma habilidade que todo mundo que possui um site desenvolve. A maioria esmagadora de servidores no Brasil são de hospedagens compartilhadas, e em grande parte os servidores compartilhados já trazem tudo configurado, necessitando apenas que o cliente envie seus arquivos para que seu site funcione perfeitamente. Por isso ofereço meus serviços de consultoria, quem precisa de um site na DigitalOcean mas não quer aprender como configurar um servidor com segurança, basta me contratar.

    Vantagens da DigitalOcean

    Se as desvantagens não são um empecilho para você, com certeza você vai amar a DigitalOcean. As vantagens são inúmeras, mas vou me limitar a algumas.

    Disponibilidade – Estou com a empresa a anos a fio e nunca tive um problema de indisponibilidade. Nem mesmo por um único minuto que seja. Quem é acostumado com hospedagens no Brasil que apresentam indisponibilidade constantemente, vai se surpreender com a DigitalOcean. Quando acontece algum problema com a máquina física que nosso servidor se encontra, eles realizam os procedimentos automaticamente e migram tudo para outra máquina. Você não tem que fazer nada e seu site não sai do ar em momento algum.

    Segurança – Na DigitalOcean seus dados são realmente seus. No Brasil isso também pode ser verdade, mas como a maioria dos host do Brasil oferecem apenas hospedagens compartilhadas, você acaba sofrendo com a falta de segurança intrínseca desse tipo de hospedagem. É raro um cliente ter acesso a dados de outros clientes, mas se sua empresa vale centenas de milhares de reais, não é recomendado arriscar. Outro detalhe é que na DO você pode usar um sistema de autenticação por chave pública, o que acaba fazendo com que seu servidor fique extremamente seguro contra ataques de força bruta.

    Escalabilidade – Apesar de ser uma palavra difícil para muitos, a escalabilidade é o quanto seu site pode crescer sem te dar grandes dores de cabeça com a infraestrutura. Se você começar com uma loja pequena, hospedada em um servidor compartilhado, e ela começar a receber muitas visitas, não tem jeito você terá que fazer backup, desligar tudo, migrar para um servidor maior, configurar tudo, apontar os dns e rezar para tudo voltar a funcionar. Isso além de quebrar seu serviço por preciosas horas, acaba trazendo problemas de SEO e vendas. Se você migrar para um servidor dedicado e sua loja começar a crescer ainda mais, você terá que fazer o mesmo processo outra vez. Mas na DigitalOcean não. Como tudo e virtualizado, você não possui uma máquina com 2GB de RAM, você possui um pool de máquinas com terabytes de RAM, e a sua é apenas um servidor virtual. Você pode fazer upgrades em tempo real e com downtime quase zero.

    Infraestrutura – Além da facilidade em realizar um upgrade em tempo real como disse anteriormente, a DO permite que você crie uma infraestrutura digna de grandes empresas e gastando quase nada. Você pode ter um load balancer ligado a dois servidores web, um servidor de banco de dados dedicado replicado em um outro servidor de backup, que automaticamente, fica espelhando o seu banco de dados principal e caso o primeiro caia, o segundo assume. Além disso você pode ter CDN, servidores de cache e e-mail separados. Tudo isso em máquinas separadas, imagina o custo disso seu fosse necessário criar essa infra fisicamente ou usando servidores realmente dedicados, milhares de reais com certeza seriam gastos. Na DigitalOcean basta você lançar uma droplet de 5$ para cada serviço. Com 25$ você possui 5 servidores para começar a brincar, tudo isso com a possibilidade de escalar cada um individualmente e todos ligados em uma rede local de altíssima velocidade.

    Suporte – O suporte da empresa é realmente muito bom, pessoal sabe de Linux e servidores. Caso venha ter algum problema, eles vão saber como resolver. Infelizmente só existe suporte em inglês, mas para quem domina a língua, o suporte não deixa nada a desejar. Caso não domine o inglês e precisa de consultoria e ajuda com seus servidores, basta entrar em contato comigo 🙂

    Listei aqui apenas alguns pontos negativos e positivos da DigitalOcean, poderia continuar a lista por dezenas de pontos, mas com essas colocações você já será capaz de tomar uma decisão consciente e escolher a empresa certa para você.

  • Criando Arquivo De SWAP

    Criando Arquivo De SWAP

    É normal enfrentarmos problemas com nossas droplets se não configurarmos um arquivo de SWAP corretamente, já que por padrão, ao se criar um novo servidor o SWAP não é gerado automaticamente. A DigitalOcean deixa por conta do desenvolvedor as configurações básicas de sua droplet, isso garante maior flexibilidade e opções ao desenvolvedor. Entre essas configurações básicas a nosso cargo, está a criação do arquivo de SWAP, que muitos se esquecem de realizar. Por isso nesse artigo vamos aprender como criar e dimensionar um arquivo de SWAP corretamente. Mesmo que você seja um novato no mundo GNU/Linux, no final deste tutorial, você terá seu arquivo SWAP funcionando perfeitamente.

    Primeiramente vamos entender os problemas que possamos vir a ter caso o SWAP não esteja configurado corretamente, e em seguida, o que é o SWAP propriamente dito. Desta forma se nos depararmos com um comportamento anormal em nossos servidores, podemos diagnosticá-los corretamente e em seguida proceder a correção de forma fácil.

    Para começar vamos descrever uma situação-problema como. Digamos que você possui um servidor (droplet) no qual o banco de dados está apresentando erros. Tudo funcionava perfeitamente quando você criou o seu servidor, mas com o passar do tempo o banco de dados (MySQL por exemplo) para de funcionar e em consequência a sua aplicação para junto. Simplesmente o processo do MySQL “morre” sem maiores explicações. Quando você reinicia o seu servidor, tudo volta a funcionar corretamente, porém em algum tempo depois, o sistema volta a finalizar o processo do banco de dados misteriosamente.

    O problema relatado no parágrafo anterior é bastante comum e acontece devido à falta de memória em seu servidor. Quando o seu banco de dados precisa de mais memória, ele solicita ao sistema operacional, que como já está praticamente sem memória, não consegue atender à solicitação do banco de dados. Sem recursos para poder funcionar corretamente o processo do banco de dados acaba travando e “morrendo” misteriosamente.

    Como o SWAP funciona?

    Com o relato anterior fica claro uma coisa, manter o servidor sempre com memória RAM sobrando é algo indispensável, porém como balancear custos com os recursos realmente gastos? Não adianta aumentar muito a memória de meu servidor e pagar fortunas. Também não adianta manter os recursos no mínimo e não atender picos de demanda, terminando assim com meu site fora do ar. O segredo aqui é balancear as coisas, e isso pode ser feito através do arquivo de SWAP.

    O arquivo de SWAP é nada mais que uma área de troca, onde a memória principal (RAM) ociosa pode ser armazenada para quando for novamente necessária. Esse armazenamento ocorre em disco rígido, já que ele possui muito mais espaço que a memória RAM (geralmente). Assim quando o sistema fica sem memória, ele recorre ao SWAP, que guarda o conteúdo da memória mais antigo em disco e recicla seu espaço para que um novo aplicativo possa utilizar. Resumindo o SWAP é uma área de espera, onde quem não está utilizando a memória RAM fica aguardando a sua vez de utilizá-la.

    A grande vantagem da DigitalOcean sobre os demais hosts existentes no mercado é o seguinte – seus servidores contam com discos SSDs no lugar dos discos rígidos comuns. Isso significa que a velocidade de leitura e escrita e dezenas de vezes superior ao disco rígido comum. A grande desvantagem da SWAP é essa, a área de troca é geralmente lenta, pois os discos rígidos são lentos ao serem comparados a memória RAM, porém na DigitalOcean isso não é verdade, pois até mesmo a área de SWAP é extremamente rápida.

    Criando um arquivo de SWAP

    Para criar um arquivo de SWAP é muitos simples. Primeiramente vamos criar um arquivo (cheio de zeros) no qual montaremos nossa partição de SWAP. O tamanho deste arquivo será de 500MB, o que atende a maioria das aplicações. Existe bastante discussão sobre o tamanho ideal de uma partição de SWAP, porém no mundo moderno, a maioria dessas discussões são infundadas. Execute o comando abaixo e crie um arquivo de 500MB para sua área de SWAP, raramente encontrará problemas como esse valor.

    sudo dd if=/dev/zero of=/swapfile bs=1M count=500 

    O comando acima criará um arquivo na raiz do sistema chamado swapfile, esse arquivo será a nossa área de troca. Para estabelecer a área de SWAP nesse arquivo, execute o comando abaixo.

    sudo mkswap -f /swapfile

    Para que nosso arquivo funcione corretamente precisamos definir as permissões corretas para ele. Execute o comando abaixo para que as permissões sejam definidas corretamente.

    sudo chmod 600 /swapfile

    Agora precisamos editar o arquivo /etc/fstab para adicionar o nosso arquivo de SWAP. Para isso execute o comando abaixo:

    sudo nano /etc/fstab

    Copie e cole a linha abaixo no final do arquivo que você acabou de abrir para edição.

    /swapfile none swap sw 0 0

    Depois de inserir a linha acima, pressione Ctrl+x para sair do editor de texto e, quando solicitado, pressione a tecla Y e em seguida o Enter para salvar as alterações

    Vamos ativar o nosso arquivo de SWAP com o comando abaixo:

    sudo swapon -a

    Pronto o seu arquivo de SWAP está funcionando perfeitamente. Recomendo realizar o reboot do servidor para que todos os aplicativos já possam tirar proveito dessas alterações.

    Para testar digite o comando abaixo. Se no campo swap aparecer o valor de 500MB (ou bem próximo a ele), nosso SWAP está funcionando corretamente.

    free –h

    Conclusão: Para você que sofre com queda em seus serviços e não consegue identificar a causa, verifique se seu arquivo de SWAP está funcionando corretamente. Caso identifique que o SWAP não exista, use esse tutorial para criá-lo e melhorar a estabilidade de seu servidor.