Por onde começar os estudos com Kubernetes?

Muitas das empresas hoje estão usando o Kubernetes em seus servidores. Não é atoa. Os benefícios do Kubernetes são gigantes, e com as facilidades que o Google Cloud ou AWS possibilita para instalação e configuração, ajuda muito na disseminação.

E para os devs? É fácil iniciar e começar a usar o Kubernetes? Na minha visão, depende. E vou tentar explicar aqui.

Acesse os cursos no site https://www.alcateiadev.com.br/ com cupons de desconto semanal. #Kubernetes #Docker #Microservices #Java

O que é Kubernetes?

O Kubernetes é uma plataforma open source que automatiza as operações do contêiner.

Existia uma época (não muito tempo atrás) onde para colocar um software em um servidor, tinha que comprar uma máquina, ou comprar um servidor pronto, tipo um apache ou um tomcat, (muita gente ainda compra isso, por ex eu :D), pronto para colocar somente a aplicação. Toda a configuração ficava a cargo da empresa que administrava os servidores.

Dai um belo dia lí sobre contêiner. Achei que era algo la do porto de Itajaí. Brincadeira. Fui ler e estudar mais, e descobri que contêiner ela pra um mini sistema operacional com somente o que for preciso pra rodar sua aplicação. Não precisaria mais comprar uma máquina com Tomcat, por exemplo. Poderia ter um contêiner Linux com Tomcat dentro. Só bastaria adicionar meu software. Muito melhor.

Depois, vi que alguns frameworks vinham com servidor embutido. O Spring Boot, por exemplo, nem mais precisaria separadamente ter o Tomcat. Já tinha embutido. Bastava agora um contêiner Linux, com Java e minha aplicação.

Esses detalhes ajudaram muito, mas criaram um complicador. Vou ter agora diversos contêineres. Mas como vou fazer gestão, controlar versão, etc. Ai que entra o Kubernetes, que gere e automatiza as operações dos contêineres.

Mas falei que a facilidade depende. E então? Depende do quê?

Como tudo na área de tecnologia, antes do Kubernetes, precisa entender vários outros conceitos. Igual fazer um software Web. Já conheço PHP, por exemplo. Já consigo fazer um software Web? Depende. Vai precisar de Banco de Dados, Html, Javascript, etc e tal. Tudo junto e misturado que forma um software.

Ok, mas começo como então?

Posso sugerir um caminho.

  1. Estude Docker primeiro. Vai ser de muita importância. Com ele vai aprender a criar contêiner.
  2. Estude Docker Swarm. Ele é um concorrente do Kubernetes, mas bem mais simples. Isso vai ser importante para entender alguns conceitos como services, networks, volumes, etc.. E sem falar que ele já é instalado junto com o Docker. Então facilita muito.
  3. Estude sobre Cluster, e tente fazer um cluster com Docker Swarm.
  4. Dai você pode iniciar a estudar Kubernetes. Você pode usar o Minikube. O Minikube facilita a execução do Kubernetes localmente, executando o Kubernetes em um único nó.

Aprender Docker, Kubernetes, servidor de produção, são processos graduais, por existir muitos aspectos, padrões e boas práticas. Mas para um profissional da área de tecnologia, mesmo que só desenvolve, em um certo momento da carreira, vai precisar conhecer.

Para facilitar, podemos indicar alguns cursos que podem dar aquela mãozinha e ajudar a introduzir os conceito.

O curso “Microservice, RESTAPI, CI/CD, Deploy, LoadBalancer e Monitor” foca exclusivamente nos primeiros passos do Docker e Docker Swarm.

** Conceitos do curso:
1. Devops (CI/CD)
2. Comunicação síncrona com RestAPI;
3. Load Balancer — Balanceamento de carga;
4. Monitoramento;
5. Virtualização com Docker;
6. Pipeline;
7. Cluster

Já o curso “Microservices inspirado no Netflix+ Minikube e Loadbalancer” foca nos primeiros passos do Kubernetes com Minikube.

* Conceitos do curso:
1. Projetar uma arquitetura;
2. Comunicação síncrona com RestAPI;
3. API Gateway;
4. Servidor de Arquivos;
5. Devops com Kubernetes e Minikube;
6. Streaming de Vídeo;

--

--

Marcelo de Souza Vieira
;) -> Java e Arquitetura de Forma Mastigada |;)

CTO at Sellers. I work since 2004 with Java and a passion for the profession. I am enthusiastic about Open Source projects.