Source code of the examples shown at the conference.
Demonstration of:
- Cloud native development with Spring Boot and Reactive Spring
- Containerization with Cloud Native Buildpacks
- Kubernetes deployment manifests, graceful shutdown, and health probes
- Spring Boot configuration through ConfigMaps
- Native executables with Spring Native and GraalVM
- Serverless applications on Knative
To run all the examples, you need to install the following tools:
Recommended tools:
Both Spring Boot applications can be run locally with this command:
$ ./gradlew bootRun
You can containerize them via Buildpacks. Demo Service will be containerized as a JVM image, whereas Demo Native will be containerized as a Native image.
$ ./gradlew bootBuildImage
You can spin up a Kubernetes cluster as follows:
$ ./kind/create-cluster.sh
Then, deploy Demo Service with kubectl:
$ kubectl apply demo-service/k8s
When you're done, you can destroy the cluster as follows:
$ ./kind/destroy-cluster.sh
You can spin up a Kubernetes cluster with Knative as follows:
$ ./kind/install-knative.sh
Then, deploy Demo Native with kubectl:
$ kubectl apply demo-service/knative
When you're done, you can uninstall the cluster as follows:
$ ./kind/uninstall-knative.sh
If you're looking for an open-source Kubernetes-based platform, you might want to try [https://tanzucommunityedition.io](VMware Tanzu Community Edition), which is the one I used for the presentation.