3/2/10 1 © copyright 2005-2006, xensource, inc. all rights
TRANSCRIPT
04/13/23 1© Copyright 2005-2006, XenSource, Inc. All rights reserved. Xen, XenSource and XenEnterprise are either registered trademarks or trademarks of XenSource Inc. in the United States and/or other countries.
Software Development Kit Webinar
March 20th 2007
Presenter Name Presenter Title
04/13/23 2
Overview
• Introduction• Product and Timelines• XenSource Architecture Backgrounder• Management Architecture• Tools for building applications• Summary• Q&A
04/13/23 3
Introduction
• Representing XenSource
• Shishir Pardikar - Product management• Carl Fisher - Product Management• Rich Persaud - Sales• Richard Sharp - Engineering• Dave Scott - Engineering
04/13/23 4
Product Timelines
• XenEnterprise product codenamed Rio• SDK webinar – March 20th(today)• SDK preview – Web Download (today)
• http://tx.downloads.xensource.com/products/sdk/index.php
• Update schedule to Partners – March end• Beta release – Mid May 2007• RTM – End of June 2007
04/13/23 5
• Architecture Backgrounder
04/13/23 6
Virtualization
• Pre-Virtualization, one OS runs on a Computer• With Virtualization, one Computer runs multiple
OSes• Virtualization decouples OS from Hardware• Creates a Virtual Machine (VM) abstraction• VMs can be
– Provisioned, monitored, moved and modified via software
• Provide a convenient and cost effective management
04/13/23 7
Architecture Backgrounder: The Basics
• Xen Hypervisor is a thin software layer
• Abstracts Machine (Host) Hardware
• Allocates Host hardware resources
• “Virtualizes” CPU, Memory, Devices etc.
• Creates multiple “Domains”
04/13/23 8
Architecture Backgrounder
04/13/23 9
• Rio Management Architecture
04/13/23 10
Rio Management Architecture - Goals
• Lightweight
• Enable remote management
• Rich and extensible
• Integration with enterprise management
04/13/23 11
Rio Management Architecture
04/13/23 12
Rio Management Architecture
• Exposes Persistent Object Model
• XML-RPC API to manipulate objects
• Secure remoting with authentication
• Implemented by Xen Agent in Dom0
04/13/23 13
Rio Management Architecture
• Utilized by GUI console
• Easy usage provided through CLI
• Language Bindings for tighter integration
• Use XML-RPC directly with any language
04/13/23 14
Management Stack
Xenstore Xen-Hypervisor Host Utils
Xen Agent
API Language Bindings
CIM-Providers, CLIs (xe, xm)
Dom 0
Dom 0,Dom U,another PC
XML-RPC API Server
XML-RPC Client
Custom Apps Custom Apps
04/13/23 15
API Categories
• Monitoring APIs – Inspect object state, performance
• Actuation APIs– VM lifecycle, product configuration etc.
• More categories to follow….
04/13/23 16
• Object Model Basics
04/13/23 17
Facilities Provided
• Installation
• VM lifecycle
• Network interfaces management
• Storage management
• Statistics
04/13/23 18
Object Model
• Persisted in a database
• Captures interrelationships• e.g. VM <-> Block Device (VBD) <-> disk Image
<VDI>
• Key Objects– Host, VM, VBD, VIF etc.…
• Can represent host clustering
04/13/23 19
04/13/23 20
Important Base Objects
• User – principal executing APIs
• Session – An authenticated API session
• Task – A long running async operation
• Host – A physical Host Machine
• VM – A Virtual machine
04/13/23 21
Networking Objects Usage Examples
• Add/delete a Virtual NIC to/from a VM
• Configure a virtual NIC• e.g. Change MAC/IP address
• Connect a VM NIC to a physical NIC
04/13/23 22
Storage Objects
• Unify various storage capabilities• Logical Volumes, CDs, files
• Provide a single model for all types
• VM sees them as a Virtual Block Device
• Easy to manage
04/13/23 23
• SDK for building applications
04/13/23 24
SDK Contents
• XenSource Virtual Appliance– Emulation Server (automatically started)– Language Bindings– Build Environment with c samples– Samples with each language
• C language samples for Linux• C# samples for Windows• Bash scripts that issue CLI commands• Python
• XML-RPC API reference
04/13/23 25
C Language Binding Walkthrough
• Per-object type – Sources /SDK/client-examples/c/libxen
• Correlates with API object reference
• Example:– xen_vm.h– xen_vm.c– Corresponds to VM object type in the API reference
04/13/23 26
C Language Binding Walkthrough-contd.
• xen_<object>_record• Defines the object and all it’s fields• e.g. xen_host_record, xen_vm_record
• xen_<object>– Opaque reference in session context– Returned via xen_get_by_uuid and xen_get_by_name
• xen_get_xxx and xen_set_xxx• get and set a field
• xen_get_<object>_record• Get the entire record from opaque reference
04/13/23 27
C# Language Binding
• /SDK/client-samples/csharp/XenSDK.net/XenAPI.net
• Includes dlls, language binding sources, samples
• Built against .NET 2.0• Renders the API object model• All properties and methods implemented
• e.g. VM.get_name_label,• VM.get_by_uuid
• Can be used from unmanaged code
04/13/23 28
Other Samples
• New powerful CLI
• CLI samples wrapped in bash scripts– /SDK/client-samples/bash-cli
• Python samples– /SDK/client-samples/Python
04/13/23 29
• Download location
• http://tx.downloads.xensource.com/products/sdk/index.php
• Has SDK ISO and a Readme
• Burn CD using the ISO
04/13/23 30
How to Install
• Packaged as a XenEnterprise Virtual Appliance• Runs on XenEnterprise 3.2.0 BETA
– https://xensource.licensetech.com/xenshop/include/XenSource/xs320b1download.htm
• On windows machine– Insert the CD in the drive– Launch XenEnterprise 3.2.0 Console– Choose “Import VM”– Browse to CD ROM– Import
04/13/23 31
Summary
• Rich Architecture
• Versatile management stack
• Choice of platforms for ISVs– Write apps on Windows or Linux
• Choice of languages– C, C# and python for starters– Others based on partner/ISV feedback
• [email protected] for questions
04/13/23 32
• Please download today
• Give us feedback
• Thank You!
04/13/23 33
Questions?