SlideShare a Scribd company logo
1 of 15
Andy Bavier Jim Chen Yvonne Coady
Matt Hemmings Joe Mambretti Rick McGeer Sean McGeer
Jude Nelson Patrick O’Connell Glenn Ricart
Ulrike Stege Stephen Tredger
Ignite Kickoff, January 26, 2016
GEE Goal
• Rapid Deployment of Distributed Applications on a
Continent-Wide and Global Basis
– 5 minutes to “Hello, World” across the infrastructure
– 15 minutes for deployment of a substantial application
• Efficient use of distributed, shared infrastructure
• Provision of foundational tools
– Orchestration, Messaging, Wide-Area Storage
• Easy extension across underlying infrastructures –
designed for rapid expansion
– First Deployment on GENI
– Embed in other infrastructures/serve as cross-
infrastructure platform
GEE Now And In Future
Now Future (like, Tomorrow)
x
Gee
Node
Gee
Node
Gee
Node
Gee
Node
Gee
Node
GENI
x x
x x
GENI
SAVI
Chameleon
Gee
Node
Gee
Node
Gee
Node
Gee
Node
CloudLab
Gee
Node
Gee
Node
Gee
Node
Gee
Node
GEE Fundamental Concepts
• Containers as fundamental execution
environment
– Very lightweight units of isolation
– Extremely rapid deployment
– Highly Efficient use of resources
– Easy for sites to provision and allow
• Leverage Cloud ecosystem and tools
– FOSS orchestration, messaging system
– Users benefit from broad community technology
contributions, educational materials, etc
Containers vs VMs
VMs
• Isolated Environment
• Single-service execution
environment
• Per-VM guest OS
• One VM/core
• Examples: Xen, KVM,…
Containers
• Isolated Environment
• Single-service execution
environment
• Single OS
• 10-20 containers/core
• Examples: Vservers, LXC,
BSD Jails
Ex: GEE Portal
• GEE Portal (http://www.gee-project.org) runs
in a container system on a VM
– Each instance is two containers (webserver +
scripts, portal DB)
– Currently running three instances
• Production Server, Dev Server, Ignite Feature Dev
Server
• All in one VM! Before containers, we’d have needed 6.
• A GEE “slicelet” is a set of containers
connected by a private network
• With slicelets, can easily deploy network
services on GENI and other IaaS
– “Five minute rule” for running Hello World
– Use a custom image in your slicelet
• Bootstrap a set of building-block services
– Running inside other GEE slicelets
– Deploy in your slicelet using orchestration tools
GEE Basic Tools
•
– Automate application deployment inside LXC
– Image hosting on Docker Hub
•
– Intuitive IT configuration and automation
– Declarative (YAML) instead of imperative
• Fabric
– Python wrapper around parallel SSH
– Create CLI commands that are remotely executed
FAD Architecture
Web
server DB
Event
daemon
sliceletslicelet slicelet
Docker
daemon
GEE
VM
sliceletslicelet slicelet
Docker
daemon
GEE
VM
. . .
GEE
portal
Ansible
GEE private network
Fabric
Typical GEE Use Scenario
• Log in to GEE Portal with GENI credentials
• Allocate a slice
• When Slice is “Ready” (usually < 5 minutes)
download tarball with
– ssh key for authentication
– ssh configuration file
– Ansible hosts file and pre-written “playbooks”
– fabfile with configuration and pre-written commands
• Write/run fabric/Ansible code to load, configure,
deploy application on nodes
What This Means To A User
• Two-minute allocation of “VMs” across the
continent, using only a web browser
• Single-pane-of-glass control of continent-wide
service from a standard Unix/Linux/Cygwin
shell
• Minimal software to install (Ansible and/or
Fabric)
Example: Ignite Visualizer Deployment
• Distributed Two Web Servers, Special-Purpose
DB Engine, 11 GB database
• Installed 10 packages
• Total time: 15 minutes
• Total code: 20 lines of Ansible script
Current Deployment
GEE Services: In Progress
• GEE Storage Service
– Leverages Syndicate storage service
– UNIX file interface on top of a CDN
• GEE Reverse Proxy Service
– Everyone wants port 80
• Lively Web on GEE
• Custom slicelet images on GEE
– Now beta
• Five minutes to “Hello World!” on GENI
• Implementation leverages modern tools
– FAD: Fabric, Ansible, Docker
• Set of building block services
– Storage, messaging, reverse proxy, Lively
http://gee-project.org

More Related Content

What's hot

What's hot (20)

Kolla talk at OpenStack Summit 2017 in Sydney
Kolla talk at OpenStack Summit 2017 in SydneyKolla talk at OpenStack Summit 2017 in Sydney
Kolla talk at OpenStack Summit 2017 in Sydney
 
Pairs OpenStack Summit Summary
Pairs OpenStack Summit SummaryPairs OpenStack Summit Summary
Pairs OpenStack Summit Summary
 
Building Digital Transaction Systems in the new Banking World
Building Digital Transaction Systems in the new Banking WorldBuilding Digital Transaction Systems in the new Banking World
Building Digital Transaction Systems in the new Banking World
 
DockerCon EU 2015: Monitoring Docker
DockerCon EU 2015: Monitoring DockerDockerCon EU 2015: Monitoring Docker
DockerCon EU 2015: Monitoring Docker
 
DockerCon EU 2015: Docker Universal Control Plane (Gordon's Special Session)
DockerCon EU 2015: Docker Universal Control Plane (Gordon's Special Session)DockerCon EU 2015: Docker Universal Control Plane (Gordon's Special Session)
DockerCon EU 2015: Docker Universal Control Plane (Gordon's Special Session)
 
DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...
DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...
DockerCon EU 2015: Speed Up Deployment: Building a Distributed Docker Registr...
 
OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015OpenStack 101 - All Things Open 2015
OpenStack 101 - All Things Open 2015
 
Docker Online Meetup #30: Docker Trusted Registry 1.4.1
Docker Online Meetup #30: Docker Trusted Registry 1.4.1Docker Online Meetup #30: Docker Trusted Registry 1.4.1
Docker Online Meetup #30: Docker Trusted Registry 1.4.1
 
kolla
kollakolla
kolla
 
DockerCon SF 2015: Getting Started w/ Docker
DockerCon SF 2015: Getting Started w/ DockerDockerCon SF 2015: Getting Started w/ Docker
DockerCon SF 2015: Getting Started w/ Docker
 
Containers & Security
Containers & SecurityContainers & Security
Containers & Security
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 
Building Big Architectures
Building Big ArchitecturesBuilding Big Architectures
Building Big Architectures
 
Understanding the Docker ecosystem
Understanding the Docker ecosystemUnderstanding the Docker ecosystem
Understanding the Docker ecosystem
 
Deploying and managing container-based applications with OpenStack and Kubern...
Deploying and managing container-based applications with OpenStack and Kubern...Deploying and managing container-based applications with OpenStack and Kubern...
Deploying and managing container-based applications with OpenStack and Kubern...
 
OpenStack Murano introduction
OpenStack Murano introductionOpenStack Murano introduction
OpenStack Murano introduction
 
Build your own private Cloud environment
Build your own private Cloud environmentBuild your own private Cloud environment
Build your own private Cloud environment
 
Containerize All the (Multi-Platform) Things! by Phil Estes
Containerize All the (Multi-Platform) Things! by Phil EstesContainerize All the (Multi-Platform) Things! by Phil Estes
Containerize All the (Multi-Platform) Things! by Phil Estes
 
Kolla - containerizing the cloud itself
Kolla - containerizing the cloud itselfKolla - containerizing the cloud itself
Kolla - containerizing the cloud itself
 
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 SummitOpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
OpenStack in an Ever Expanding World of Possibilities - Vancouver 2015 Summit
 

Similar to The Geni Experiment Engine

August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
Howard Greenberg
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyond
santosh007
 
Hadoop-Automation-Tool_RamkishorTak
Hadoop-Automation-Tool_RamkishorTakHadoop-Automation-Tool_RamkishorTak
Hadoop-Automation-Tool_RamkishorTak
Ram Kishor Tak
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
Ruslan Meshenberg
 

Similar to The Geni Experiment Engine (20)

DEVNET-1169 CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...
DEVNET-1169	CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...DEVNET-1169	CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...
DEVNET-1169 CI/CT/CD on a Micro Services Applications using Docker, Salt & Ni...
 
Fluo CICD OpenStack Summit
Fluo CICD OpenStack SummitFluo CICD OpenStack Summit
Fluo CICD OpenStack Summit
 
JBCNConf: jBPM & Vert.x Reactive and Polyglot BPM
JBCNConf: jBPM & Vert.x Reactive and Polyglot BPMJBCNConf: jBPM & Vert.x Reactive and Polyglot BPM
JBCNConf: jBPM & Vert.x Reactive and Polyglot BPM
 
Sanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticiansSanger, upcoming Openstack for Bio-informaticians
Sanger, upcoming Openstack for Bio-informaticians
 
Flexible compute
Flexible computeFlexible compute
Flexible compute
 
Deploying PHP apps on the cloud
Deploying PHP apps on the cloudDeploying PHP apps on the cloud
Deploying PHP apps on the cloud
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's WorkbenchAugust Webinar - Water Cooler Talks: A Look into a Developer's Workbench
August Webinar - Water Cooler Talks: A Look into a Developer's Workbench
 
AWS re:Invent 2016: Netflix: Container Scheduling, Execution, and Integration...
AWS re:Invent 2016: Netflix: Container Scheduling, Execution, and Integration...AWS re:Invent 2016: Netflix: Container Scheduling, Execution, and Integration...
AWS re:Invent 2016: Netflix: Container Scheduling, Execution, and Integration...
 
Smart Platform Infrastructure with AWS
Smart Platform Infrastructure with AWSSmart Platform Infrastructure with AWS
Smart Platform Infrastructure with AWS
 
Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications Latest (storage IO) patterns for cloud-native applications
Latest (storage IO) patterns for cloud-native applications
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)
 
Dev Ops Geek Fest: Automating the ForgeRock Platform
Dev Ops Geek Fest: Automating the ForgeRock PlatformDev Ops Geek Fest: Automating the ForgeRock Platform
Dev Ops Geek Fest: Automating the ForgeRock Platform
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyond
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
Open shift and docker - october,2014
Open shift and docker - october,2014Open shift and docker - october,2014
Open shift and docker - october,2014
 
Hadoop-Automation-Tool_RamkishorTak
Hadoop-Automation-Tool_RamkishorTakHadoop-Automation-Tool_RamkishorTak
Hadoop-Automation-Tool_RamkishorTak
 
Cont0519
Cont0519Cont0519
Cont0519
 
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix oss   season 2 episode 1 - meetup Lightning talksNetflix oss   season 2 episode 1 - meetup Lightning talks
Netflix oss season 2 episode 1 - meetup Lightning talks
 

More from US-Ignite

More from US-Ignite (20)

Smart Gigabit Community Lighting Round
Smart Gigabit Community Lighting Round Smart Gigabit Community Lighting Round
Smart Gigabit Community Lighting Round
 
NSF PI Meeting presentation on US Ignite - Nishal Mohan
NSF PI Meeting presentation on US Ignite - Nishal MohanNSF PI Meeting presentation on US Ignite - Nishal Mohan
NSF PI Meeting presentation on US Ignite - Nishal Mohan
 
New Smart Gigabit Community 2017 announcement - Nishal Mohan
New Smart Gigabit Community 2017 announcement - Nishal MohanNew Smart Gigabit Community 2017 announcement - Nishal Mohan
New Smart Gigabit Community 2017 announcement - Nishal Mohan
 
RFP announcement for new US Ignite Smart Gigabit Cities - Nishal Mohan
RFP announcement for new US Ignite Smart Gigabit Cities - Nishal MohanRFP announcement for new US Ignite Smart Gigabit Cities - Nishal Mohan
RFP announcement for new US Ignite Smart Gigabit Cities - Nishal Mohan
 
Holograms in Your City: Smart Training, Data Visualization and Communication ...
Holograms in Your City: Smart Training, Data Visualization and Communication ...Holograms in Your City: Smart Training, Data Visualization and Communication ...
Holograms in Your City: Smart Training, Data Visualization and Communication ...
 
Innovation in Gigcity, Chattanooga TN - Ken Hayes
Innovation in Gigcity, Chattanooga TN - Ken HayesInnovation in Gigcity, Chattanooga TN - Ken Hayes
Innovation in Gigcity, Chattanooga TN - Ken Hayes
 
Compute for Cancer - Isaiah Blackburn
Compute for Cancer - Isaiah BlackburnCompute for Cancer - Isaiah Blackburn
Compute for Cancer - Isaiah Blackburn
 
Towards Wireless-Networked Real-Time Augmented Vision - Hongwei Zhang
Towards Wireless-Networked Real-Time Augmented Vision - Hongwei ZhangTowards Wireless-Networked Real-Time Augmented Vision - Hongwei Zhang
Towards Wireless-Networked Real-Time Augmented Vision - Hongwei Zhang
 
The Future of Smart & Connected Communities: Driving Science and Community Im...
The Future of Smart & Connected Communities: Driving Science and Community Im...The Future of Smart & Connected Communities: Driving Science and Community Im...
The Future of Smart & Connected Communities: Driving Science and Community Im...
 
Data-Driven Green Design Case Studies - Dominique Davison
Data-Driven Green Design Case Studies - Dominique DavisonData-Driven Green Design Case Studies - Dominique Davison
Data-Driven Green Design Case Studies - Dominique Davison
 
Innovation in Phoenix: City on the Rise - Dominic Papa
Innovation in Phoenix: City on the Rise - Dominic PapaInnovation in Phoenix: City on the Rise - Dominic Papa
Innovation in Phoenix: City on the Rise - Dominic Papa
 
Preparing an NSF16 610 proposal
Preparing an NSF16 610 proposalPreparing an NSF16 610 proposal
Preparing an NSF16 610 proposal
 
Next Generation Broadband Cities - Lightning Talks
Next Generation Broadband Cities - Lightning  TalksNext Generation Broadband Cities - Lightning  Talks
Next Generation Broadband Cities - Lightning Talks
 
Innovation economy remarks to ignite! january 2016
Innovation economy  remarks to ignite! january 2016Innovation economy  remarks to ignite! january 2016
Innovation economy remarks to ignite! january 2016
 
Harnessing the Power of Data, Technology and Innovation to Unlock Talent
Harnessing the Power of Data, Technology and Innovation to Unlock TalentHarnessing the Power of Data, Technology and Innovation to Unlock Talent
Harnessing the Power of Data, Technology and Innovation to Unlock Talent
 
Kickoff Agenda
Kickoff AgendaKickoff Agenda
Kickoff Agenda
 
2016/01/26 Glenn Ricart - Smart Gigabit Communities
2016/01/26 Glenn Ricart - Smart Gigabit Communities2016/01/26 Glenn Ricart - Smart Gigabit Communities
2016/01/26 Glenn Ricart - Smart Gigabit Communities
 
21 - Smart Gigabit Communities Launch - Madison
21 - Smart Gigabit Communities Launch - Madison21 - Smart Gigabit Communities Launch - Madison
21 - Smart Gigabit Communities Launch - Madison
 
20 - Smart Gigabit Communities Launch - Lafayette, LA
20 - Smart Gigabit Communities Launch - Lafayette, LA20 - Smart Gigabit Communities Launch - Lafayette, LA
20 - Smart Gigabit Communities Launch - Lafayette, LA
 
19 - Smart Gigabit Communities Launch - Flint, Michigan
19 - Smart Gigabit Communities Launch - Flint, Michigan19 - Smart Gigabit Communities Launch - Flint, Michigan
19 - Smart Gigabit Communities Launch - Flint, Michigan
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 

The Geni Experiment Engine

  • 1. Andy Bavier Jim Chen Yvonne Coady Matt Hemmings Joe Mambretti Rick McGeer Sean McGeer Jude Nelson Patrick O’Connell Glenn Ricart Ulrike Stege Stephen Tredger Ignite Kickoff, January 26, 2016
  • 2. GEE Goal • Rapid Deployment of Distributed Applications on a Continent-Wide and Global Basis – 5 minutes to “Hello, World” across the infrastructure – 15 minutes for deployment of a substantial application • Efficient use of distributed, shared infrastructure • Provision of foundational tools – Orchestration, Messaging, Wide-Area Storage • Easy extension across underlying infrastructures – designed for rapid expansion – First Deployment on GENI – Embed in other infrastructures/serve as cross- infrastructure platform
  • 3. GEE Now And In Future Now Future (like, Tomorrow) x Gee Node Gee Node Gee Node Gee Node Gee Node GENI x x x x GENI SAVI Chameleon Gee Node Gee Node Gee Node Gee Node CloudLab Gee Node Gee Node Gee Node Gee Node
  • 4. GEE Fundamental Concepts • Containers as fundamental execution environment – Very lightweight units of isolation – Extremely rapid deployment – Highly Efficient use of resources – Easy for sites to provision and allow • Leverage Cloud ecosystem and tools – FOSS orchestration, messaging system – Users benefit from broad community technology contributions, educational materials, etc
  • 5. Containers vs VMs VMs • Isolated Environment • Single-service execution environment • Per-VM guest OS • One VM/core • Examples: Xen, KVM,… Containers • Isolated Environment • Single-service execution environment • Single OS • 10-20 containers/core • Examples: Vservers, LXC, BSD Jails
  • 6. Ex: GEE Portal • GEE Portal (http://www.gee-project.org) runs in a container system on a VM – Each instance is two containers (webserver + scripts, portal DB) – Currently running three instances • Production Server, Dev Server, Ignite Feature Dev Server • All in one VM! Before containers, we’d have needed 6.
  • 7. • A GEE “slicelet” is a set of containers connected by a private network • With slicelets, can easily deploy network services on GENI and other IaaS – “Five minute rule” for running Hello World – Use a custom image in your slicelet • Bootstrap a set of building-block services – Running inside other GEE slicelets – Deploy in your slicelet using orchestration tools
  • 8. GEE Basic Tools • – Automate application deployment inside LXC – Image hosting on Docker Hub • – Intuitive IT configuration and automation – Declarative (YAML) instead of imperative • Fabric – Python wrapper around parallel SSH – Create CLI commands that are remotely executed
  • 9. FAD Architecture Web server DB Event daemon sliceletslicelet slicelet Docker daemon GEE VM sliceletslicelet slicelet Docker daemon GEE VM . . . GEE portal Ansible GEE private network Fabric
  • 10. Typical GEE Use Scenario • Log in to GEE Portal with GENI credentials • Allocate a slice • When Slice is “Ready” (usually < 5 minutes) download tarball with – ssh key for authentication – ssh configuration file – Ansible hosts file and pre-written “playbooks” – fabfile with configuration and pre-written commands • Write/run fabric/Ansible code to load, configure, deploy application on nodes
  • 11. What This Means To A User • Two-minute allocation of “VMs” across the continent, using only a web browser • Single-pane-of-glass control of continent-wide service from a standard Unix/Linux/Cygwin shell • Minimal software to install (Ansible and/or Fabric)
  • 12. Example: Ignite Visualizer Deployment • Distributed Two Web Servers, Special-Purpose DB Engine, 11 GB database • Installed 10 packages • Total time: 15 minutes • Total code: 20 lines of Ansible script
  • 14. GEE Services: In Progress • GEE Storage Service – Leverages Syndicate storage service – UNIX file interface on top of a CDN • GEE Reverse Proxy Service – Everyone wants port 80 • Lively Web on GEE • Custom slicelet images on GEE – Now beta
  • 15. • Five minutes to “Hello World!” on GENI • Implementation leverages modern tools – FAD: Fabric, Ansible, Docker • Set of building block services – Storage, messaging, reverse proxy, Lively http://gee-project.org

Editor's Notes

  1. What is GEE at a high level? The main abstraction is a “slicelet” – this is more lightweight than a GENI slice. Using slicelets, users can easily deploy… The GEE platform can run anywhere where you can get a VM with a public IP address and sufficient storage.
  2. How many people have used Docker? Docker is changing the way we deploy applications. You should check it out. Ansible is about automating IT configuration tasks. One nice thing about it is that you declare what state you want the system to be in, rather than what to do. Fabric is a tool that lets you easily write and invoke Python programs that execute parallel SSH commands on remote hosts. The basic idea is, if you built PlanetLab today, you would probably heavily leverage these tools or others like them. The world has come a long way since 2002 and PlanetLab hasn’t always kept pace.
  3. GEE’s architecture leverages all these tools. A user logs into the GEE portal and a slicelet record gets written to the GEE database. The event daemon sees it and uses Ansible to create new Docker containers inside the GEE VMs. There’s the user and here is his slicelet. The GEE portal also generates some helper files that the user downloads once the slicelet is created. For instance, it provides a template Fabfile that can be used to interact with the slicelet.
  4. Here are some other services that are in varying stages of completion … Reverse Proxy… demultiplex incoming HTTP requests to the correct slicelet Lively Web – quickly build dynamic web pages – talk to Rick…