KubeAcademy is a free, product-agnostic Kubernetes and cloud native technology education program built by a team of expert instructors.
There have been requests for product specific content to be added to KubeAcademy. While initially it is easy to just say yes and welcome the content as a course it most likely is not in the best interest of the audience consuming the content on KubeAcademy.
Considerations
TDC vs KA - The Tanzu Development Center
states that it provides you with everything you need to build, run & deploy modern apps.
Therefore application/developer focused technologies and tools are better suited
to be on TDC. Technologies that are primarily developer focused should be
focused on that site.
Official Docs/Training - The majority of technologies that will request for content
on KA will have their own official documentation and training. Providing conceptual
overviews and then allowing the majority of the training for those technologies to be
done with the official docuemntation/training provides a nice balance and does not burden
the KA team with having to maintain content for all those different technologies.
Concepts vs Implementation - Classic situation in education is to learn the
concepts and then you put into practice that concept with a particular implementatation.
For example CI/CD is the concept and implementations are Jenkins, Concourse, etc. KA
can stand out by providing the conceptual courses and then briefly touch upon the various
implementations for those concepts with each of the technologies and solving a particular
consistent problem.
Learner Experience - A person coming to KA gets to see a product agnostic
experience which will be unique compared to other places. For free they get quality
educational material that focuses on teaching the concepts and giving an overview of
the popular tools in the space.
Proposed Approach
Focus on Concepts
We can identify generic areas that make sure for current content and inbound content where
the products/technologies exist. For example:
CI/CD
YAML templating/management
Packaging
Testing (Unit and Integration)
We can then choose whether to make the content be organized at the learning path or the
course level. For example consider the following two options:
Learning Path - YAML Management
Course - YAML Management Concepts
Course - Helm
Course - YTT
Course - YAML Management
Introduction
The Need for Yaml Management
Approach # 1
Helm
YTT
Approach # 2
Helm
YTT
Conclusion
There are pros and cons to each approach:
Learning Path - provides a loosely coupled solution where less coordination is
needed between the technology specific contributors but the learner has to glue the
pieces together a little more themself across the courses.
Course Approach - provides the learner with
an integrated and taylored experience but requires higher cooridination from a KA member
to oversee all the editorial and overall course outline and material along with the
technology specific contributors.
Consistent Problem to Solve
Regardless of the above approach the most important part that should be done is choosing
a specific technology solution/stack that is used across both the technology specific
content and the conceptual content. For example this was done in the
Kubernetes Core Concepts learning
path leveraging the gowebapp.
We can provide the application/code/stack setup and then each technology specific content
can implement solving that problem with their specific solution. For example:
multiple environments
multiple tier solution
requires different configuration between environments
Summary
This issue to help provide an approach that allows KA to accept content from multiple
products while at the same time providing a product agnostic approach. The KA learner
also gets a unique experience compared to other alternatives.
Overview
The majority of content on KubeAcademy is generic Kubernetes and Container related. This also matches the mission statement of the site:
The
About
page of KubeAcademy says:There have been requests for product specific content to be added to KubeAcademy. While initially it is easy to just say yes and welcome the content as a course it most likely is not in the best interest of the audience consuming the content on KubeAcademy.
Considerations
TDC vs KA - The Tanzu Development Center states that it
provides you with everything you need to build, run & deploy modern apps.
Therefore application/developer focused technologies and tools are better suited to be on TDC. Technologies that are primarily developer focused should be focused on that site.Official Docs/Training - The majority of technologies that will request for content on KA will have their own official documentation and training. Providing conceptual overviews and then allowing the majority of the training for those technologies to be done with the official docuemntation/training provides a nice balance and does not burden the KA team with having to maintain content for all those different technologies.
Concepts vs Implementation - Classic situation in education is to learn the concepts and then you put into practice that concept with a particular implementatation. For example CI/CD is the concept and implementations are Jenkins, Concourse, etc. KA can stand out by providing the conceptual courses and then briefly touch upon the various implementations for those concepts with each of the technologies and solving a particular consistent problem.
Learner Experience - A person coming to KA gets to see a product agnostic experience which will be unique compared to other places. For free they get quality educational material that focuses on teaching the concepts and giving an overview of the popular tools in the space.
Proposed Approach
Focus on Concepts
We can identify generic areas that make sure for current content and inbound content where the products/technologies exist. For example:
We can then choose whether to make the content be organized at the learning path or the course level. For example consider the following two options:
There are pros and cons to each approach:
Consistent Problem to Solve
Regardless of the above approach the most important part that should be done is choosing a specific technology solution/stack that is used across both the technology specific content and the conceptual content. For example this was done in the Kubernetes Core Concepts learning path leveraging the
gowebapp
.We can provide the application/code/stack setup and then each technology specific content can implement solving that problem with their specific solution. For example:
Summary
This issue to help provide an approach that allows KA to accept content from multiple products while at the same time providing a product agnostic approach. The KA learner also gets a unique experience compared to other alternatives.