# KodeKloud: Beta Courses Cloud Native Buildpacks

## Cloud Native Buildpacks

### Buildpacks Basics

- [Why Buildpacks](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Buildpacks-Basics/Why-Buildpacks/page.md): This article explores the advantages of CloudNative Buildpacks over traditional Dockerfiles in simplifying container image creation and addressing related challenges.
- [Cloud Native Buildpack Basics](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Buildpacks-Basics/Cloud-Native-Buildpack-Basics/page.md): Introduction to Cloud Native Buildpacks, explaining buildpacks, builders, and using Pack to produce OCI images from application source
- [Using the Pack CLI](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Buildpacks-Basics/Using-the-Pack-CLI/page.md): Learn to utilize the Pack CLI for building container images from source code while ensuring prerequisites are met.
- [Demo Install Buildpack](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Buildpacks-Basics/Demo-Install-Buildpack/page.md): Learn to set up the Pack CLI on Ubuntu with similar steps for other Linux distributions.
- [Demo Cloud Native Buildpack Basics](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Buildpacks-Basics/Demo-Cloud-Native-Buildpack-Basics/page.md): Learn to use the Pack CLI for creating a container image from a Node.js web application source code.
- [Rebase](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Buildpacks-Basics/Rebase/page.md): This guide explores the rebase functionality of Buildpacks for efficiently updating application base images without rebuilding all layers.
- [Demo Rebase](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Buildpacks-Basics/Demo-Rebase/page.md): This article demonstrates how to use rebasing to update the operating system base layer without rebuilding subsequent layers in Docker images.

### Creating Buildpacks

- [Creating a Buildpack](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Creating-Buildpacks/Creating-a-Buildpack/page.md): This guide teaches how to create a custom buildpack for JavaScript or Node.js applications, covering application structure and essential buildpack files.
- [Demo Application Overview](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Creating-Buildpacks/Demo-Application-Overview/page.md): This article examines the structure and operation of a Node.js application, focusing on key files and their roles in the build process.
- [Demo Creating a Buildpack](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Creating-Buildpacks/Demo-Creating-a-Buildpack/page.md): This guide teaches how to create a custom Node.js buildpack using the Pack CLI, covering boilerplate generation, detection logic, and build process enhancements.
- [Buildpack Buildplan](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Creating-Buildpacks/Buildpack-Buildplan/page.md): This article explains how buildpack build plans dynamically select Node.js versions based on application needs, enhancing flexibility and scalability in build processes.
- [Demo Buildpack Buildplan](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Creating-Buildpacks/Demo-Buildpack-Buildplan/page.md): This article demonstrates updating detect and build scripts to dynamically set the Node.js version from the package.json file.
- [Buildpack Layers](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Creating-Buildpacks/Buildpack-Layers/page.md): This article explores how buildpack layers enhance build efficiency by optimizing Dockerfile commands and enabling faster, reusable build processes.
- [Demo Buildpack Layers](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Creating-Buildpacks/Demo-Buildpack-Layers/page.md): This guide demonstrates separating the Node.js runtime and Node modules into dedicated layers to improve build performance and caching.
- [Caching](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Creating-Buildpacks/Caching/page.md): This article explores implementing caching in a buildpack to streamline the build process and reduce redundant work during repeated builds.
- [Demo Caching](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Creating-Buildpacks/Demo-Caching/page.md): This guide demonstrates implementing an effective caching strategy in a buildpack for Node.js runtime and node_modules layers.
- [Packaging a Buildpack](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Creating-Buildpacks/Packaging-a-Buildpack/page.md): Learn to package a buildpack into an image for sharing via repositories like Docker Hub.
- [Demo Packaging a Buildpack](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Creating-Buildpacks/Demo-Packaging-a-Buildpack/page.md): Learn to package your buildpack by creating a configuration file and using the pack tool to build and distribute your Docker image.

### Creating Builders

- [Creating a Builder](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Creating-Builders/Creating-a-Builder/page.md): Learn to create a custom builder using Cloud Native Buildpacks, including build and runtime images, and configuration for buildpacks.
- [Demo Creating a Builder](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Creating-Builders/Demo-Creating-a-Builder/page.md): This guide teaches how to create a custom builder by assembling files and configuring them step by step.

### Course Introduction 

- [Introduction](https://notes.kodekloud.com/docs/Cloud-Native-Buildpacks/Course-Introduction/Introduction/page.md): This course teaches how cloud native buildpacks enhance application development by streamlining build, package, and deployment processes for efficiency and scalability.
