Comparativo Amazon Web Services e DigitalOcean

Tempo de leitura: 5 minutos

comparativo amazon web services e digitalocean
Comparativo Amazon Web Services e DigitalOcean

Comparativo Amazon Web Services e DigitalOcean. Quem não gosta de testes de performance?

Você que quer aprender sobre Cloud Computing deve saber como escolher melhor o seu provedor de computação em nuvem e por isso preparamos este comparativo para você.

Um item que devemos levar em consideração é a performance do nosso provedor e o preço.

Neste artigo vamos comparar Amazon Web Services e DigitalOcean. O comparativo parece injusto, mas vamos entender um pouco sobre nosso teste de performance nestes provedores de Cloud Computing.

A Amazon Web Services possui uma grande plataforma de serviços, a gama de produtos tanto como PaaS, IaaS e SaaS é muito maior que a Digital Ocean, por isso nosso teste será focado apenas no serviço de processamento de ambos provedores, ou seja na AWS o EC2 (Elastic Computing) contra a Droplet na DigitalOcean.

Pois bem, outro ponto importante em nosso teste, é o preço, sendo assim, vamos pegar a menor instancia de servidor em ambos os provedores. Aqui nesse ponto a Digital Ocean ganha em disparada pois a menor instancia na Digital Ocean custa $ 5,00 (cinco dólares) contra $ 15,00 (em média quinze dólares) da AWS.

Agora vamos entender melhor nosso teste, o que é levado em conta e como ele foi realizado.

Poderíamos pensar que, uma instancia com especificação X no provedor A tem performance igual a mesma instancia no provedor B, certo? Errado. Na nuvem as coisas funcionam um pouco diferente. Podemos estar compartilhando um mesmo servidor com outros usuários, e isso é transparente para nós, devido ao hypervisor desse servidor. O desempenho da sua instância em nuvem pode variar drasticamente, devido apenas ao comportamento desses outros usuários.

Como é baseado nosso comparativo de performance entre Amazon Web Services e DigitalOcean ?

Nosso teste usa o PHP, e isso pode ser executado em cima do Apache, nginx ou IIS. E você pode estar se perguntando, porque PHP? Porque o PHP contém módulos escritos em C e compilados para rodar nativamente no processador.

Performance da CPU

Selecionamos algumas funções que mais fazem acesso ao processador e que levam um certo tempo para serem executadas, elas são; crc32, SHA1, levenshtein.

O script chama repetidamente estas funções dentro de um laço (loop) e nós medimos o tempo de resposta para execução destas funções.

Simultaneidade na CPU

O teste quando executado desencadeia uma série de chamadas para as funções e algumas delas são chamadas em paralelo para testar a performance da CPU quando estressada em pedidos simultâneos.

Teste de Memória:

Nosso script teste, cria varias strings com tamanho longo o suficiente para ultrapassar os limites de caches de todos os processadores, inclusive os mais modernos. Na sequencia o script copia pequenos trechos dessas strings para outra região da memória. Um dos métodos utilizados é o zend_alloc.c que internamente chama o memcpy.

Teste de disco:

O teste de performance de disco é feito criando arquivos no diretório temporário do sistema operacional, Estes arquivos são escritos em um tamanho  maior que a memória disponível para o sistema operacional, para evitar distorção causada por caches.

Já o teste de disco sequencial (outro método de medir a performance de disco) lê diversos arquivos em uma sequencia round-robin, seguindo a mesma ordem em que os arquivos foram gravados.

Para o teste de disco aleatório, blocos de 4k são lidos, em ordem quasi-randon, desta forma o disco deve sempre procurar um novo local antes de ler o proximo bloco. O script é distribuído utilizando uma função hash de Fibonacci, buscando sempre maximizar o tempo entre os blocos a serem lidos.

Agora que já expliquei como nosso teste é realizado, vamos a execução.

Executando o Teste:

Instancia Amazon EC2 t2.nano DigitalOcean 512MB
Memória 512MB 512MB
Disco 8GB 20GB
Preço por hora $ 0.0065 $ 0.007
CPU 2.4 Ghz 1.80 Ghz
———————————————————————————————————————
Teste de Memória 5.6 GB/s 5.9 GB/s
Teste de disco (rate) 59 Mb/s 548 Mb/s
Teste de disco (seeks) 85 ops/s 1,584 ops/s

Nossas conclusões

Podemos ver que a instancia da DigitalOcean, se mostrou melhor que o EC2 da AWS principalmente na questão do disco, já que a Digital Ocean usa armazenamento em SSD.

Quanto ao quesito memória podemos observar que a DigitalOcean, também teve um ganho, por uma diferença mínima, mas teve.

Ja no item CPU é indiscutível que a Amazon Web Services tem uma performance melhor, ja que a família de processador usada fisicamente é de 2.4 Ghz.

E o item preço por hora, a Amazon Web Services ganha, já que sua instancia custa 0,006 por hora, contra 0,007 da DigitalOcean. Outro item que pode fazer a diferença no custo na AWS é a instancia reservada. Que por um ano, sai por $0.0045/hora, chegando a uma economia de 31%. Vamos falar sobre tipos de reservas da AWS em outro artigo. Existe a opção de reserva para 3 anos também.

Se você quer uma instancia econômica pode escolher entre qualquer uma das 2 do nosso comparativo que você estará gastando bem seus dólares, porém se você planejar bem, e por exemplo quiser uma instancia pra suportar um blog 24hrs por dia, todos os dias, reservar essa instancia pode ser bem mais barato na Amazon Web Services.

Se deseja, uma instancia para escrever e ler com facilidade do disco, a DigitalOcean é a melhor escolha.

Pois bem pessoal, fizemos um teste de performance entre o EC2 t2.nano contra o Digital Ocean 512MB e vimos o destaque da Digital Ocean com seus discos SSD, e o destaque no preço para AWS.

Não perca nossas novidades e venha aprender Cloud Computing com agente!

Insira o seu endereço de email abaixo para receber gratuitamente as atualizações do blog!

Fique tranquilo, seu e-mail está completamente <strong>SEGURO</strong> conosco!