Hoje eu estou muito feliz por fazer esse anúncio por aqui. Oficialmente estamos subindo as primeiras aulas de Kubernetes no Docker Definitivo, hoje também temos live no canal .NET, falando do Hub de Eventos e em breve teremos conteúdo aqui no gaGO.io que abordam direta ou indiretamente o tema também.
Quando eu comecei o Docker Definitivo, eu conversava com o Renato Groffe sobre o que eu queria construir: A jornada do arquiteto.
Quem quer que passasse pelo Docker Definitivo teria a oportunidade de sair dali pronto pra entender, fazer e trabalhar com rocket science! Pronto para entrar em qualquer empresa inovadora e que pudesse ser influenciada por qualquer hype, das que existem hoje e das que sequer nasceram ainda.
A ideia é simples, se você entender alguns conceitos, e ver na prática abrangência e profundidade, você verá que sim é possível fazer o mesmo. A ideia era “dar anabolizantes” e potencializar de forma exponencial o crescimento de bons desenvolvedores, encurtando o caminho para absolutamente qualquer empresa do globo que tivesse algum time que trabalhasse majoritariamente com c# e .NET.
Para alcançar esse objetivo, seriam necessários alguns anos. E com a experiência de ver como a galera busca atalhos, era necessário entregar algo semelhante ao que as universidades produzem com os períodos: Sequencia e predecessão.
Sobre o Docker Definitivo
Muita gente acredita que o Docker Definitivo é um curso de Docker. Sim, para o público em geral ele começou sendo um curso de docker, pois precisava de um escopo visível, palpável. Mas da porta pra dentro, a proposta sempre foi muito maior e muito mais audaciosa. Hoje, são mais de 100 horas de conteúdo na trilha principal, e centenas de horas, produzidas em centenas de lives em conteúdo 100% opcional. E esse anúncio fala desse crescimento. De como vamos crescer e para onde vamos crescer.
Em 2019 por algumas vezes falamos, quando o Renato ainda estava no projeto, que traríamos Kubernetes para o Docker Definitivo, e finalmente desde o dia 25 de fevereiro subi um cluster kubernetes em uma IaaS e desde então administro diariamente esse cluster, para entender não só do ponto de vista teórico, mas prático. Da forma que eu sempre fiz com as principais tecnologias que já trabalhei: Sujando as mãos. De lá pra cá já saíram alguns setups do zero, e o fiz pelo menos 20 vezes de 2 formas diferentes.
Isso envolve custo, em Euros, mas eu tenho certeza que a experiência dessa jornada já foi capaz de trazer benefícios. Foram 2 aulas, detalhando o setup, e 2 lives detalhando as novidades e o que viria pela frente, narrando o que estava acontecendo, quais eram os desafios. E sem sombra de dúvidas a teoria precisou da prática para encontrar conforto, uma dose de certeza e confiança. Essa é a parte fundamental do que fazemos aqui do lado de dentro, chegar ao nível de profundidade de quem é especialista, para poder achar o ponto de inflexão que consegue transformar confusão e overflow de informações em uma narrativa que faça sentido, que apele para o entendimento e experiências anteriores. E o que mais tivemos aqui foram experiências, seja vendo proxy reverso, seja vendo DNS, o próprio Linux, docker, docker compose e docker swarm ou até mesmo lets encrypt.
Assim em março e abril será produzido o conteúdo de Kubernetes, que será a plataforma para falarmos de Dapr e Microsserviços ainda em Q3/2021.
O Docker Definitivo continua com foco total no Desenvolvedor .NET Pleno e Senior. E vocês verão isso no dia-a-dia, como faz diferença trazer o foco em uma tecnologia em específico.
Hoje na live você verá por exemplo, como faz mais sentido ver o poder dos healthchecks interagindo com o kubernetes com o Liveness e Readiness Probes. Trazendo para o universo .NET, podemos mostrar como interagir com isso, como a gente aguarda o próprio kestrel estar pronto ou ainda como lidar com inicializações pesadas e demandas de warm up.
Eu entendo que somente com profundidade podemos ver esse nível de detalhe, como a gente cria grupos de healthcheck para atender Readiness Probe diferente do conjunto de checks para o Liveness Probe do kubernetes. Ou ainda, em outro aspecto, como inicializamos um conjunto de filas e exchanges durante o startup de uma aplicação ASP.NET.
Mas Kubernetes não é o fim. Ninguém quer usar kubernetes, as pessoas querem uma forma profissional e a forma mais robusta de fazer deployment e ter o maior benefício na medida do menor custo. Kubernetes é o meio para isso, com um custo não tão barato.
Mas com essa missão de trabalhar a jornada do arquiteto, Dapr surgiu com essa demanda, e claro, já estava no roadmap desde a concepção do Docker Definitivo.
Mas porque falar de Microsserviços?
O primeiro motivador é a demanda do mercado. A jornada de aplicações distribuídas é parte fundamental do Docker Definitivo, no entanto microsserviços não era. A natureza desse tipo de arquitetura tenta a gerar uma demanda de gestão enorme para mim, que estou sozinho, sendo obrigado a cuidar de muitos mais projetos do que eu seria capaz. Se microsserviços não é um tipo de arquitetura para times pequenos, como sozinho conseguiria lidar com isso sem virar refém da arquitetura?
Do meu ponto de vista eu não falo daquilo que não uso ou que não faço, então entenda. Eu já cometi esse erro em 2007. Hoje eu não seria capaz de falar de Microsserviços exatamente por isso. Então mesmo sem ter uma demanda real, uma eu estou criando alguns microsserviços que me ajudarão no dia-a-dia do Docker Definitivo e se tornarão conteúdo para os alunos, com código fonte disponível no org do curso no github.
Por outro lado, o que viabilizou essa jornada é essa nova geração de ferramentas e soluções que está chegando para resolver o problema da complexidade dos microsserviços. Elas integram input e output, permitindo que você conecte seu core como motor desses fluxos. Isso é incrível pois reduz o nível de complexidade, ao custo de aumentar o acoplamento, mas ainda assim se justifica em muitos casos.
Nesse momento estamos um passo antes, falando de Kubernetes, e quanto a isso, o que posso dizer é: Habemus Kubernetes.
Boa, Luiz!
“…a teoria precisou da prática para encontrar conforto, uma dose de certeza e confiança. […] para poder achar o ponto de inflexão que consegue transformar confusão e overflow de informações em uma narrativa que faça sentido…”
arrepiei.. rsrsr
hehehe obrigado Patrick!