My INSURER PTE LTD - Insurtech Innovation Award 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
1. 1
Something old, something new,
something borrowed, something Kube
Backstage and
KubeVirt
John Quigley
Solutions Architect
Jason Kincl
Solutions Architect
Michael Quick
Solutions Architect
2. Agenda
● Define the problems being solved
○ Developer Portal
○ Cloud Native Virtualization and Operations
● Backstage origin story
● Define terms and concepts
● Walkthrough of Backstage UI
● KubeVirt origin story
● Walkthrough of KubeVirt
● Show Backstage build and share tips/resources for install
Overview
3. 3
Poll
Show of
○ Who has deployed or logged into a Kubernetes cluster?
○ Who comes from the developer side of the equation?
○ Who comes from the security side of the equation?
○ Who comes from the operations side of the equation?
○ Who knew there were 3 sides to an equation?
○ Who comes from a blended team (e.g. “devops”)?
○ Who is just here for the schwag and snacks?
4. Backstage
Where we are going today
are you on the right flight?
KubeVirt
Virtualization API for Kubernetes Internal Developer Portal
9. CNCF Status of Backstage
CNCF Accepted
September 8, 2020
Inception
Internal tool in 2016
Open-sourced in 2020
Graduated to Incubating
March 15, 2022
Project Status
Project Progress Over Time
12. 12
Infinite Tabs
How many open tabs does a developer need
Jira
ArgoCD
Tekton Documentation on
Google Docs
Documentation on
Confluence
Grafana
Topology
View
Sonarqube
Git Repository
14. 14
Technology Overload
Analysis Paralysis
- too many choices
Sometimes choices
becomes Non-Standard
Development Team
?
or
?
or
Jenkins
Argo
Kafka Artemis
or
Helm Charts
Operator
?
15. 15
Knowledge Fragmentation
Processes are unclear, impacting overall team productivity
Development Team
How do I get
a repo ?
Who can give me
access to ?
Where is the
documentation ?
Is there a list of
existing services ?
16. Backstage core offerings
The Software Catalog: A centralized
directory of everything
TechDocs: Docs-as-code, docs-in-code,
easy to locate.
Search: everything: code, docs, plugins,
templates, systems/components/resources
Golden Path templates: Streamlines the
setup process for new projects, services, or
libraries. Consistency and best practices..
Plugins: Modular extensions that enhance
Backstage with new features or integrate it
with external dev tools and services.
17. Core entities of Backstage
- APIs
- Components
- Resources
=> together make Systems
Some more important terms
20. 20
Plugins Ecosystem
Extensible and allows to customize the development team needs
More than
150+
community
plugins
Prometheus
GitOps with ArgoCD
SonarQube
Pipelines with Tekton
Jenkins
GitLab
Open Cluster
Management
Application Topology
for Kubernetes
Azure DevOps Jira
Authentication and
Authorization with
Keycloak
Quay Ansible
25. Software Templates
Upstream
Red Hat contributed
https://github.com/backstage/software-templates https://github.com/redhat-developer/red-hat-developer-hub-software-templates
37. KubeVirt
CNCF Accepted
September 6, 2019
Inception
2016
Graduated to Incubating
April 19, 2022
KubeVirt Status
Project Progress Over Time
17k commits and 1k forks
45 active repositories
40. Virtual Machine
▸ CPU: 4 vCPU, 1 core
▸ Memory: 16GB
▸ Disk: 30 GB
▸ OS: RHEL
Additional filesystems
▸ data: 500GB, disk
▸ logs: 100GB, partition
Application platform
▸ JBoss 7.4 Update 11
Firewall rules
▸ Ingress: SSH, HTTPS
▸ Egress: *.redhat.com
DNS & LB
▸ api.service.org
▸ Healthcheck: HTTPS port
Fragmented ‘approach’ to VM provisioning
40
Networking
team
(1-3 days)
Execute workflow
▸ Review & approve
▸ Assign IP & hostname
▸ Configure DNS (host)
Virtualization
team
(1-3 days)
Execute workflow
▸ Review & approve
▸ Queue to networking & storage teams
▸ Create VM from virtualization template and custom parameters
▸ Add disks and partitions and re-configure OS with custom filesystems
▸ Install corporate tools and configure default users and permissions
▸ Queue to platform team
▸ Queue to security team
▸ Queue to networking team
▸ Hand over the VM: IP, credentials and metadata
Security
team
(2-4 days)
Execute workflow
▸ Review & approve
▸ Install security tools
▸ VM hardening
Platform
team
(1-2 days)
Execute workflow
▸ Review & approve
▸ Install JBoss 7.4u11
▸ Configure MW
Networking
team
(2-7 days)
Execute workflow
▸ Review & approve
▸ Configure LB & DNS
▸ Configure FW
Storage
team
(1-2 days)
Execute workflow
▸ Review & approve
▸ Allocate volumes
▸ Whitelist source IP
Request for a
new Virtual
Machine
VM Ready?
41. Next Gen approach to VM provisioning
41
Network Security
Pipeline and automation Storage
Virtual Machine
▸ CPU: 4 vCPU, 1 core
▸ Memory: 16GB
▸ Disk: 30 GB
▸ OS: RHEL
Additional filesystems
▸ data: 500GB, disk
▸ logs: 100GB, partition
Application platform
▸ JBoss 7.4 Update 11
Firewall rules
▸ Ingress: SSH, HTTPS
▸ Egress: *.redhat.com
DNS & LB
▸ api.service.org
▸ Healthcheck: HTTPS port
Request for a
new Virtual
Machine
VM Ready?
Ansible Tekton
Pipelines
K8s or OKD
A process that can be optimized down to a few minutes
cloud-init
VM template VM image
KubeVirt
Automate VM
image builds &
updates
Automatically
deploy VMs from
code (Git repos)
Manage networks,
storage, load
balancers, etc.
42. KubeVirt
Traditional Virtualization vs KubeVirt
❏ Configure OpenShift
❏ Create Configurations
❏ Apply Configurations
❏ Setup Networking
❏ Setup DNS
❏ Setup Load Balancer
❏ Setup Secrets Management
❏ Setup Configuration Management
❏ Setup Storage
❏ Setup Firewall
❏ Download OS
❏ Create VM (directly or via template)
❏ Start VM
❏ Configure Networking
❏ Configure Storage
❏ Configure Memory
Creating KubeVirt VMs
Creating Traditional VMs
❏ Patch Operating System
❏ Setup Access
❏ Connect to VM
❏ Harden the VM
❏ Install Dependencies
❏ Deploy Workload
❏ Setup CI/CD pipeline
❏ Setup Automation
❏ Configure Application
❏ Setup Backup
❏ Setup Monitoring
❏ Setup Logging
❏ Setup Metrics
45. KubeVirt
● One platform, one skillset
● K8s native for all workloads
● Democratizing dev & ops
Automation and
Self Service
Unified Ops and
Ecosystem
Scalability and
Resource Utilization
● VM Scalability
● Dynamically provision VMs
● Automated Deployments
● Backstage
● ServiceNow
● Automated w/ Pipelines,
Sysprep/Cloud-init, or Ansible
KubeVirt Virtual Machines
KVM with spinning rims
47. How to Install on k8s
KubeVirt
Mailing List
https://groups.google.com/for
um/#!forum/kubevirt-dev
kubevirt.io
https://kubernetes.slack.com/
messages/virtualization
KubeVirt Website Join the Slack Community
KubeVirt Community Resources
Community Resources
https://kubevirt.io/videos/
https://kubevirt.io/labs/kubernetes/
lab1.html