Delivering IaaS for the Greek Academic and Research Community Vangelis Koukis vkoukis@cslab.ece.ntua.gr k ki @ l b t Technical Coordinator, ∼ okeanos Project 9 th TF-Storage Meeting Greek Research and Technology Network 49
Delivering IaaS for the Greek Academic and Research Community Vangelis Koukis vkoukis@cslab.ece.ntua.gr k ki @ l b t Technical Coordinator, ∼ okeanos Project 9 th TF-Storage Meeting Greek Research and Technology Network 50
Delivering IaaS for the Greek Academic and Research Community Vangelis Koukis vkoukis@cslab.ece.ntua.gr k ki @ l b t Technical Coordinator, ∼ okeanos Project 9 th TF-Storage Meeting Greek Research and Technology Network 51
vkoukis@cslab.ece.ntua.gr | 20110617 Outline � ∼ okeanos IaaS � Compute � Synnefo architecture � Synnefo architecture � Network � � Storage � Upcoming goals 9 th TF-Storage Meeting Greek Research and Technology Network 52
vkoukis@cslab.ece.ntua.gr | 20110617 Outline � ∼ okeanos IaaS � Compute � Synnefo architecture � Synnefo architecture � Network � � Storage � Upcoming goals 9 th TF-Storage Meeting Greek Research and Technology Network 53
vkoukis@cslab.ece.ntua.gr | 20110617 Motivation � Deliver IaaS to GRNET’s customers � direct: IT depts of connected institutions direct: IT depts of connected institutions � indirect: university students, researchers in academia � Other IaaS efforts � Amazon EC2 not an end-user service � Need to develop custom UI, AAI layers � Vendor lock-in V d l k i � Unsuitable for IT depts • persistent, long-term servers, custom networking requirements � Gain know-how, build on own IaaS → new services → , 9 th TF-Storage Meeting Greek Research and Technology Network 54
vkoukis@cslab.ece.ntua.gr | 20110617 ∼ okeanos IaaS � Infrastructure… � Compute (Virtual Machines) C t (Vi t l M hi ) � Network (Virtual Networks) ( ) � Storage (Virtual Disks) � … as a Service � Users manage resources over � a simple elegant UI or � a simple, elegant UI, or � a REST API, for full programmatic control 9 th TF-Storage Meeting Greek Research and Technology Network 55
vkoukis@cslab.ece.ntua.gr | 20110617 ∼ okeanos Project � Goal: Production quality IaaS � working Alpha in coming month � working Alpha in coming month � A jigsaw puzzle of many pieces � Presentation focuses on software infrastructure � Synnefo � custom cloud management software to power ∼ okeanos � custom cloud management software to power ∼ okeanos � Google Ganeti backend � Current & future goals for Compute, Network, Storage 9 th TF-Storage Meeting Greek Research and Technology Network 56
vkoukis@cslab.ece.ntua.gr | 20110617 Outline � ∼ okeanos IaaS � Compute � Synnefo architecture � Synnefo architecture � Network � � Storage � Upcoming goals 9 th TF-Storage Meeting Greek Research and Technology Network 57
vkoukis@cslab.ece.ntua.gr | 20110617 IaaS – Compute (1) � Virtual Machines � powered by KVM � powered by KVM • Linux and Windows guests, on Debian hosts � Google Ganeti for VM cluster management � accessible by the end-user over the Web or accessible by the end user over the Web or programmatically (OpenStack Compute v1.1) � Initial target is longer term persistent VMs � Initial target is longer-term, persistent VMs (students, University IT depts) 9 th TF-Storage Meeting Greek Research and Technology Network 58
vkoukis@cslab.ece.ntua.gr | 20110617 Software Stack REST API REST API Synnefo Ganeti KVM 9 th TF-Storage Meeting Greek Research and Technology Network 59
vkoukis@cslab.ece.ntua.gr | 20110617 Software Stack REST API REST API Multiple users, multiple resources lti l Synnefo Multiple VMs Multiple VMs Ganeti on cluster Si Single l KVM VM 9 th TF-Storage Meeting Greek Research and Technology Network 60
vkoukis@cslab.ece.ntua.gr | 20110617 Iaas – Compute (2) � User has full control over own VMs � Create C t • Select # CPUs, RAM, System Disk • OS selection from pre-defined Images • popular Linux distros (Fedora Debian Ubuntu) popular Linux distros (Fedora, Debian, Ubuntu) • Windows Server 2008 R2 � Start, Shutdown, Reboot, Destroy � Out-of-Band console over VNC for troubleshooting � Out of Band console over VNC for troubleshooting 9 th TF-Storage Meeting Greek Research and Technology Network 61
vkoukis@cslab.ece.ntua.gr | 20110617 IaaS – Compute (3) � REST API for VM management � OpenStack Compute v1.1 compatible O St k C t 1 1 tibl � 3rd party tools and client libraries p y � custom extensions for yet-unsupported functionality � Python & Django implementation � Full featured UI in JS/jQuery � Full-featured UI in JS/jQuery � UI is just another API client j � All UI operations happen over the API 9 th TF-Storage Meeting Greek Research and Technology Network 62
vkoukis@cslab.ece.ntua.gr | 20110617 Why Ganeti? � No need to reinvent the wheel � S � Scalable, proven software infrastructure l bl ft i f t t � Built with reliability and redundancy in mind � Combines open components (KVM, LVM, DRBD) � Well-maintained, readable code W ll i i d d bl d � VM cluster management in production is serious g p business � reliable VM control, VM migrations, resource allocation � handling node downtime, software upgrades handling node downtime, software upgrades 9 th TF-Storage Meeting Greek Research and Technology Network 63
vkoukis@cslab.ece.ntua.gr | 20110617 Why Ganeti? � GRNET already has long experience with Ganeti � provides ∼ 280 VMs to NOCs through ViMa service id 280 VM t NOC th h ViM i � involved in development, contributing patches upstream p g p p � Build on existing know-how for ∼ okeanos � Common backend, common fixes � reuse of experience and operational procedures � reuse of experience and operational procedures � simplified, less error-prone deployment 9 th TF-Storage Meeting Greek Research and Technology Network 64
vkoukis@cslab.ece.ntua.gr | 20110617 Outline � ∼ okeanos IaaS � Compute � Synnefo architecture � Synnefo architecture � Network � � Storage � Upcoming goals 9 th TF-Storage Meeting Greek Research and Technology Network 65
vkoukis@cslab.ece.ntua.gr | 20110617 Synnefo deployment Web Server REST API DB DB SQL API Server api i aai i SQL RAPI RAPI Logic snf-dispatcher Ganeti Queue M Master t Ganeti node snf-gnt-eventd KVM … snf-gnt-hook 9 th TF-Storage Meeting Greek Research and Technology Network 66
vkoukis@cslab.ece.ntua.gr | 20110617 Synnefo deployment Web Server ui REST API DB DB SQL API Server api i aai i SQL RAPI RAPI Logic snf-dispatcher Ganeti Queue M Master t Ganeti node snf-gnt-eventd KVM … snf-gnt-hook 9 th TF-Storage Meeting Greek Research and Technology Network 67
vkoukis@cslab.ece.ntua.gr | 20110617 Asynchronous design � DB contains All state needed to handle API queries � no need to reach the backend � Ganeti GetInstanceInfo() is a proper job, too slow � Two distinct paths effect and update � Two distinct paths, effect and update � Effect changes to VMs � when servicing API requests to modify VM state � issue commands to Ganeti backend, over RAPI issue commands to Ganeti backend, over RAPI � ACK reception of request to user � Update DB, when interesting things happen U d t DB h i t ti thi h � user or admin initiated � Queue notifications to Message Queue, over AMQP 9 th TF-Storage Meeting Greek Research and Technology Network 68
vkoukis@cslab.ece.ntua.gr | 20110617 Synnefo deployment Web Server REST API DB DB SQL API Server SQL RAPI RAPI Logic snf-dispatcher Ganeti Queue M Master t Ganeti node snf-gnt-eventd KVM … snf-gnt-hook 9 th TF-Storage Meeting Greek Research and Technology Network 69
vkoukis@cslab.ece.ntua.gr | 20110617 Synnefo deployment Web Server ui REST API DB DB SQL API Server api i aai i SQL RAPI RAPI Logic snf-dispatcher Ganeti Queue M Master t Ganeti node snf-gnt-eventd KVM … snf-gnt-hook 9 th TF-Storage Meeting Greek Research and Technology Network 70
vkoukis@cslab.ece.ntua.gr | 20110617 The “effect” Path � Reception of API request to modify VM state (e.g., PUT /servers over HTTP) PUT /servers over HTTP) � API enforces access rights and policy � Ganeti knows no cloud users or access rights � Need to translate from Openstack Compute to backend � Need to translate from Openstack Compute to backend ops (e.g., CreateInstance()) � Asynchronous request processing � Return HTTP 202 Accepted � Return HTTP 202 Accepted � it’s up to the API client to poll for completion 9 th TF-Storage Meeting Greek Research and Technology Network 71
vkoukis@cslab.ece.ntua.gr | 20110617 Synnefo deployment Web Server REST API DB DB SQL API Server SQL RAPI RAPI Logic snf-dispatcher Ganeti Queue M Master t Ganeti node snf-gnt-eventd KVM … snf-gnt-hook 9 th TF-Storage Meeting Greek Research and Technology Network 72
vkoukis@cslab.ece.ntua.gr | 20110617 Synnefo deployment Web Server ui REST API DB DB SQL API Server api i aai i SQL RAPI RAPI Logic snf-dispatcher Ganeti Queue M Master t Ganeti node snf-gnt-eventd KVM … snf-gnt-hook 9 th TF-Storage Meeting Greek Research and Technology Network 73
Recommend
More recommend