Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Upcoming SlideShare
What to Upload to SlideShare
What to Upload to SlideShare
Loading in …3
×
1 of 20

How to Modernize Virtualized Workloads

0

Share

Download to read offline

Watch the presentation: https://youtu.be/s-0dXfjfPkA

The eternal struggle of application development is choosing to pay down technical debt or adding new features. Why not both! This meetup will explore modernization strategies enabled by open-source project KubeVirt that will help you do just that.

Legacy applications are usually monolithic and run on one or more virtual machines. Some applications are easier to modernize if they have well established counterparts in the containerized world (EAP, Spring Boot, etc). Large classic .Net applications running on IIS in Windows server are a lot harder to modernize in one shot. KubeVirt allows you to import your existing VM workloads into Kubernetes and modernize your application in stages.

With KubeVirt, Virtual Machines are first-class citizens in Kubernetes and have access to all the artifacts that pods do, including being able to access and be accessed using service endpoints. Once you have the VM running in your Kubernetes project, you can start to modernize and extend the functionality of your application.

We will import a .Net application running on IIS on a Windows Server VM into KubeVirt. Then we will go through the stages of containerizing each of the logical layers of the application. Note that this strategy can be used with other OS and Middleware combinations.


Presenter: Arvin Amirian, Principal Consultant for Container Infrastructure @ Red Hat

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

How to Modernize Virtualized Workloads

  1. 1. Arvin Amirian, Principal Consultant, Financial Services Consulting Modernizing Virtualized Workloads 1
  2. 2. 2 Accelerate your journey to Kubernetes with the Konveyor Community A community of people passionate about helping others modernize and migrate their applications to the hybrid cloud by building tools and best practices on how to break down monoliths, adopt containers, and embrace Kubernetes. www.konveyor.io
  3. 3. Watch The Presentation https://youtu.be/s-0dXfjfPkA
  4. 4. 4 What is OpenShift Virtualization? ● OpenShift Operator based on the upstream KubeVirt project ● KubeVirt brings VMs to the Kubernetes world ● Allows you to run VM and container workloads side by side
  5. 5. 5 Major public clouds are running KVM for Virtualization. Any customer looking at public cloud is using KVM. Our vision is to provide enterprise virtualization in the private data center based on KVM, driving consistency and containing cost. PUBLIC CLOUD PRIVATE CLOUD KVM BASED VIRTUALIZATION KVM is Hybrid Cloud / Virtualization
  6. 6. 6 Install using Operator Hub ● Install through Web Console or CLI ● Installation using CLI is fully automatable ● Supports installation in disconnected environments
  7. 7. 7 Supported Guest Operating Systems ● Red Hat Enterprise Linux 6, 7, and 8. ● Microsoft Windows Server 2012 R2, 2016, and 2019. ● Microsoft Windows 10.
  8. 8. 8 VM Networking ● Default networking via Masquerade ○ VM assigned non-routable IP ○ External traffic forwarded via virt-launcher pod ● Can attach multiple NICs to VM via Multus ● Can access host network by using bridge interface on OCP host ○ Can be configured via NMstate
  9. 9. 9 Node Network Configuration apiVersion: nmstate.io/v1beta1 kind: NodeNetworkConfigurationPolicy metadata: name: br1-eth1 spec: nodeSelector: node-role.kubernetes.io/worker: "" desiredState: interfaces: - name: br1 type: linux-bridge state: up ipv4: dhcp: true bridge: port: - name: eth1
  10. 10. Shift and Modernize Use Case 10 Classic .Net on Windows Server and IIS
  11. 11. 11 Why run a Windows Server VM on Kubernetes? ● Not always feasible to migrate applications all at once. ○ Large applications, especially monolithic ones ● Dependencies on libraries not available on .Net Core ● Colocation of legacy VM and updated code running in containers ○ Communication via internal Kubernetes Service instead of egress to another server in datacenter. ● Migrate away from costly hypervisors.
  12. 12. 12 Migration Tools ● Migration Toolkit for Virtualization (VMWare, RH Virtualization) ○ https://access.redhat.com/documentation/en- us/migration_toolkit_for_virtualization/2.1 ○ https://github.com/konveyor/forklift-operator ● Virt-v2v (VMware, Xen, Hyper-V) ○ https://github.com/libguestfs/virt-v2v
  13. 13. 13 Multiple Ways To Import VM Images
  14. 14. 14 Modernizing Applications Iteratively
  15. 15. 15 Building .Net Core Application Container Image
  16. 16. 16 Building .Net Core Application Container Image # https://hub.docker.com/_/microsoft-dotnet-core FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build WORKDIR /source # copy csproj and restore as distinct layers COPY ./source . RUN dotnet restore # copy and publish app and libraries COPY . . RUN dotnet publish -c release -o /app --no-restore # final stage/image FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 WORKDIR /app COPY --from=build /app . ENTRYPOINT ["dotnet", "ClientListUI.dll"]
  17. 17. Demo Time! 17
  18. 18. 18 Getting Started OpenShift Virtualization Quick Start https://www.openshift.com/blog/getting-started-with-openshift- virtualization OpenShift Virtualization Docs https://docs.openshift.com/container-platform/4.8/virt/about-virt.html OpenShift Custom Catalogue for Disconnected environments https://github.com/arvin-a/openshift-disconnected-operators
  19. 19. Join the Konveyor Community www.konveyor.io
  20. 20. Thank you! 20

Editor's Notes

  • Survey link is in the chat section
  • Survey link is in the chat section
  • ×