SlideShare a Scribd company logo
Building Cloud-Native
Applications with
Kubernetes, Helm and
Kubeless
Javier J. Salmerón
Oracle Code Mexico
Outline
● What is Cloud Native?
● Container orchestration: Kubernetes
● Kubernetes application package
● Going Serverless: Kubeless
Outline
● What is Cloud Native?
● Container orchestration: Kubernetes
● Kubernetes application package
● Going Serverless: Kubeless
What is Cloud Native
- Cloud offers innumerable advantages: easier deployment, on-demand
scalability, rolling updates, better resource optimization…
- However, traditional enterprise application design does not exploit all this
potential
- Cloud-Native → Have the Cloud as the main target platform when designing
What is Cloud Native (II)
1. Containerized. Each part (applications, processes, etc) is packaged in its own
container. This facilitates reproducibility, transparency, and resource isolation.
2. Dynamically orchestrated. Containers are actively scheduled and managed to
optimize resource utilization.
3. Microservices oriented. Applications are segmented into microservices. This
significantly increases the overall agility and maintainability of applications.
Properties:
A new ecosystem: CNCF
Cloud-Native Computing Foundation: Cloud-Native technology ecosystem where applications
can be ported between different public and private clouds.
Projects: Companies:
Recent News
Bitnami Containers
But that is not enough...
● Automatic deployments
● Continous Integration
● Zero downtime
● Failover mechanisms
● Load Balancing
● Monitoring
● Dynamic scalability
● Role-Based Access Control
● Rolling updates
Next step:
Container
orchestration
We want:
Outline
● What is Cloud Native?
● Container orchestration: Kubernetes
● Kubernetes application package
● Going Serverless: Kubeless
What is Kubernetes?
Kubernetes is an open-source system
for automating deployment, scaling,
and management of containerized
applications.
More about Kubernetes...
• Open-source, based on 15 years of
container expertise at Google.
• Rich core API for all key primitives
• Cluster Federation, RBAC, Quotas, Network
policies, etc.
• Fastest growing project on GitHub
Kubernetes Usage
Architecture
https://docs.bitnami.com/kubernetes/how-to/set-kubernetes-cluster-oracle
Basic Objects: Pod
Basic Objects: Deployments
Pods are normally scheduled using Deployments. It is a higher level
object that allows:
- Replica management
- Pod scaling
- Rolling updates
- Rollback to a previous version
- Clean-up policies
- Pause/Resume
ReplicaSet
Deployment: wordpress
Pod
Replicas10.10.10.2
10.10.10.3
apiVersion: v1
kind: Deployment
metadata:
name: wordpress
spec:
replicas: 2
template:
metadata:
labels:
app: wordpress
spec:
containers:
- name: wordpress
image: bitnami/wordpress:4.7-r0
ports:
- containerPort: 80
Basic Objects: Services
Define a set of pods that provide a micro-service. They provide a stable
virtual endpoint for ephemeral Pods in your cluster, key to linking
applications together
10.10.10.2
10.10.10.3
Service
wordpress
31.120.4.2
Deployment: wordpress
ReplicaSet
apiVersion: v1
kind: Service
metadata:
name: frontend
labels:
app: wordpress
spec:
type: LoadBalancer
ports:
- port: 80
targetPort: http
selector:
app: wordpress
Example Service
Example: Deploying to Kubernetes
$ kubectl create -f ./mariadb-deployment.yaml
deployment "mariadb" created
$ kubectl create -f ./mariadb-service.yaml
service "mariadb" created
$ kubectl create -f ./wordpress-deployment.yaml
deployment "wordpress" created
$ kubectl create -f ./wordpress-service.yaml
service "wordpress" created
Building Cloud-Native Applications with Kubernetes, Helm and Kubeless
Some examples of other k8s objects
Secrets
PodSecurityPolicy
Security
PersistentVolume
PersitentVolume
Claim
Persistence
Namespaces
ResourceQuota
Limits
Resource Mgmt
Role
RoleBinding
ClusterRole
RBAC
Job
CronJob
Job Mgmt.
. . .
Outline
- What is Cloud Native?
- Container orchestration: Kubernetes
- Kubernetes application package
- Going Serverless: Kubeless
Problems with Managing Resources
Boilerplate when
developing
manifests Upgrades and
configuration
changes require
manual editing
No history for
releases
Difficult to share
publicly or with
members of your
team
Need tooling to hook
into release lifecycle
Need a tool to package a group of
resources as a single unit
Solutions available
Helm Ksonnet
• A Kubernetes package manager
• Packages are called Helm Charts.
• The chart is a collection of k8s manifest
templates to create an instance of a
Kubernetes application
● Declarative application management
● Typed templating system for the
Kubernetes application developer
● Offers proper IDE experience (plugins
for VSCode and Web Interface)
● It support richer and more configurable
solutions
● Can be integrated with Helm.
Outline
● What is Cloud Native?
● Container orchestration: Kubernetes
● Kubernetes application package
● Going Serverless: Kubeless
“Serverless can also mean applications where some
amount of server-side logic is still written by the
application developer but unlike traditional architectures is
run in stateless compute containers that are
event-triggered, ephemeral (may only last for one
invocation), and fully managed by a 3rd party”
--Mike Roberts
(https://martinfowler.com/articles/serverless.html)
Serverless Definition
Kubeless: Kubernetes-Native Serverless Computing
• Kubernetes-native serverless
implementation
• Functions allow for quick and easy
application integrations
• PubSub capabilities via Kafka
• Open Source and non-affiliated
• https://github.com/kubeless/kubeless
Get Started on Kubernetes with Bitnami
1
2
3
4
5
6
7
Javier’s contact info: jsalmeron@bitnami.com
Bitnami-base Containers: www.bitnami.com/containers
How-to Setup K8s on Oracle Cloud: http://bitn.am/2rzyQ8e
Get Helm: github.com/kubernetes/helm & kubeapps.com
Get Ksonnet: https://github.com/ksonnet/ksonnet-lib
Get Kubeless: github.com/kubeless/kubeless
Bitnami documentation for Containers: docs.bitnami.com/containers
8 Bitnami documentation on Kubernetes: docs.bitnami.com/kubernetes
Thank You
Easy deployment with Monocular
Deploy a Function
$ kubeless function deploy tweet 
--trigger-http 
--runtime python27 
--handler send-tweet.tweet 
--from-file send-tweet.py 
--dependencies requirements.txt
Containers: a new application Packaging
format

More Related Content

What's hot (20)

PDF
GlueCon kubernetes & container engine
brendandburns
 
PPTX
Kubernetes for Beginners: An Introductory Guide
Bytemark
 
PPT
Building Clustered Applications with Kubernetes and Docker
Steve Watt
 
PDF
Kubernetes in Docker
Docker, Inc.
 
PDF
Introduction of Kubernetes - Trang Nguyen
Trang Nguyen
 
PDF
DevJam 2019 - Introduction to Kubernetes
Ronny Trommer
 
PDF
Deploying your first application with Kubernetes
OVHcloud
 
PDF
Cloud spanner architecture and use cases
GDG Cloud Bengaluru
 
PDF
Apache Stratos 4.1.0 Architecture
Imesh Gunaratne
 
PDF
Nugwc k8s session-16-march-2021
Avanti Patil
 
PDF
Kubernetes Architecture and Introduction
Stefan Schimanski
 
PDF
Containers, Clusters and Kubernetes - Brendan Burns - Defrag 2014
brendandburns
 
PDF
Top 3 reasons why you should run your Enterprise workloads on GKE
Sreenivas Makam
 
PPTX
Kubernates : An Small introduction for Beginners by Rajiv Vishwkarma
Rajiv Vishwkarma
 
PDF
Evolution of containers to kubernetes
Krishna-Kumar
 
PDF
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
Brian Grant
 
PDF
Kubernetes with docker
Docker, Inc.
 
PPTX
Kubernetes Helm: Why It Matters
Platform9
 
PDF
Kubernetes - how to orchestrate containers
inovex GmbH
 
PPTX
Kubernetes Workshop
loodse
 
GlueCon kubernetes & container engine
brendandburns
 
Kubernetes for Beginners: An Introductory Guide
Bytemark
 
Building Clustered Applications with Kubernetes and Docker
Steve Watt
 
Kubernetes in Docker
Docker, Inc.
 
Introduction of Kubernetes - Trang Nguyen
Trang Nguyen
 
DevJam 2019 - Introduction to Kubernetes
Ronny Trommer
 
Deploying your first application with Kubernetes
OVHcloud
 
Cloud spanner architecture and use cases
GDG Cloud Bengaluru
 
Apache Stratos 4.1.0 Architecture
Imesh Gunaratne
 
Nugwc k8s session-16-march-2021
Avanti Patil
 
Kubernetes Architecture and Introduction
Stefan Schimanski
 
Containers, Clusters and Kubernetes - Brendan Burns - Defrag 2014
brendandburns
 
Top 3 reasons why you should run your Enterprise workloads on GKE
Sreenivas Makam
 
Kubernates : An Small introduction for Beginners by Rajiv Vishwkarma
Rajiv Vishwkarma
 
Evolution of containers to kubernetes
Krishna-Kumar
 
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
Brian Grant
 
Kubernetes with docker
Docker, Inc.
 
Kubernetes Helm: Why It Matters
Platform9
 
Kubernetes - how to orchestrate containers
inovex GmbH
 
Kubernetes Workshop
loodse
 

Similar to Building Cloud-Native Applications with Kubernetes, Helm and Kubeless (20)

PDF
Running and Managing Kubernetes on OpenStack
Victor Palma
 
PDF
Introduction to containers, k8s, Microservices & Cloud Native
Terry Wang
 
PDF
Kubernetes intro
Pravin Magdum
 
PDF
The path to a serverless-native era with Kubernetes
sparkfabrik
 
PDF
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
NETWAYS
 
PPTX
Going Serverless with Kubeless In Google Container Engine (GKE)
Bitnami
 
PPTX
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
VMUG IT
 
PPTX
Kubernetes Presentation
Crevise Technologies
 
PDF
Azure meetup cloud native concepts - may 28th 2018
Jim Bugwadia
 
PPTX
Application portability with kubernetes
Oleg Chunikhin
 
PDF
Kubernetes Basics - ICP Workshop Batch II
PT Datacomm Diangraha
 
PPTX
Kubernetes-Presentation-Syed-Murtaza-Hassan
Syed Murtaza Hassan
 
PPTX
Why kubernetes matters
Platform9
 
PDF
Kubernetes Intro
Antonio Ojea Garcia
 
PDF
Kubernetes for the PHP developer
Paul Czarkowski
 
PDF
CD in kubernetes using helm and ksonnet. Stas Kolenkin
DataArt
 
PDF
Kubernetes for Beginners
DigitalOcean
 
PDF
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Amazon Web Services Korea
 
PDF
Kubernetes: My BFF
Jonathan Yu
 
PDF
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Running and Managing Kubernetes on OpenStack
Victor Palma
 
Introduction to containers, k8s, Microservices & Cloud Native
Terry Wang
 
Kubernetes intro
Pravin Magdum
 
The path to a serverless-native era with Kubernetes
sparkfabrik
 
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
NETWAYS
 
Going Serverless with Kubeless In Google Container Engine (GKE)
Bitnami
 
01 - VMUGIT - Lecce 2018 - Fabio Rapposelli, VMware
VMUG IT
 
Kubernetes Presentation
Crevise Technologies
 
Azure meetup cloud native concepts - may 28th 2018
Jim Bugwadia
 
Application portability with kubernetes
Oleg Chunikhin
 
Kubernetes Basics - ICP Workshop Batch II
PT Datacomm Diangraha
 
Kubernetes-Presentation-Syed-Murtaza-Hassan
Syed Murtaza Hassan
 
Why kubernetes matters
Platform9
 
Kubernetes Intro
Antonio Ojea Garcia
 
Kubernetes for the PHP developer
Paul Czarkowski
 
CD in kubernetes using helm and ksonnet. Stas Kolenkin
DataArt
 
Kubernetes for Beginners
DigitalOcean
 
Kubernetes/ EKS - 김광영 (AWS 솔루션즈 아키텍트)
Amazon Web Services Korea
 
Kubernetes: My BFF
Jonathan Yu
 
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
Ad

More from Bitnami (7)

PDF
Deploying a Java Application on Azure Kubernetes Service with Cosmos DB
Bitnami
 
PPTX
Continous Delivery to Kubernetes using Helm
Bitnami
 
PDF
Thinking One Step Further with Time-saving DevOps Tools with Open Telekom Clo...
Bitnami
 
PPTX
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Bitnami
 
PDF
Kubernetes and the Rise of Application-centric Computing
Bitnami
 
PPTX
Contenedores y el Futuro del Despliegue de Aplicaciones
Bitnami
 
PPTX
Banishing the Shadow Cloud
Bitnami
 
Deploying a Java Application on Azure Kubernetes Service with Cosmos DB
Bitnami
 
Continous Delivery to Kubernetes using Helm
Bitnami
 
Thinking One Step Further with Time-saving DevOps Tools with Open Telekom Clo...
Bitnami
 
Take the Fastest Path to Node.Js Application Development with Bitnami & AWS L...
Bitnami
 
Kubernetes and the Rise of Application-centric Computing
Bitnami
 
Contenedores y el Futuro del Despliegue de Aplicaciones
Bitnami
 
Banishing the Shadow Cloud
Bitnami
 
Ad

Recently uploaded (20)

PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PPTX
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
July Patch Tuesday
Ivanti
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
WooCommerce Workshop: Bring Your Laptop
Laura Hartwig
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Exolore The Essential AI Tools in 2025.pdf
Srinivasan M
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
July Patch Tuesday
Ivanti
 

Building Cloud-Native Applications with Kubernetes, Helm and Kubeless

  • 1. Building Cloud-Native Applications with Kubernetes, Helm and Kubeless Javier J. Salmerón Oracle Code Mexico
  • 2. Outline ● What is Cloud Native? ● Container orchestration: Kubernetes ● Kubernetes application package ● Going Serverless: Kubeless
  • 3. Outline ● What is Cloud Native? ● Container orchestration: Kubernetes ● Kubernetes application package ● Going Serverless: Kubeless
  • 4. What is Cloud Native - Cloud offers innumerable advantages: easier deployment, on-demand scalability, rolling updates, better resource optimization… - However, traditional enterprise application design does not exploit all this potential - Cloud-Native → Have the Cloud as the main target platform when designing
  • 5. What is Cloud Native (II) 1. Containerized. Each part (applications, processes, etc) is packaged in its own container. This facilitates reproducibility, transparency, and resource isolation. 2. Dynamically orchestrated. Containers are actively scheduled and managed to optimize resource utilization. 3. Microservices oriented. Applications are segmented into microservices. This significantly increases the overall agility and maintainability of applications. Properties:
  • 6. A new ecosystem: CNCF Cloud-Native Computing Foundation: Cloud-Native technology ecosystem where applications can be ported between different public and private clouds. Projects: Companies:
  • 9. But that is not enough... ● Automatic deployments ● Continous Integration ● Zero downtime ● Failover mechanisms ● Load Balancing ● Monitoring ● Dynamic scalability ● Role-Based Access Control ● Rolling updates Next step: Container orchestration We want:
  • 10. Outline ● What is Cloud Native? ● Container orchestration: Kubernetes ● Kubernetes application package ● Going Serverless: Kubeless
  • 11. What is Kubernetes? Kubernetes is an open-source system for automating deployment, scaling, and management of containerized applications. More about Kubernetes... • Open-source, based on 15 years of container expertise at Google. • Rich core API for all key primitives • Cluster Federation, RBAC, Quotas, Network policies, etc. • Fastest growing project on GitHub
  • 15. Basic Objects: Deployments Pods are normally scheduled using Deployments. It is a higher level object that allows: - Replica management - Pod scaling - Rolling updates - Rollback to a previous version - Clean-up policies - Pause/Resume ReplicaSet Deployment: wordpress Pod Replicas10.10.10.2 10.10.10.3
  • 16. apiVersion: v1 kind: Deployment metadata: name: wordpress spec: replicas: 2 template: metadata: labels: app: wordpress spec: containers: - name: wordpress image: bitnami/wordpress:4.7-r0 ports: - containerPort: 80
  • 17. Basic Objects: Services Define a set of pods that provide a micro-service. They provide a stable virtual endpoint for ephemeral Pods in your cluster, key to linking applications together 10.10.10.2 10.10.10.3 Service wordpress 31.120.4.2 Deployment: wordpress ReplicaSet
  • 18. apiVersion: v1 kind: Service metadata: name: frontend labels: app: wordpress spec: type: LoadBalancer ports: - port: 80 targetPort: http selector: app: wordpress Example Service
  • 19. Example: Deploying to Kubernetes $ kubectl create -f ./mariadb-deployment.yaml deployment "mariadb" created $ kubectl create -f ./mariadb-service.yaml service "mariadb" created $ kubectl create -f ./wordpress-deployment.yaml deployment "wordpress" created $ kubectl create -f ./wordpress-service.yaml service "wordpress" created
  • 21. Some examples of other k8s objects Secrets PodSecurityPolicy Security PersistentVolume PersitentVolume Claim Persistence Namespaces ResourceQuota Limits Resource Mgmt Role RoleBinding ClusterRole RBAC Job CronJob Job Mgmt. . . .
  • 22. Outline - What is Cloud Native? - Container orchestration: Kubernetes - Kubernetes application package - Going Serverless: Kubeless
  • 23. Problems with Managing Resources Boilerplate when developing manifests Upgrades and configuration changes require manual editing No history for releases Difficult to share publicly or with members of your team Need tooling to hook into release lifecycle
  • 24. Need a tool to package a group of resources as a single unit
  • 25. Solutions available Helm Ksonnet • A Kubernetes package manager • Packages are called Helm Charts. • The chart is a collection of k8s manifest templates to create an instance of a Kubernetes application ● Declarative application management ● Typed templating system for the Kubernetes application developer ● Offers proper IDE experience (plugins for VSCode and Web Interface) ● It support richer and more configurable solutions ● Can be integrated with Helm.
  • 26. Outline ● What is Cloud Native? ● Container orchestration: Kubernetes ● Kubernetes application package ● Going Serverless: Kubeless
  • 27. “Serverless can also mean applications where some amount of server-side logic is still written by the application developer but unlike traditional architectures is run in stateless compute containers that are event-triggered, ephemeral (may only last for one invocation), and fully managed by a 3rd party” --Mike Roberts (https://martinfowler.com/articles/serverless.html) Serverless Definition
  • 28. Kubeless: Kubernetes-Native Serverless Computing • Kubernetes-native serverless implementation • Functions allow for quick and easy application integrations • PubSub capabilities via Kafka • Open Source and non-affiliated • https://github.com/kubeless/kubeless
  • 29. Get Started on Kubernetes with Bitnami 1 2 3 4 5 6 7 Javier’s contact info: [email protected] Bitnami-base Containers: www.bitnami.com/containers How-to Setup K8s on Oracle Cloud: http://bitn.am/2rzyQ8e Get Helm: github.com/kubernetes/helm & kubeapps.com Get Ksonnet: https://github.com/ksonnet/ksonnet-lib Get Kubeless: github.com/kubeless/kubeless Bitnami documentation for Containers: docs.bitnami.com/containers 8 Bitnami documentation on Kubernetes: docs.bitnami.com/kubernetes
  • 31. Easy deployment with Monocular
  • 32. Deploy a Function $ kubeless function deploy tweet --trigger-http --runtime python27 --handler send-tweet.tweet --from-file send-tweet.py --dependencies requirements.txt
  • 33. Containers: a new application Packaging format