Lidar tranquilamente com os picos de atividade graças aos containers
Lidar tranquilamente com os picos de atividade graças aos containers
A implementação de uma arquitetura modular composta por microsserviços em containers responde frequentemente a uma procura de agilidade, resiliência ou escalabilidade. Mas os containers são igualmente uma tecnologia adequada para tornar a sua infraestrutura mais elástica, isto é, capaz de absorver picos de carga graças ao dimensionamento automático («autoscaling»). De facto, o interesse dos containers reside na sua volatilidade, ou seja, na sua capacidade de serem facilmente iniciados, multiplicados ou parados. Mas não deixa de ser necessário recorrer às ferramentas certas.

A elasticidade, o conceito que concilia desempenho e poupança
A elasticidade é um conceito importante quando a sua aplicação enfrenta picos de atividade imprevistos, regulares em determinadas alturas do dia ou sazonais. A elasticidade é a possibilidade de modular (aumentando ou diminuindo) o número e/ou as capacidades dos containers que alojam os seus microsserviços para garantir que a sua aplicação se mantém disponível e com um bom desempenho, independentemente do número de utilizadores ligados. E isto de forma automática. A vantagem? Permite-lhe poupar, consumindo apenas os recursos realmente necessários. Já não é preciso sobre-dimensionar a sua infraestrutura nem analisar com preocupação a curva de aumento de carga para adicionar recursos de forma urgente.
Atenção: os microsserviços e a conteinerização são tecnologias de base necessárias à aplicação do autoscaling, mas não são suficientes por si só. É necessário recorrer a um orquestrador como o Kubernetes e a recursos cloud a pedido geridos pela OVHcloud.

Compreender os mecanismos de «autoscaling» dos containers
Existem duas formas de escalar a sua arquitetura em containers: verticalmente, atribuindo a qualquer momento mais potência de cálculo (CPU / RAM) a um container; horizontalmente, multiplicando os containers onde os pedidos estão concentrados (pontos de estrangulamentos). Estes são os 3 mecanismos de repartição de carga que o Managed Kubernetes Service ® da OVHcloud lhe traz:

O «pod autoscaling»
É o mecanismo de «autoscaling» oferecido de forma nativa pelo orquestrador Kubernetes, que irá ajustar o número de containers em tempo real, em função da carga de trabalho, dentro dos limites superiores e inferiores previamente definidos. Por exemplo, para determinado microsserviço da sua arquitetura, o K8S terá autorização para criar até 10 containers e nunca deverão ser menos que três. Mágico? Com certeza, mas o que acontece se o K8S não encontrar recursos suficientes no seu cluster para criar os containers necessários? Irá criar, por exemplo, apenas sete dos 10 autorizados.

O «node autoscaling»
Na sua implementação de Kubernetes como serviço, a OVHcloud complementou, portanto, o mecanismo nativo do K8S com «node autoscaling»: especifica um número mínimo e máximo de instâncias implementáveis no seu cluster, e é a OVHcloud que adiciona automaticamente os recursos necessários, se aplicável, e que depois os desliga assim que o pico de carga tiver passado, para que apenas seja faturado pelo que realmente necessitou.

Load Balancer para Managed Kubernetes Service
A montante do seu cluster Kubernetes, um serviço de load balancing opcional inteiramente gerido pela OVHcloud reparte o tráfego pelos seus diferentes recursos. Assim, a carga é equilibrada entre os seus containers e, se for caso disso, em vários nós, de forma automática e segura. O Load Balancer fornece uma interface diretamente compatível com o Kubernetes.
Tenha em conta que é também este serviço de Load Balancing que tornará possível o «rolling upgrade», ejetando temporariamente dos serviços alvo os containers em manutenção.

Simplifique e torne segura a gestão das suas imagens com o Managed Private Registries (Harbor)
Para tornar mais fiáveis os seus projetos baseados na utilização de containers, a OVHcloud desenvolveu um serviço de registo privado, alojado e gerido pelas nossas equipas, para armazenar, gerir e aceder facilmente (através de uma API) às imagens dos seus containers e gráficos Helm (os seus pacotes).
Um serviço baseado no projeto Harbor da Cloud Native Computing Foundation, que garante um acesso seguro baseado em funções (RBAC) às suas equipas e que se baseia num mecanismo de Content Trust para assegurar a integridade das fontes das suas imagens.
Desta forma, evita os riscos associados à identificação de vulnerabilidades através da engenharia reversa do código em acesso público em plataformas como o Github ou o Gitlab.
Que serviços da OVHcloud podem tornar a sua aplicação de microsserviços mais elástica?
Pode perfeitamente alojar sozinho os seus microsserviços em servidores bare metal ou instâncias Public Cloud, bem como gerir o aumento de carga ao alocar os recursos necessários. No entanto, pode tornar tudo mais fácil para si, ao delegar os serviços mais críticos, como as bases de dados ou o armazenamento, à OVHcloud. A OVHcloud será então responsável pela gestão do aumento da carga destes serviços.

Managed Kubernetes Service
O Kubernetes é o orquestrador de referência, que facilita a implementação e a gestão dos seus grupos de containers Docker, gerindo ao mesmo tempo o «autohealing» e o «autoscaling». É uma ferramenta indispensável, mas não é simples de gerir. Felizmente, pode delegar a administração do seu cluster Kubernetes no seu fornecedor de cloud: O Managed Kubernetes Service baseia-se nas instâncias Public Cloud da OVHcloud. Além disso, o serviço é gratuito: apenas paga pelas instâncias a pedido e pelo armazenamento que utiliza no seio do seu cluster Kubernetes.
Opcional: Load Balancer for Managed Kubernetes Service

Database as a service
A maior parte das tecnologias de base de dados são hoje disponibilizadas em modo «Database as a service», ou seja, em modo 100% gerido. A migração pode ser efetuada em apenas alguns minutos. Basta importar a sua base para o seu novo ambiente, testar e desativar a antiga base de dados, se tudo correr bem.
A sua base de dados precisa de mais potência? Pode atualizar a sua oferta a quente em apenas alguns cliques e adicionar um nó ao seu cluster: a OVHcloud trata da re-sincronização dos dados.

Object Storage
Com o Object Storage da OVHcloud, não só delega a problemática da disponibilidade dos conteúdos, como também reduz a carga nos seus servidores web.
Os pedidos relativos aos conteúdos (imagens, vídeos, sons, etc.) já não são da sua conta. A OVH gere o aumento de carga.
Pronto para começar?
Crie uma conta e lance os seus serviços imediatamente