Conceitos Importantes - Parte 3: Principais Provedores e Algumas Instâncias
A partir de agora, falaremos sobre alguns dos principais provedores de nuvem e como eles realmente oferecem recursos que os caracterizam como provedores de nuvem de fato. Cabe lembrar aqui que o conceito de nuvem ainda é usada de forma muito ampla, inclusive por alguns serviços de hospedagem, que usam esse termo de maneira equivocada, gerando dúvidas para os clientes. A nuvem deve prover e liberar recursos sem intervenção humana e alocação deve acontecer rapidamente. Sem essas características, o provedor está utilizando o termo de forma abstrata, não aproveitando as vantagens desse modelo.
Entre os principais serviços, podemos citar:
- Amazon Web Services (AWS);
- Google Cloud;
- Microsoft Azure;
- IBM Cloud;
- Oracle.
Deixamos claro que existem muito mais serviços, existem listas mais extensas sobre os principais serviços. Porém em nossas pesquisas, esses costumavam ser o mais citados. Em caso de novas informações, atualizaremos essa lista.
INSTÂNCIAS
No primeiro momento, parece estranho a iniciantes compreenderem sobre modelos de compra de capacidade, preço... Mas esse estranhamento vai se dissipando quando se pensa em acordo de acordo com as regras da nuvem, ou seja, quando não há mais necessidade de estocar recursos e máquinas para momentos de pico, basta comprar mais capacidade sob demanda.
Quando temos a computação em nuvem, os servidores podem ser alocados e desalocados dinamicamente, rodando como máquinas virtuais no hardware do provedor. Instâncias são essas máquinas virtuais em execução, podendo ser de diferentes tipos, variando conforme modelo, preço e forma de alocar recursos. A seguir, vamos dar exemplos de instâncias de alguns dos principais provedores de nuvem, para se ter uma melhor ideia do que estamos falando.
AMAZON
AWS sob demanda
A que melhor corresponde a flexibilidade da nuvem. As instâncias somente são iniciadas quando preciso, e o pagamento é feito pelas horas usadas. Em momentos de pico, em pouco tempo pode se iniciar mais instâncias ou melhorar a capacidade das instâncias existentes. Em momentos de pouco uso, pode se desligar algumas instâncias. Para aplicações que tenham imprevisibilidades ou que não tenham uso constante, essas instâncias são uma boa alternativa.
AWS reservada
Esse é um modelo em que se compra uma instância reservada (um ou três anos). Ela estará sempre disponível para o cliente e a taxa de utilização paga por hora é menor que a sob demanda. Porém, apesar desse fator econômico, de alguma forma essa instância acaba sendo contrária a ideia de flexibilidade da computação em nuvem, já que é equivalente reservar recursos feito na computação tradicional. Como desvantagens desse modelo o cliente tem que pagar uma quantidade alta de dinheiro no pagamento inicial para fazer a reserva da instância e também perde a flexibilidade de modificar a capacidade da instância quando necessário. O ideal dessa instância é para aquelas aplicações que precisam dessa disponibilidade ou então que sejam usadas continuamente, sem imprevisibilidades ou inconstância, ou seja, quanto menos ociosidade ou variação do processamento, torna-se melhor comprar essa instância.
Instância spot
Trata-se de um tipo de leilão feito pela Amazon para comprar instâncias que estejam ociosas. Melhor explicando: o cliente define um preço a pagar por hora sobre o uso de determinada instância (normalmente esse valor é muito menor que a instância sob demanda). Caso a Amazon tenha alguma instância disponível, o cliente "ganha". Porém, há uma desvantagem a se considerar nesse modelo de compra, mesmo com uma economia muito maior. Quando a Amazon necessita de mais processamento para instâncias ou outro cliente ofereça um valor maior por essa instância ociosa, a Amazon notifica o cliente 2 minutos antes e simplesmente interrompe o serviço. Por isso, é necessário saber quais tipos de aplicações devem ser rodados em instâncias spot:
- Aplicações tolerantes a falhas e flexíveis, que podem terminar a qualquer momento;
- Ambientes de teste e desenvolvimento;
- Servidores web stateless;
- Renderização de imagens e transcodificação de vídeos;
- Executar cargas de trabalho de análise;
- Aprendizado de máquina;
- Computação de alta performance;
- Necessidade de grande processamento por um período curto;
É possível ao cliente que ele, ao invés de escolher só um modelo desses, possa fazer alguma combinação desses 3 modelos, para encontrar uma ótima relação custo-benefício. Não existe uma fórmula mágica para um usuário encontrar a melhor combinação, é interessante que ele faça uma análise criteriosa da aplicação para escolher uma combinação e ir monitorando essa escolha.
GOOGLE
Instância padrão
Funciona da mesma forma que a AWS, mas a forma de cobrança se dá por minuto de uso - com o uso mínimo de 10 minutos - enquanto a Amazon cobra por hora. Podem se beneficiar desse modelo aplicações que tenham picos apenas em curtos períodos de tempo ou então para desenvolvedores que desejam testar aplicações em períodos curtos.
Com desconto por uso prolongado
Não chega a ser uma instância diferente, mas, sim, com uma forma de cobrança diferente, beneficiando instâncias que rodam por longos períodos de tempo.
Segundo a Google, nesse modelo o desconto é obtido automaticamente para os seguintes recursos:
- tipos de máquinas pré-definidos;
- as vCPUs (CPUs virtuais) e a memória do sistema de tipos de máquina personalizados;
- as vCPUs e a memória do sistema ocupadas pelos nó de locatário individual;
- o custo Premium de 10% para nós de locatário individual, mesmo se as vCPUs e a memória do sistema neles forem cobertas por descontos por uso contínuo;
- dispositivos da GPU.
AZURE
O serviço da Microsoft divide suas instâncias em duas famílias, chamadas de Basic e Standard.
Basic
Oferece apenas instâncias para uso geral, indicada para:
- aplicativos de produção de uma só instância;
- instâncias de desenvolvimento;
- servidores de teste e aplicativos de processamento em lote (batch).
Standard
A camada Standard é indicada para:
- instâncias para uso geral;
- para uso intenso de CPU ou para uso intenso de memória;
Ela também possui mecanismos para redimensionamento automático de recursos computacionais (autoscaling) e balanceamento de carga. Obviamente, é um serviço mais caro, pois oferece uma maior quantidade de recursos.
A Azure diz que cobra seus preços por hora, mas na prática cobra pelos minutos utilizados. Equivale a instância sobre demanda, porque o pagamento é feito pelo uso.
Para empresas, ainda há a possibilidade do Enterprise Agreement, um serviço onde há um compromisso maior com a Azure, ganhando descontos e opções adicionais.
Assim, finalizamos nossa série de conceitos iniciais. A partir de agora, abordaremos mais especificamente os diversos serviços oferecidos pelos principais provedores de nuvem. Naturalmente, se houver necessidade em breve, em função de novos conteúdos ou dúvidas no dia da apresentação de seminário para a disciplina, abordaremos mais conceitos importantes.
Fontes:
Computação em Nuvem, e-book Opus Software, 2015.
https://www.softwaretestinghelp.com/cloud-computing-service-providers/
https://www.oracle.com/cloud/
https://www.redhat.com/en/topics/cloud
https://aws.amazon.com/pt/ec2/spot/
Entre os principais serviços, podemos citar:
- Amazon Web Services (AWS);
- Google Cloud;
- Microsoft Azure;
- IBM Cloud;
- Oracle.
Deixamos claro que existem muito mais serviços, existem listas mais extensas sobre os principais serviços. Porém em nossas pesquisas, esses costumavam ser o mais citados. Em caso de novas informações, atualizaremos essa lista.
INSTÂNCIAS
No primeiro momento, parece estranho a iniciantes compreenderem sobre modelos de compra de capacidade, preço... Mas esse estranhamento vai se dissipando quando se pensa em acordo de acordo com as regras da nuvem, ou seja, quando não há mais necessidade de estocar recursos e máquinas para momentos de pico, basta comprar mais capacidade sob demanda.
Quando temos a computação em nuvem, os servidores podem ser alocados e desalocados dinamicamente, rodando como máquinas virtuais no hardware do provedor. Instâncias são essas máquinas virtuais em execução, podendo ser de diferentes tipos, variando conforme modelo, preço e forma de alocar recursos. A seguir, vamos dar exemplos de instâncias de alguns dos principais provedores de nuvem, para se ter uma melhor ideia do que estamos falando.
AMAZON
AWS sob demanda
A que melhor corresponde a flexibilidade da nuvem. As instâncias somente são iniciadas quando preciso, e o pagamento é feito pelas horas usadas. Em momentos de pico, em pouco tempo pode se iniciar mais instâncias ou melhorar a capacidade das instâncias existentes. Em momentos de pouco uso, pode se desligar algumas instâncias. Para aplicações que tenham imprevisibilidades ou que não tenham uso constante, essas instâncias são uma boa alternativa.
AWS reservada
Esse é um modelo em que se compra uma instância reservada (um ou três anos). Ela estará sempre disponível para o cliente e a taxa de utilização paga por hora é menor que a sob demanda. Porém, apesar desse fator econômico, de alguma forma essa instância acaba sendo contrária a ideia de flexibilidade da computação em nuvem, já que é equivalente reservar recursos feito na computação tradicional. Como desvantagens desse modelo o cliente tem que pagar uma quantidade alta de dinheiro no pagamento inicial para fazer a reserva da instância e também perde a flexibilidade de modificar a capacidade da instância quando necessário. O ideal dessa instância é para aquelas aplicações que precisam dessa disponibilidade ou então que sejam usadas continuamente, sem imprevisibilidades ou inconstância, ou seja, quanto menos ociosidade ou variação do processamento, torna-se melhor comprar essa instância.
Instância spot
Trata-se de um tipo de leilão feito pela Amazon para comprar instâncias que estejam ociosas. Melhor explicando: o cliente define um preço a pagar por hora sobre o uso de determinada instância (normalmente esse valor é muito menor que a instância sob demanda). Caso a Amazon tenha alguma instância disponível, o cliente "ganha". Porém, há uma desvantagem a se considerar nesse modelo de compra, mesmo com uma economia muito maior. Quando a Amazon necessita de mais processamento para instâncias ou outro cliente ofereça um valor maior por essa instância ociosa, a Amazon notifica o cliente 2 minutos antes e simplesmente interrompe o serviço. Por isso, é necessário saber quais tipos de aplicações devem ser rodados em instâncias spot:
- Aplicações tolerantes a falhas e flexíveis, que podem terminar a qualquer momento;
- Ambientes de teste e desenvolvimento;
- Servidores web stateless;
- Renderização de imagens e transcodificação de vídeos;
- Executar cargas de trabalho de análise;
- Aprendizado de máquina;
- Computação de alta performance;
- Necessidade de grande processamento por um período curto;
É possível ao cliente que ele, ao invés de escolher só um modelo desses, possa fazer alguma combinação desses 3 modelos, para encontrar uma ótima relação custo-benefício. Não existe uma fórmula mágica para um usuário encontrar a melhor combinação, é interessante que ele faça uma análise criteriosa da aplicação para escolher uma combinação e ir monitorando essa escolha.
Instância padrão
Funciona da mesma forma que a AWS, mas a forma de cobrança se dá por minuto de uso - com o uso mínimo de 10 minutos - enquanto a Amazon cobra por hora. Podem se beneficiar desse modelo aplicações que tenham picos apenas em curtos períodos de tempo ou então para desenvolvedores que desejam testar aplicações em períodos curtos.
Com desconto por uso prolongado
Não chega a ser uma instância diferente, mas, sim, com uma forma de cobrança diferente, beneficiando instâncias que rodam por longos períodos de tempo.
Segundo a Google, nesse modelo o desconto é obtido automaticamente para os seguintes recursos:
- tipos de máquinas pré-definidos;
- as vCPUs (CPUs virtuais) e a memória do sistema de tipos de máquina personalizados;
- as vCPUs e a memória do sistema ocupadas pelos nó de locatário individual;
- o custo Premium de 10% para nós de locatário individual, mesmo se as vCPUs e a memória do sistema neles forem cobertas por descontos por uso contínuo;
- dispositivos da GPU.
AZURE
O serviço da Microsoft divide suas instâncias em duas famílias, chamadas de Basic e Standard.
Basic
Oferece apenas instâncias para uso geral, indicada para:
- aplicativos de produção de uma só instância;
- instâncias de desenvolvimento;
- servidores de teste e aplicativos de processamento em lote (batch).
Standard
A camada Standard é indicada para:
- instâncias para uso geral;
- para uso intenso de CPU ou para uso intenso de memória;
Ela também possui mecanismos para redimensionamento automático de recursos computacionais (autoscaling) e balanceamento de carga. Obviamente, é um serviço mais caro, pois oferece uma maior quantidade de recursos.
A Azure diz que cobra seus preços por hora, mas na prática cobra pelos minutos utilizados. Equivale a instância sobre demanda, porque o pagamento é feito pelo uso.
Para empresas, ainda há a possibilidade do Enterprise Agreement, um serviço onde há um compromisso maior com a Azure, ganhando descontos e opções adicionais.
Assim, finalizamos nossa série de conceitos iniciais. A partir de agora, abordaremos mais especificamente os diversos serviços oferecidos pelos principais provedores de nuvem. Naturalmente, se houver necessidade em breve, em função de novos conteúdos ou dúvidas no dia da apresentação de seminário para a disciplina, abordaremos mais conceitos importantes.
Fontes:
Computação em Nuvem, e-book Opus Software, 2015.
https://www.softwaretestinghelp.com/cloud-computing-service-providers/
https://www.oracle.com/cloud/
https://www.redhat.com/en/topics/cloud
https://aws.amazon.com/pt/ec2/spot/
Comentários
A nova redação da Norma Complementar 14 do Departamento de Segurança da Informação e Comunicação, do Governo Federal, passou a exigir que os dados criados ou guardados pelos órgãos públicos sejam obrigatoriamente armazenados em território nacional nos contratos de computação em nuvem. Nesse contexto, gostaria de saber se algum desses provedores garante de forma inequívoca a localização dos dados armazenados?
Sobre sua pergunta, se entendi direito... Bom, as orientações são bem claras quanto aos dados serem armazenados em servidores físicos localizados no nosso territórios. Então, em teoria, os provedores contratados devem garantir a localização dos dados em nosso país sob pena de responder judicialmente acerca de qualquer ilegalidade contratual.