GRNETDeIC konference 20121 20121112 Building a real-world public cloud from the ground up Vangelis Koukis Technical.

Slides:



Advertisements
Similar presentations
Delivering IaaS for the Greek Academic and Research Community
Advertisements

Greek Research and Technology Network IEEE CloudCom Delivering IaaS for the Greek Academic and Research Community Vangelis.
Cloud computing is used to describe a variety of computing concepts that involve a large number of computers connected through a real-time communication.
GRNETAWS Usergroup GR Building a real-world public cloud from the ground up Vangelis Koukis Technical Coordinator,
Greek Research and Technology Network Africa Arabia ROC All Hands Meeting – Open Day (CSIR Meraka) 1 Synnefo – Open Source IAAS Christos Kanellopoulos,
Gold Sponsors Bronze Sponsors Silver Sponsors Taking SharePoint to the Cloud Aaron Saikovski Readify – Software Solution Specialist.
System Center 2012 R2 Overview
What’s New: Windows Server 2012 R2 Tim Vander Kooi Systems Architect
Cloud Computing Imranul Hoque. Today’s Cloud Computing.
An Approach to Secure Cloud Computing Architectures By Y. Serge Joseph FAU security Group February 24th, 2011.
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 6 2/13/2015.
Apache CloudStack Evolution Proposal Alex Huang Software Architect, Citrix Systems.
© 2009 IBM Corporation ® IBM Software Group Introduction to Cloud Computing Vivek C Agarwal IBM India Software Labs.
Dr. Ognjen Prnjat European and Regional eInfrastructure management Greek Research and Technology Network Oceanos and synnefo - clouds.
Microsoft Load Balancing and Clustering. Outline Introduction Load balancing Clustering.
Cisco and OpenStack Lew Tucker VP/CTO Cloud Computing Cisco Systems,
Cloud Computing Why is it called the cloud?.
A Brief Overview by Aditya Dutt March 18 th ’ Aditya Inc.
Opensource for Cloud Deployments – Risk – Reward – Reality
Yury Kissin Infrastructure Consultant Storage improvements Dynamic Memory Hyper-V Replica VM Mobility New and Improved Networking Capabilities.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
INTRODUCTION TO CLOUD COMPUTING CS 595 LECTURE 7 2/23/2015.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Windows Azure Conference 2014 Running Docker on Windows Azure.
Cloud Computing. What is Cloud Computing? Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable.
+ CS 325: CS Hardware and Software Organization and Architecture Cloud Architectures.
Ceph Storage in OpenStack Part 2 openstack-ch,
M.A.Doman Short video intro Model for enabling the delivery of computing as a SERVICE.
Presented by: Sanketh Beerabbi University of Central Florida COP Cloud Computing.
Windows Azure Conference 2014 Deploy your Java workloads on Windows Azure.
608D CloudStack 3.0 Omer Palo Readiness Specialist, WW Tech Support Readiness May 8, 2012.
The GRNET Cloud View and Strategy Panos Louridas Greek Research and Technology Network.
COMS E Cloud Computing and Data Center Networking Sambit Sahu
Eucalyptus: An Open-source Infrastructure for Cloud Computing Rich Wolski Eucalyptus Systems Inc.
From Virtualization Management to Private Cloud with SCVMM 2012 Dan Stolts Sr. IT Pro Evangelist Microsoft Corporation
Eucalyptus 3 (&3.1). Eucalyptus 3 Product Overview – Govind Rangasamy.
SC2012 Infrastructure Components Management Justin Cook (Data # 3) Principal Consultant, Systems Management Noel Fairclough (Data # 3) Consultant, Systems.
Visual Studio Windows Azure Portal Rest APIs / PS Cmdlets US-North Central Region FC TOR PDU Servers TOR PDU Servers TOR PDU Servers TOR PDU.
Microsoft Management Seminar Series SMS 2003 Change Management.
EXPOSING OVS STATISTICS FOR Q UANTUM USERS Tomer Shani Advanced Topics in Storage Systems Spring 2013.
CoprHD and OpenStack Ideas for future.
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
Web Technologies Lecture 13 Introduction to cloud computing.
Vignesh Ravindran Sankarbala Manoharan. Infrastructure As A Service (IAAS) is a model that is used to deliver a platform virtualization environment with.
GRNET Cloud Services and Collaborations Kostas Koumantaros {kkoum at grnet.gr}
EGI-InSPIRE RI EGI Webinar EGI-InSPIRE RI Porting your application to the EGI Federated Cloud 17 Feb
Lattelecom | Cloud Pakalpojums. 2 | Lattelecom Cloud Platform: Competitive Advantages 3 Hardware infrastructure User Control Panel Customer self-service.
Deploying Highly Available SQL Server in Windows Azure A Presentation and Demonstration by Microsoft Cluster MVP David Bermingham.
E-commerce Architecture Ayşe Başar Bener. Client Server Architecture E-commerce is based on client/ server architecture –Client processes requesting service.
SCI-BUS is supported by the FP7 Capacities Programme under contract nr RI CloudBroker usage Zoltán Farkas MTA SZTAKI LPDS
Amazon Web Services. Amazon Web Services (AWS) - robust, scalable and affordable infrastructure for cloud computing. This session is about:
St. Petersburg, 2016 Openstack Disk Storage vs Amazon Disk Storage Computing Clusters, Grids and Cloud Erasmus Mundus Master Program in PERCCOM Author:
UFIT Infrastructure Self-Service. Service Offerings And Changes Virtual Machine Hosting Self service portal Virtual Machine Backups Virtual Machine Snapshots.
NIIF Cloud Infrastructure and Services EGI Technical Forum September 20, 2011 Lyon, France Ivan Marton.
Course: Cluster, grid and cloud computing systems Course author: Prof
Chapter 6: Securing the Cloud
The advances in IHEP Cloud facility
StratusLab Final Periodic Review
StratusLab Final Periodic Review
OpenStack Ani Bicaku 18/04/ © (SG)² Konsortium.
GGF15 – Grids and Network Virtualization
Cloud Computing Dr. Sharad Saxena.
20409A 7: Installing and Configuring System Center 2012 R2 Virtual Machine Manager Module 7 Installing and Configuring System Center 2012 R2 Virtual.
HC Hyper-V Module GUI Portal VPS Templates Web Console
Managing Services with VMM and App Controller
* Introduction to Cloud computing * Introduction to OpenStack * OpenStack Design & Architecture * Demonstration of OpenStack Cloud.
OpenStack Summit Berlin – November 14, 2018
PerformanceBridge Application Suite and Practice 2.0 IT Specifications
Client/Server Computing and Web Technologies
Containers on Azure Peter Lasne Sr. Software Development Engineer
Presentation transcript:

GRNETDeIC konference Building a real-world public cloud from the ground up Vangelis Koukis Technical Coordinator,  okeanos Project

Greek Research and Technology NetworkDeIC konference Outline   okeanos ?  Rationale  Design – Platform - Features  Unity - Automation  Opensource – Upcoming

Greek Research and Technology NetworkDeIC konference What is  okeanos? ‘okeanos’ is Greek for ‘ocean’. Oceans capture, store and deliver energy, oxygen and life around the planet.

GRNETDeIC konference Simplicity

GRNETDeIC konference

GRNETDeIC konference Compute Network Storage Security Virtual Machines Virtual Ethernets Virtual Disks Virtual Firewalls

GRNETDeIC konference Flexibility

GRNETDeIC konference

GRNETDeIC konference x 2x5x 8x

Greek Research and Technology NetworkDeIC konference  okeanos service  Goal: Production-quality IaaS  Beta in Dec, current Alpha: >1600 VMs / >1000 users  Target group: GRNET’s customers  direct: IT depts of connected institutions  indirect: university students, researchers in academia  Users manage resources over  a simple, elegant UI, or  a REST API, for full programmatic control

Greek Research and Technology NetworkDeIC konference  okeanos features  Compute/Network Service: Cyclades  File Storage Service: Pithos+  Image Service: Plankton  Identity Service: Astakos  Volume Service: Archipelago

GRNETDeIC konference Rationale

Greek Research and Technology NetworkDeIC konference How it all started  Need for easy, secure access to GRNET’s datacenters  User friendliness, simplicity  Scalable to the thousands  #VMs, TBs, users (Pithos:  10k)  running within GRNET’s AAI Federation  Resell or build your own?  IaaS cloud provider, vendor, or own infrastructure?  It all depends on your needs

Greek Research and Technology NetworkDeIC konference Build on commercial IaaS?  Commercial IaaS  Amazon EC2 not an end-user service  Need to develop custom UI, AAI layers  Vendor lock-in  Unsuitable for IT depts persistent, long-term servers custom networking requirements  GRNET has invested heavily in its core network  > 8000km of dark fiber

Greek Research and Technology NetworkDeIC konference Bring vendor into datacenter?  Hypervisor lock-in  Is a turn-key solution suitable for a public cloud?  Building public clouds is an ongoing process  Manageable by GRNET’s operation  Integrated into the rest of the infrastructure  Scaling to thousands of users  Build on existing know-how  Gain know-how, build own IaaS  reuse for own services

Greek Research and Technology NetworkDeIC konference What about opensource?  OpenStack, Eucalyptus, OpenNebula  Need a mature opensource core to build around  Maturity, production-readiness?  proven in production environments, predictable  Extensibility?  Flexibility?  Upgradeability, maintainability?

GRNETDeIC konference Design

Greek Research and Technology NetworkDeIC konference  okeanos design decisions  Reuse existing components  Build on Google Ganeti  target commodity hardware  release to the community as opensource

Greek Research and Technology NetworkDeIC konference  okeanos design principles  No need to make the world  No need to support everything  Service developed and maintained by  people  Start from the architecture…  …then discover, combine, reuse the right components  And for everything that’s not already available  Do it yourself!

GRNETDeIC konference

Greek Research and Technology NetworkDeIC konference Jigsaw puzzle  Synnefo  custom cloud management software to power  okeanos  Google Ganeti backend  VM cluster management: physical nodes, VMs, migrations  OpenStack APIs: Compute API v1.1, Object Storage API  with custom extensions whenever necessary  Then everything comes together  UI, Networking, Images, Storage, Monitoring, Identity management, Accounting, Billing, Clients, Helpdesk

Greek Research and Technology NetworkDeIC konference Why Ganeti?  No need to reinvent the wheel  Scalable, proven software infrastructure  Built with reliability and redundancy in mind  Combines open components (KVM, LVM, DRBD)  Well-maintained, readable code  VM cluster management in production is serious business  reliable VM control, VM migrations, resource allocation  handling node downtime, software upgrades

Greek Research and Technology NetworkDeIC konference Why Ganeti?  GRNET already had long experience with Ganeti  provides  280 VMs to NOCs through the ViMa service  involved in development, contributing patches upstream  Build on existing know-how for  okeanos  Common backend, common fixes  reuse of experience and operational procedures  simplified, less error-prone deployment

GRNETDeIC konference Platform

Greek Research and Technology NetworkDeIC konference Software Stack Multiple users, multiple resources Multiple VMs on cluster Single VM Synnefo Ganeti KVM REST API

Greek Research and Technology NetworkDeIC konference Platform Design Web ClientCLI ClientWeb Client 2 GRNET datacenter Debian Virtual Hardware OpenStack Compute API v1.1 Direct Outof Band Access Synnefo cloud management software Google Ganeti KVM GRNET Proprietary

GRNETDeIC konference Features

Greek Research and Technology NetworkDeIC konference Virtual Machine Actions My_Windows_desktop Shutdown Reboot Start Console Destroy

Greek Research and Technology NetworkDeIC konference IaaS – Compute (1)  Virtual Machines  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 programmatically (OpenStack Compute v1.1)

Greek Research and Technology NetworkDeIC konference IaaS – Compute (2)  User has full control over own VMs  Create Select # CPUs, RAM, System Disk OS selection from pre-defined or custom Images popular Linux distros (Fedora, Debian, Ubuntu) Windows Server 2008 R2  Start, Shutdown, Reboot, Destroy  Out-of-Band console over VNC for troubleshooting

Greek Research and Technology NetworkDeIC konference IaaS – Compute (3)  REST API for VM management  OpenStack Compute v1.1 compatible  3rd party tools and client libraries  custom extensions for yet-unsupported functionality  Python & Django implementation  Full-featured UI in JS/jQuery  UI is just another API client  All UI operations happen over the API

Greek Research and Technology NetworkDeIC konference IaaS – Network (Virtual Ethernets) Internet Private Network 1 Private Network 2Private Network 3

Greek Research and Technology NetworkDeIC konference IaaS – Network - Functionality  Dual IPv4/IPv6 connectivity for each VM  Easy, platform-provided firewalling  Array of pre-configured firewall profiles  Or roll-your-own firewall inside VM  Multiple private, virtual L2 networks  Construct arbitrary network topologies  e.g., deploy VMs in multi-tier configurations  Exported all the way to the API and the UI

GRNETDeIC konference Unity

Greek Research and Technology NetworkDeIC konference Spawn Freeze Images Ubuntu my own Ubuntu

Greek Research and Technology NetworkDeIC konference Custom Images: snf-image  Untrusted images  Host cannot touch user-provided data  Resize fs, change hostname, change passwords, inject files  Split design  snf-image-host  snf-image-helper  All customization in helper VM

Greek Research and Technology NetworkDeIC konference  OpenStack Object Storage API  Block storage  Content-based addressing for blocks  Every file is a collection of blocks  Web-based, command-line, and native clients  Synchronization, deduplication  An integral part of  okeanos  User files, Image registry for VM Images  Goal: use common backend with Archipelago

Greek Research and Technology NetworkDeIC konference Spawn Freeze Images Ubuntu my own Ubuntu

Greek Research and Technology NetworkDeIC konference Clone Snapshot Images  Storage Ubuntu root Ubuntu + user data

Greek Research and Technology NetworkDeIC konference Images – Golden Image golden Debian

Greek Research and Technology NetworkDeIC konference IaaS – Storage

Greek Research and Technology NetworkDeIC konference Archipelago RADOS Object Storage nodes IaaS – Storage Maps Volume Composer object I/O Monitor nodes Storage

Greek Research and Technology NetworkDeIC konference RADOS Storage nodes IaaS – Storage Maps Volume Composer object I/O Monitor nodes

Greek Research and Technology NetworkDeIC konference IaaS – Storage (1)  First-phase deployment  System-provided and custom user Images  Redundant storage based on DRBD  VMs survive physical node downtime or failure  Currently under testing  Reliable distributed storage over RADOS  Combined with custom software for snapshotting, cloning  Dynamic virtual storage volumes

Greek Research and Technology NetworkDeIC konference IaaS – Storage (2)  Multi-tier storage architecture  Dedicated Storage Nodes (SSD, SAS, and SATA storage)  OSDs, e.g., for RADOS  Custom storage layer: Archipelago  manages snapshots, creates clones over block pools  OS Images held as snapshots  VMs created as clones of snapshots

GRNETDeIC konference Integration

Greek Research and Technology NetworkDeIC konference

Greek Research and Technology NetworkDeIC konference

Greek Research and Technology NetworkDeIC konference

Greek Research and Technology NetworkDeIC konference

Greek Research and Technology NetworkDeIC konference Support services  Identity: Astakos  Provides the user base for  okeanos  Once authenticated, the user retrieves a common auth token for programmatic access

GRNETDeIC konference Automation

Greek Research and Technology NetworkDeIC konference /kamaki $./kamaki Usage: kamaki [options] … --api=API API can be either openstack or synnefo --url=URL API URL --token=TOKEN use token TOKEN … Commands: flavor info get flavor details flavor list list flavors … image create create image image delete delete image $./kamaki server shutdown url= --token= db2…

Greek Research and Technology NetworkDeIC konference /kamaki $ ipython In [1]: from kamaki.client import Client In [2]: c = Client(' " db2…") In [3]: c.list_flavors() … In [4]: i = c.list_images() In [5]: i[5] {u'created': u' T00:00:00+00:00', u'id': 7, u'metadata': {u'values': {u'OS': u'windows', u'size': u'11000'}}, u'name': u'Windows', u'progress': 100, u'status': u'ACTIVE', u'updated': u' T14:47:12+00:00'} In [6]: c.create_server('mywin1', 3, 5)

GRNETDeIC konference Sights

Greek Research and Technology NetworkDeIC konference Live Demo  Prepare and upload Image from local template VM  Spawn compute cluster to run MPI app  Make local modifications and repeat  … What if it was over a 3G connection?  Time needed to upload 1GB Image file?  Time needed to prepare and spawn virtual nodes?

GRNETDeIC konference Internals

Greek Research and Technology NetworkDeIC konference Ganeti Master Queue Deployment DB Ganeti node KVM … Web Server REST API Logic RAPI SQL snf-gnt-eventd snf-gnt-hook snf-dispatcher API Server apiaai SQL ui

Greek Research and Technology NetworkDeIC konference Upcoming goals  Credit-based resource allocation  Abstract away the Ganeti backend, replace with backend connector behind the MQ  Release to community as reference implementation of OpenStack Compute v1.1  Support live modification of VMs in Ganeti  Snapshots, clones in storage layer  Dramatic decrease in VM initialization time  Support workloads with 100s of ephemeral VMs e.g. for scientific computation, MPI jobs

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference

GRNETDeIC konference Upcoming

Greek Research and Technology NetworkDeIC konference Current and Upcoming features  Now: Alpha2  Common user base, custom user images on Pithos+  short-term: Synnefo v0.12, Beta  Ultra-lightweight VMs on Archipelago with RADOS backend  medium-term  Volumes: clonable / snapshottable / attachable disks  Network and storage hotplugging  Upcoming beta in fully populated datacenter

Greek Research and Technology NetworkDeIC konference Opensource  Synnefo: Cyclades / Pithos+ / Astakos     kamaki  pip install or apt-get install everything!

Greek Research and Technology NetworkDeIC konference Thank You! Questions?

Greek Research and Technology NetworkDeIC konference 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  Effect changes to VMs  when servicing API requests to modify VM state  issue commands to Ganeti backend, over RAPI  ACK reception of request to user  Update DB, when interesting things happen  user or admin initiated  Queue notifications to Message Queue, over AMQP

Greek Research and Technology NetworkDeIC konference Ganeti Master Queue Synnefo deployment DB Ganeti node KVM … Web Server REST API Logic RAPI SQL snf-gnt-eventd snf-gnt-hook snf-dispatcher API Server apiaai SQL ui

Greek Research and Technology NetworkDeIC konference The “effect” Path  Reception of API request to modify VM state (e.g., 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 ops (e.g., CreateInstance())  Asynchronous request processing  Return HTTP 202 Accepted  it’s up to the API client to poll for completion

Greek Research and Technology NetworkDeIC konference Ganeti Master Queue Synnefo deployment DB Ganeti node KVM … Web Server REST API Logic RAPI SQL snf-gnt-eventd snf-gnt-hook snf-dispatcher API Server apiaai SQL ui

Greek Research and Technology NetworkDeIC konference The “update” path  May run at any time  Completely decoupled from “effect” path  Design goal:  Ganeti admins free to bypass frontend  Synnefo adapts  Synnefo logic triggered on backend events  Ganeti operation progressing in the queue  Synnefo hook running inside Ganeti Hooks run at various phases in a VM’s lifecycle

Greek Research and Technology NetworkDeIC konference Ganeti Master Queue Synnefo deployment DB Ganeti node KVM … Web Server REST API Logic RAPI SQL snf-gnt-eventd snf-dispatcher ui API Server apiaai SQL snf-gnt-hook

Greek Research and Technology NetworkDeIC konference The Ganeti event daemon  Ganeti master manages job queue  Jobs pass Queued, Waiting, Running, end up in Canceled, Success, Error.  Need a way for Synnefo to monitor job progress  Synnefo-specific solution: Ganeti event daemon  Passively monitor the Ganeti job queue  Notifications over AMQP on job progress  Synnefo logic listens to Message Queue, updates DB  inotify()- based mechanism, no code changes to Ganeti

Greek Research and Technology NetworkDeIC konference The Synnefo hook in Ganeti  Different phases in a VM’s lifecycle  { pre, post } – { add, start, stop, reboot, modify }  Run Synnefo-specific hook in post-*  Pushes VM configuration notifications to MQ  e.g., NIC setup

Greek Research and Technology NetworkDeIC konference IaaS – Network - Implementation  Custom modifications to Ganeti  IP pool management for the public network  Custom-written DHCP server over NFQUEUE  Custom interface handling scripts  Enforce VM networking configuration  Private Networks  Alpha: pre-provisioned bridges to 802.1Q VLANs  Later on: MAC-prefix based filtering

Greek Research and Technology NetworkDeIC konference Ganeti Master Queue Synnefo deployment DB Ganeti node KVM … Web Server REST API Logic RAPI SQL snf-gnt-eventd snf-dispatcher ui API Server apiaai SQL snf-gnt-hook

Greek Research and Technology NetworkDeIC konference Reconciliation with Ganeti  What if the MQ is down, and messages are lost?  Ganeti is the Single Source of Truth for VM state  Reconcile DB state asynchronously  On success notification for a Ganeti GetInstanceInfo() op  Triggered periodically, e.g., using cron  or even by the administrator, running gnt-instance info manually