Comparação de tipos de instância ec2

Escala horizontal x Escala vertical é o termo usado na infraestrutura geral que as pessoas usam para essa comparação.

Qual é melhor? Depende do número de fatores N:

  1. Qual é o objetivo da comparação?
  2. Qual aplicativo está sendo executado nessas instâncias?
  3. Quais recursos (CPU / Memória) etc., esses aplicativos são necessários?
  4. Você quer HA ou não?
  5. Qual é o padrão de uso típico do aplicativo

E assim por diante..

Cada escala tem suas próprias vantagens e desvantagens.

Escala vertical: a escala vertical é limitada pelo fato de que você só pode ter o tamanho do servidor.

Escala horizontal: o aplicativo precisava ser codificado para suportá-lo e os conhecimentos necessários para montar as coisas.

Boa sorte!

Escolhendo um tipo de instância

AWS

depende de vários fatores, como CPU, armazenamento, memória e rede. Portanto, escolha o tipo apropriado de acordo com os requisitos do seu aplicativo.

Por exemplo, se seu aplicativo exigir mais RAM ou recursos do sistema, vá para Maior

instância

e é fácil fazê-lo, mas isso não é recomendado, como se o tráfego aumentasse, você teria que pagar o dobro do que está pagando. A maneira de fazer isso é:

  1. Pare a instância
  2. 2. Em ações> Configurações da instância> Alterar tipo de instância

    3. Escolha o tipo de instância necessário que você deseja

    Mas se você quiser apenas aumentar o número de exemplo de acordo com o tráfego, vá para pequenas

    instâncias

    com um

    Escalonamento automático

    grupo, pois ajudaria você a gerenciar o tráfego escalando a instância para cima e para baixo de acordo com o tráfego.

    Além disso, se você tiver instâncias em várias zonas de disponibilidade, isso aumentaria a natureza tolerante a falhas do seu aplicativo e moveria o conteúdo estático para

    S3

    para facilitar as coisas.

    E há muitas outras maneiras na AWS pelas quais você pode tornar seu aplicativo eficaz como usar:

    • IP elástico
    • Lambda
    • Serviço de contêiner elástico
    • Pé de feijão elástico
    • EKS
    • Opsworks
    • CloudFormation

Em geral, instâncias mais caras são mais rápidas. Por exemplo, nosso aplicativo Web Python (Django) é executado duas vezes mais rápido em um c1.xlarge que em um c1.medium, mesmo com apenas um único thread em execução - e os requisitos máximos de memória para um único thread são de cerca de 150 MB, portanto não é resultado da diferença de memória. Em vez disso, é provavelmente mais rápido devido ao processador mais rápido e à arquitetura de 64 bits.

O benefício de várias instâncias é a redundância. Se você estiver executando um aplicativo Web que precisa manter on-line, desejará pelo menos dois servidores ativos, em pelo menos duas zonas de disponibilidade diferentes. Portanto, é uma situação em que vários servidores superam um único servidor.

Por fim, não acho que você terá uma resposta definitiva para sua pergunta de "qual tipo de instância é mais econômico (e aceitável em termos de desempenho) para minha situação?" até testar tipos diferentes e comparar o desempenho deles. Por esse motivo, eu recomendaria o RightScale, o que torna incrivelmente fácil fazer isso com seus ServerTemplates e RightScripts. Podemos iniciar qualquer um de nossos servidores em qualquer tipo de instância arbitrária, alterando apenas uma ou duas opções no painel de controle, e teremos o mesmo software / configuração / conteúdo do banco de dados / código do banco / código do check-out / etc necessários para o servidor . (Também podemos alterar as versões do sistema operacional e, às vezes, os sistemas operacionais com a mesma quantidade de esforço).

Como líder de mercado em soluções de nuvem pública, a Amazon Web Services oferece aos clientes uma gama formidável de instâncias do EC2. Você é praticamente mimado pela escolha, com mais de 50 tipos de instâncias sob demanda, desde pequenas instâncias que podem ser acessadas por sites de baixo tráfego até máquinas superdimensionadas para servidores Web de ponta, processamento de números em grande escala e análise de grandes dados.

As especificações variam de 500MiB de RAM a um gigantesco 1.95TiB, armazenamento onboard de 4GB a 48TB e volumes de armazenamento EBS anexados de 1GB a 16TB. Eles também incluem uma ampla variedade de níveis de computação e recursos específicos de processador. E as taxas horárias variam de US $ 0,0065 a US $ 14,4 (p2,16x instância grande a preço de N.Virginia) para as instâncias Linux sob demanda da Amazon.

Mas, com tanta variação de preços e recursos, selecionar a instância certa para as cargas de trabalho de TI da sua empresa não é um desafio fácil. Portanto, neste guia introdutório, mostraremos os principais pontos que você deve considerar para obter o melhor equilíbrio entre desempenho e custo de suas implantações na nuvem da Amazon.

Que tipos de instância estão disponíveis? A Amazon facilita a localização da instância necessária, dividindo-as em diferentes combinações de vCPU, memória, armazenamento e capacidade de rede para atender a diferentes casos de uso. Cada combinação é conhecida como um tipo de instância, em que cada tipo de instância é um intervalo de instâncias de tamanhos diferentes que compartilham características e recursos comuns:

Tipos de instância de uso geral: T2, M3 e M4

A linha de uso geral da Amazon oferece um equilíbrio de capacidade de computação, memória e rede, o que os torna adequados para aplicativos corporativos comuns, como bancos de dados de pequeno a médio porte, servidores da Web e computação em cluster.

A família T2 oferece várias instâncias menores de nível de entrada, ideais para sites de baixo tráfego, ambientes de desenvolvimento e aplicativos corporativos recentes. Ele também oferece recursos avançados, com base em um sistema de crédito, onde você acumula créditos quando suas vCPUs estão ociosas e consome créditos quando estão ativos.

A família M3 oferece uma taxa de memória para vCPU um pouco mais alta e é caracterizada pelo armazenamento SSD integrado para altas cargas de trabalho de E / S de disco. O M4 é a última geração de instâncias de uso geral, que oferece otimização do EBS sem nenhum custo extra.

Tipos de instância otimizada para computação: C3 e C4 As famílias C3 e C4 otimizadas para computação oferecem uma proporção mais alta de vCPU para memória e o melhor preço por vCPU em todo o intervalo de instâncias da AWS. Eles são voltados para aplicativos de computação intensiva, como sites de alto tráfego, jogos on-line e altas cargas de trabalho científicas computacionais.

A principal diferença entre as duas famílias é que as instâncias C3 são suportadas pelo armazenamento de instâncias, com armazenamento diretamente de SSD de até 640 GB, enquanto as máquinas C4 são instâncias suportadas pelo EBS com largura de banda EBS dedicada e processadores Intel de nova geração, otimizados especificamente para o EC2.

Tipos de instância com otimização de memória: X1 e R3 Os tipos de instância com otimização de memória, X1 e R3, foram projetados para aplicativos que consomem muita memória, como bancos de dados sensíveis ao desempenho e implantações maiores do SAP e Microsoft SharePoint. Ambas as instâncias são apoiadas pelo armazenamento de instâncias e, em termos de memória, oferecem o melhor valor pelo dinheiro no intervalo do EC2.

O R3 vem em cinco tamanhos diferentes, com armazenamento SSD de até 640 GB e é frequentemente usado por seus recursos de cluster em análise distribuída de big data. O X1 está disponível em dois sabores, o maior dos quais é uma máquina de 128-vCPU com um tamanho colossal de 1.952GiB de memória e 3,84TB de armazenamento local. Embora o X1 seja uma das famílias EC2 mais caras, ele tem um custo mais baixo por GiB de RAM de todos os tipos de instância. O X1 é muito voltado para o SAP HANA, mas também oferece potencial para re-hospedar aplicativos legados em larga escala.

Tipos de instância otimizada para GPU: G2, P2 As famílias G2 e P2 aproveitam os recursos de processamento paralelo da GPU, complementando a vCPU geral com processadores NVIDIA de alto desempenho

..

Desenvolvidas por GPUs que hospedam 1.536 núcleos CUDA e 4 GB de memória de vídeo, as instâncias G2 são adequadas para streaming de aplicativos 3D, aprendizado de máquina, transcodificação de vídeo e uma infinidade de aplicativos científicos e de engenharia acelerados por GPU. A família P2 é a última geração da Amazon de instâncias otimizadas por GPU. Oferece mais memória por vCPU, 2.496 núcleos de processamento paralelo e 12 GiB de memória no processador para cada GPU e tamanhos de instância geral maiores de até 16 GPUs. É adequado para bancos de dados de alto desempenho, aprendizado de máquina em larga escala, cargas de trabalho de finanças computacionais e outras cargas de trabalho de computação da GPU no servidor.

Tipos de instâncias otimizadas para armazenamento: I2 e D2 As instâncias I2 e D2 da Amazon oferecem armazenamento de baixo custo diretamente conectado e são projetadas para armazenar, processar e analisar grandes quantidades de dados na nuvem.

A família I2 usa armazenamento efêmero de E / S SSD, o que o torna adequado para bancos de dados NoSQL sensíveis ao desempenho, como MongoDB e Cassandra. Por outro lado, a família D2 usa HDD, oferece o melhor desempenho de taxa de transferência no EC2 e é adequada para trabalhos avançados de data warehouse MPP, processamento de log e MapReduce.

Cada tipo de instância geralmente vem com uma escolha de Windows e três distribuições Linux - Red Hat Enterprise Linux, SUSE Linux Enterprise Server e uma versão gratuita baseada no Red Hat e CentOS. As instâncias do Windows e do Linux baseadas em licença custam o dobro do preço de seus equivalentes básicos do Linux. Mas você também pode trazer sua própria licença (BYOL), caso em que pagará o mesmo.

Que tamanho de instância precisamos? Uma das primeiras coisas que você notará ao comparar instâncias é que a AWS usa duas unidades de medida diferentes para o poder de processamento. A própria unidade de computação da Amazon, a ECU, é sua própria medida de referência projetada para fornecer aos usuários uma quantidade consistente e previsível de capacidade da CPU. A vCPU, por outro lado, segue uma abordagem tradicional para definir o poder de processamento, familiar aos usuários de outros ambientes virtualizados.

Como a AWS usa processadores diferentes para diferentes tipos de instância, duas instâncias com o mesmo número de vCPUs podem não oferecer necessariamente o mesmo recurso de computação. Portanto, você deve usar a vCPU apenas como um guia aproximado da capacidade de processamento necessária.

Para especificações mais detalhadas, você pode consultar a lista de tipos de instância do EC2 da Amazon. E escusado será dizer que você deve acompanhar seu histórico de uso e monitorar o desempenho e o custo de suas instâncias, tendo em mente que pode redimensionar ou migrar para outra instância a qualquer momento.

Precisamos do repositório de instâncias ou de uma instância suportada pelo EBS? Enquanto as máquinas virtuais suportadas pelo armazenamento de instâncias oferecem os benefícios de velocidade do armazenamento conectado diretamente, as instâncias suportadas pelo EBS oferecem muito mais funcionalidade.

Ao contrário das contrapartes de armazenamento de instância, você pode parar e iniciá-las para reduzir custos sempre que seus aplicativos não forem necessários. Você pode redimensioná-los dinamicamente sem precisar migrar seus aplicativos. Você pode criar instantâneos point-in-time das instâncias em execução e dos volumes de dados montáveis ​​do EBS. Eles também têm redundância integrada e inicializam mais rapidamente. E você também pode usar instantâneos de instância para criar imagens de máquina de modelo.

A maioria das instâncias suportadas pelo EBS agora oferece largura de banda dedicada, conhecida como Otimização do EBS, que reduz a latência entre os diferentes volumes do EBS. Porém, apesar das vantagens claras do EBS, as instâncias baseadas no armazenamento de instâncias são úteis para aplicativos que se beneficiam da rápida velocidade de leitura e gravação. No entanto, a loja de instâncias é efêmera e menos durável. Portanto, pode ser necessário criar tolerância a falhas em sua arquitetura de armazenamento ou considerar fazer backup de seus dados no EBS ou S3.

Que modelo de preços devemos escolher? Além de preços sob demanda, a AWS oferece modelos alternativos de preços, como instâncias reservadas (RIs), nas quais você se compromete com a capacidade reservada em troca de uma taxa horária com desconto. Se você é flexível quanto ao momento em que seus aplicativos são executados, também pode considerar as Instâncias Spot, nas quais oferece lances de capacidade EC2 extra.

No entanto, mesmo que seja importante estar ciente do potencial de economia de instâncias reservadas e spot, faz sentido começar com o modelo sob demanda até que você tenha uma idéia melhor de sua utilização. Depois de estabelecer um padrão claro de uso de recursos sob demanda, você poderá tomar decisões informadas sobre a provável capacidade de RI que precisará e ter uma imagem mais clara das economias em potencial.

A escolha só aumentará Ao estimar o custo de suas implantações da AWS, não se esqueça de incluir outros serviços que você pode precisar, como balanceamento de carga e rede de distribuição de conteúdo CloudFront da Amazon. E cuidado com os custos ocultos, como transferência de dados e endereços IP Elastic não utilizados.

Mas lembre-se também de que sua escolha de instâncias só aumentará, pois a AWS continua aprimorando sua oferta com novas famílias de instâncias para diferentes desafios de computação. Portanto, fique de olho em novas oportunidades para melhorar o desempenho de seus aplicativos e aumentar a eficiência de custos da nuvem.

E quem sabe? Um dia, a AWS poderá oferecer um serviço de máquina virtual totalmente flexível, com seu inventário de combinação e combinação de vCPU, memória, armazenamento e recursos de rede. Mas, no que diz respeito ao monitoramento e otimização de custos, esse pode ser o maior desafio de todos.