Use the Unused : Application Hosting on Enterprise Devices.

UMA SANKAR MOHANTY Technical Leader, Customer Delivery BRKARC-1002 Cisco Webex Teams

Questions? Use Cisco Webex Teams to chat with the speaker after the session How 1 Find this session in the Cisco Events Mobile App 2 Click “Join the Discussion” 3 Install Webex Teams or go directly to the team space 4 Enter messages/questions in the team space

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 3 ROCK GARDEN – CHANDIGARH (INDIA) Courtesy : Images

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 4 Agenda

• The WW(WHAT & WHY) of Containers

• KVM Hosting

• Let’s Host an APP.

• Success Stories

• Key Takeaways

• Q & A

• Appendix

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 5 Agenda

• The WW(WHAT & WHY) of Containers

• KVM Hosting • Hosting Spectrum • Difference : KVM & LXC • IOS-XE Architecture & Container Networking

• Let’s Host an APP.

• Success Stories • CASE 1 : Iperf Hosting • CASE 2 : YangSuite • CASE 3 : Application • CASE 4 : Syslog

• Key Takeaways

• Q&A

• Appendix

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 6 The WW(WHAT & WHY) of Containers Session Objectives

This Session Focuses on :

• Brief Overview of Containers on Enterprise Platform

• A few success stories of applications running on the IOS-XE Platforms.

By the end, I hope everyone in this room gets a better understanding of containers and how to host applications on top of Enterprise Platforms which can be used for the betterment of the Network.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 8 Virtual Machines vs Containers

- Includes the application, binaries & libraries along with entire guest OS.

• Containers (LXC) - OS level method for running multiple isolated containers on a single control host.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 9 Virtual Machines vs Containers

Containers are isolated but share OS App 1 App 2 App 3

Bins/ Bins/ VM Bins/ Libs Libs Libs App A1 App 2 p’ App 3

Guest OS Guest OS Guest OS Container Bins/Libs Bins/LibsBins/Lis Bins/Libs (Type2) Container Engine Host OS Host OS Server Server

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 10 What is a Service Container?

Service Containers leverage virtualization layer (LXC and KVM) to provision an application hosting environment on Cisco routers/switches.

Gives ability to code application/service once and run it everywhere.

Cisco Virtual Services: • Example: WAAS, SNORT

Third Party Services: • Example: Wireshark, iperf etc.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 11 Current Application Challenges

Not Enough Network Bandwidth Data Reduction

Most Data is not interested Filtering

Use of Data at the Edge Latency Optimization

Computation to be optimized Partitioning

Data Normalization Application Simplification

Data Redirection based on Content Dynamic Changes

Data Timestamping & Algorithm analysis Analytic Support

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 12 Empowering the Edge – Leverage the Network!

• Existing hardware Business footprint Applications Management Analytic Systems • No need for IoT separate compute Applications Billing machinery

• Integrated security

• Reduced latency & bandwidth cost

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 13 KVM Hosting Application Hosting Spectrum Different models for different application needs.

Native LXC Docker KVM Type 1 • Strict Kernel • Emerging Industry • Any OS Hypervisor • Very Tight Requirements Standard • Complete • Service Module Integration • Good separation Only • Best performance • Linux host OS • VMWare, HyperV, Performance with some normally – Type Zen… security 2 hypervisor

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 15 Application Hosting Spectrum

Linux Containers

Native LXC Docker KVM Type 1 Process •Strict Kernel •Emerging Industry • AnyOS Hypervisor •Very Tight Requirements Standard •Complete • ServiceModule Integration •Good separation Only •Best Performance performance with • Linux host OS •VMWare, HyperV, some security normally – Type 2 Zen… hypervisor

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 16 Application Hosting Spectrum

Cisco Developed IOX & Service Containers

Native LXC Docker KVM Type 1 Process •Strict Kernel •Emerging Industry •Any OS Hypervisor •Very Tight Requirements Standard •Complete • ServiceModule Integration •Good • FutureSupport separation Only •Best Performance performance with •Linux host OS •VMWare, HyperV, some security normally – Type 2 Zen… hypervisor

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 17 Application Hosting Spectrum

Open IOX & Service Containers

Native LXC Docker KVM Type 1 Process •Strict Kernel • Emerging Industry • Any OS Hyperviso •Very Tight Requirements Standard • Complete r Integration • Good • Future Support separation • ServiceModule •Best performance • Linux host OS Only Performance with some normally – Type •VMWare, HyperV, security 2 hypervisor Zen…

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 18 KVM & LXC

Types of Applications

• Kernel Virtual Machine (KVM) • KVM application is a virtual machine that contains the full OS (kernel and root filesystem) along with the application code and dependencies in a single package.

• Linux Container (LXC) • A Container application is a single package of the root file system, application code and dependencies like libraries and native binaries.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 19 KVM & LXC

Application Package

The application package consists of several required and optional pieces

• A Package Descriptor file describing the information and resources of the application

• A Package Configuration file for applying configuration values during provisioning

• The binaries, application code, application libraries, virtual disks, root file system, and manifest of the application itself

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 20 Kernel Virtual Machine (KVM) Application

• OS kernel

• Root file system

• Dependent libraries

• Language runtimes and Frameworks

• Application descriptor file

• Application code

• Configuration files, scripts, etc

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 21 Linux Container (LXC) Application

• Complete root file system

• Dependent libraries

• Language runtimes and Frameworks

• Application descriptor file

• Compiled application code Configuration files, scripts, etc

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 22 Which is LightQ1 weight, KVM or LXC ?

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 23 Enterprise Platforms

•Catalyst 9000 9300, 9400, 9500

•ISR4K ISR4321, ISR4331, ISR4351, ISR4431, ISR4451 •CSR •ASR1K ASR 1001-X (HX), ASR 1002-X (HX)

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 24 IOS-XE Software Architecture

Customer and 3rd Party Cisco Apps (WAAS,Snort) IOSd Applications Control Plane KVM/LXC Virtual Ethernet

Linux OS

Platform-Specific Data Plane ERSPAN NSH AppNav

Internal Services Blade External Services Blade (UCS® E-Series) (UCS)

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 25 Cisco ISR 4400 Series Architecture

IOS-XE 25% CPU Service containers live here: 75% CPU Control Plane (1 core) Data Plane Services Plane (3 cores) (6 or 10 cores)

FPGE

ISC Multigigabit Service Container Fabric SM-X

KVM - Hypervisor

Service Plane (control plane CPU) NIM

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 26 What do I need to add to an ISR4K system?

Memory

• Service Containers (currently) REQUIRE additional DRAM beyond the 4GB system default • Additional DRAM beyond 4GB will be available to a KVM application • Example: 8GB DRAM will have 4GB available to Service Containers • Example: 16GB DRAM will have 12GB available to Service Containers

Storage

• No storage is included by default and applications do not have accessto bootflash. • Options include internal MSATA SSD on 4300 Series, NIM-SSD or NIM-HD on all ISR4K.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 27 What do I need to add to an CAT9K system?

USB External Storage Memory Platform CPU vCPU CPU units M2 SATA USB 3.0 (GB) Storage (GB) (GB) 1 Core Catalyst 9300 2 (25%) 2 7400 NA 120

1 Core Catalyst 9400* 8 2 7400 960 N/A (25%)

1 Core Catalyst 9500* 8 (25%) 2 7400 NA 120 Catalyst 9500 1 Core high-performance* 8 (25%) 2 7400 960 N/A 2 Core Catalyst 9600* 8 (25%) 2 7400 960 NA

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 28 Catalyst 9000 – SSD Storage

Cat 9500 Cat 9300/9500 Cat 9400 High Performance

USB 3.0 M2 SATA M2 SATA 120GB 240/480/960GB 240/480/960GB

Plug into Back Panel removable SUP Back Panel

For Local Storage and App Hosting

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 29 Licensing DNA-Advantage licensing is required to enable App Hosting on Cat9K

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 30 IOS XE performance and security protection

• Memory and CPU usage for Apps are bounded using Control groups ().

• Process and files access for Apps are isolated and restricted (using user namespace)

• Disk usage is isolated using separate storage.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 31 Storage Security

CAT9K

SSD offers two layers of security:

• AES-256 Hardware encryption on SSD • Passcode Authentication on the switch and SSD

Match

Switch#hw-module switch 1 usbflash1 security ? Switch# conf t disable disable security on USB3.0 Switch(config)# hw-module switch 1 usbflash1- enable Enable security on USB3.0 password Switch(config)# no hw-module switch 1 unlock Unlock USB3.0 usbflash1-password

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 32 Containers Networking

Container 10.0.0.10 Container Container VM eth1 eth1 eth1 eth0 eth0 eth0 eth0 eth1 172.19.0.24 10.0.0.2 10.0.0.3 10.0.0.4 10.0.0.5 Mgmt Bridge0 Svc Bridge1

IOS-XE AppGigabitEthernet X VirtualPortGroup X 10.0.0.1/24 Management Bridging Routing VRF

Linux SW component Ge0/0 Ge0/0/11 Ge0/0/12 Ge0/0/13 172.19.0.23 Ge0/0/1 Ge0/0/2 Ge0/0/3 HW 12.0.0.1/24 13.0.0.1/24 14.0.0.1/24 L2 interface* Forwarding L3 interface

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 33 Containers Networking: Management Interface CAT9K

Management Interface Container eth1 eth0 172.19.0.24

Mgmt Bridge0 L2 Bridging

Management VRF

Ge0/0 172.19.0.23 LXC/VM vNICs

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 34 Containers Networking: Data Port Data ports can be accessed using IOS XE AppGigabitEthernet Port CAT9K

Container Container VM eth1 eth1 eth0 eth0 eth0 eth1 AppGigabit Interface 10.0.0.2 10.0.0.3 10.0.0.4 10.0.0.5

Svc Bridge1

AppGigabitEthernet X Bridging Outgoing Port

Ge0/0/1 Ge0/0/2 Ge0/0/3 L2 interface*

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 35 Containers Networking: Data Port Data ports can be accessed using IOS XE Virtual Port Groups ISR4K

Container Container VM eth1 eth1 eth0 eth0 eth0 eth1 10.0.0.2 10.0.0.3 10.0.0.4 10.0.0.5 VPG Interface Svc Bridge1

VirtualPortGroup X 10.0.0.1/24 Routing

Ge0/0/11 Ge0/0/12 Ge0/0/13 12.0.0.1/24 13.0.0.1/24 14.0.0.1/24 L3 interface

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 36 Containers Networking: IP Configuration

Logging directly into VM and configure Linux using CLI Linux commands

DHCP Enabling DHCP service in KVM/LXC and configuring DHCP server/relay

IOS XE CLI IOS assigned explicitly with IOS XE CLI

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 37 App Lifecycle Management – State Transitions

app-hosting install appid package usbflash1:

App-hosting activate appid

App-hosting start appid

install activate start

uninstall deactivate stop

App-hosting uninstall appid App-hosting stop appid

App-hosting deactivate appid

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 38 Let’s Host an APP. How Many 3rd party Applications does Cisco Q2Support ?

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 40 Hosting an APP.

• Create : Creating the KVM Image

• Enable : Enable Serial Console

• Install : Install any other APP’s or Package

• Build : Building a Service Container

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 41 Create

• Start up the VM Manager

• Click on the ‘Create a new virtual machine’ icon, type a name (e.g. centos) and click centos Forward.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 42 Create

• Select the ISO image, and make sure OS type and Version are set to Linux and Enterprise 7

• Click Forward & select the CPU/RAM requirements.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 43 Create

• Specify the RAM and CPU requirement’s for the centos VM.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 44 Create

• Specify the harddisk requirement for centos VM.

• Click Forward to complete the Create process.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 45 Enable

• Much like a real PC can have a serial or RS232 connection for a console session to Service Container

• Command to connect : virtual-service connect name console

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 46 Install

• Install any packages and applications as per requirement.

• Shut Down the KVM VM, and close the VM manager application.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 47 Build

• If you name the KVM image centos then the image file will be called centos.img and will reside in /var/lib/libvirt/images

• Convert the .img file to qcow2 format.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 48 Build

• Copy qcow2 file, .yaml file & .ver file to one single dir.

• Run create_ova.sh on the dir

• This will generate a .ova file which can be installed on a router.

https://github.com/umohanty/Create_OVA

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 49 Sample .yaml file

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 50 Build

• centos.ova & centos.mf

Created after running create_ova.sh

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 51 Success Stories • CASE 1 : Iperf Hosting

• CASE 2 : Yangsuite

• CASE 3 : Docker Application

• CASE 4 : Syslog Server

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 53 CASE 1 : Iperf Hosting

• Build : Building a container using Docker

• Create : Package the application

• Install : Install the container(package.tar) on router Courtesy : Google Images • Enable : Start the container.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 54 Build

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 55 Create

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 56 Install

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 57 Install

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 58 Install

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 59 Install

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 60 Enable

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 61 CASE 2 : Yangsuite

• Build : Building a container using Docker

• Install : Via Cisco DNA Center

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 62 Docker Workflow

1 Dockerfile 2 Build Docker Image 3 Deploy App 4 Cisco DNA-C

docker build –t .

CAT9K

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 63 Build

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 64 Build

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 65 Build

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 66 Build

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 67 Install

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 68 Install

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 69 Install

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 70 Install

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 71 Install

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 72 Install

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 73 BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 74 BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 75 BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 76 BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 77 CASE 3 : Docker Application

• Critical Resources(Memory, CPU etc.) on a router should always be taken care of . • With Existing SNMP OID’s we can’t get each process memory usage.

• Using custom built Python codes hosted as a container we can achieve this.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 78 Does ISR4KQ3 Support Native Docker ?

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 79 Docker Application

• Build : Building a container using Docker

• Create : Package the application using ioxclient

• Install : Install the container(package.tar) on router

• Enable : Start the container.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 80 Build

Create a Dockerfile.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 81 Build

Run docker build command to build container image docker build -t python_iox .

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 82 Create

Verify if docker image is created.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 83 Create

Create package.yaml in package directory

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 84 Create

Run iox_client to create package.tar file

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 85 Create

Install the package.tar on router

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 86 Install

Copy Package.tar to bootflash on router.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 87 Install

Configure the Virtualportgroup interface.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 88 Install

Configure NAT to access external network

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 89 Install

Use app-hosting install appid python_iox package bootflash:python_iox/package.tar to install package.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 90 Enable

Activate: app-hosting activate appid python_iox Start: app-hosting start appid python_iox

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 91 Enable

Connect to package console:

“app-hosting connect appid python_iox console”

Initialize python script:

“/opt/apps/start.sh &”

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 92 Monitor memory

Access memory monitoring application at http://192.168.172.3: 55000/memory

https://github.com/umohanty/Python-Webserver

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 93 CASE 4 : Syslog Server

Step 1: Build a CENTOS VM

Step 2: Install Syslog Application on VM

Step 3: Create a OVA Package and Install it on Router

Step 4: Configure Router (Mandate Configuration)

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 94 Installing Syslog

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 95 Installing Syslog

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 96 Installing Syslog

Use vi /etc/rsyslog.conf to Edit syslog settings

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 97 Installing Syslog

Enabling Firewall to Allow port 514

Verifying port 514 connection status

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 98 Create a OVA Package and Install it on Router

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 99 Steps to Install

STEP 1 :- Installing the Service Container:

Copy the SyslogServer.ova file onto a USB stick, insert it into the router and type:

copy usb0:SyslogServer.ova harddisk: or Copy the SyslogServer.ova file onto a tftp/ftp Server and use the below command :

copy tftp: harddisk:

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 100 STEP 2 :- Setting up Virtual Service

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 101 STEP 3 :- Creating DHCP pool for the container

Create a DHCP pool so that the service container/Linux instance can acquire an IP address

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 102 STEP 4 :- Installing the Virtual Service virtual-service install name SyslogServer package harddisk:SyslogServer.ova

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 103 STEP 6 :- Activating Virtual Service

Once that command shows the service is in Installed state, you can configure in IOS-XE for the service to be activated: virtual-service SyslogServer activate

Check the state using the same command as before: show virtual-service list

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 104 You should be able to successfully ping the service container

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 105 !!! Let’s Login and Check the Logs on our own SyslogServer !!!

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 106 Key Takeaways Key Takeaways • What are Service Containers ? • Provision’s an application hosting environment on Cisco routers/switches.

• Application Hosting Spectrum

• 4 Step Procedure to Host an APP.

• Success Stories : • Iperf Hosting • YangSuite By leveraging native Docker Support on CAT9K, programmability and management becomes lot more easier. • Docker Application Build your own Monitoring application hosted right on your edge device. • Syslog Server

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 108 Appendix References

WAY MORE INFO: What the Heck is a Service Containers? (blog) An Introduction to Service Containers (Presentation) Fundamentals of Service Containers (Techwise Video) Virtual Service Container Config Guide (NXOS &IOSXE) https://github.com/suchandanreddy/devnet3624 (Host IPERF on ISR4K)

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 110 Q & A Complete your online session • Please complete your session survey survey after each session. Your feedback is very important.

• Complete a minimum of 4 session surveys and the Overall Conference survey (starting on Thursday) to receive your Cisco Live t-shirt.

• All surveys can be taken in the Cisco Events Mobile App or by logging in to the Content Catalog on ciscolive.com/emea.

Cisco Live sessions will be available for viewing on demand after the event at ciscolive.com.

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 112 Continue your education

Demos in the Walk-In Labs Cisco Showcase

Meet the Engineer Related sessions 1:1 meetings

BRKARC-1002 © 2020 Cisco and/or its affiliates. All rights reserved. Cisco Public 113 Thank you