geni laboratory exercises for a cloud computing course

19
GENI Laboratory Exercises for a Cloud Computing course Prasad Calyam, Ph.D. Assistant Professor, Department of Computer Science GEC19, March 2014

Upload: xanto

Post on 25-Feb-2016

126 views

Category:

Documents


2 download

DESCRIPTION

GENI Laboratory Exercises for a Cloud Computing course. Prasad Calyam, Ph.D. Assistant Professor, Department of Computer Science GEC19, March 2014. Pricing/Billing. Virtualization. Performance. Resource Monitoring. Energy Efficiency. Service Level Agreements. Provisioning On-Demand. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: GENI Laboratory Exercises for a Cloud Computing course

GENI Laboratory Exercises for a Cloud Computing course

Prasad Calyam, Ph.D.Assistant Professor, Department of Computer Science

GEC19, March 2014

Page 2: GENI Laboratory Exercises for a Cloud Computing course

Cloud Computing Challenges?

Virtualization

Performance

Service Level

Agreements

Resource Monitoring

Pricing/Billing

Provisioning On-DemandRisk/Trust

Management

Energy Efficiency

Security/

Privacy Legal &Regulatory

Data Centers

Standards and Tools

Scalability

App

Marketplaces

Reliability

Fall 2013 2

Slide adapted from Hwang, Fox, Dongarra

MU Cloud Computing

Page 3: GENI Laboratory Exercises for a Cloud Computing course

Cloud Computing Course Objectives

• Be competent with principles and architectures that integrate computing theories and information technologies

• Be competent with distributed system models, computer virtualization concepts, network virtualization concepts

• Be competent with the design, programming and application of distributed and cloud computing systems

and…• Be familiar with cyber-security and service-oriented concepts

relating to use/design of cloud computing systems• Be familiar with App customization of cloud computing

infrastructures, and standards through hands-on experience

Fall 2013 3MU Cloud Computing

Page 4: GENI Laboratory Exercises for a Cloud Computing course

Cloud Computing Course Information• Pre-requisites:

– Object Oriented Programming– (Operating Systems-I), (Computer Networks-I), (Cyber Security-I)

• Students:– 23 Graduate, 7 Undergraduate, 5 visitors!

• Textbook: – Distributed and Cloud Computing - by K. Hwang, J. Dongarra, and G. Fox; First Edition

[ISBN: 9780123858801] (required) • Reference books:

– Programming Amazon EC2 - by J. Vliet and F. Paganelli [Online copy available] (optional)– Cloud Computing: Principles and Paradigms - by R. Buyya, J. Broberg, A. Goscinski

(optional)• Teaching Assistant:

– Sripriya Seetharam – attended GENI Summer Camp, GECs, Thesis Research that uses GENI infrastructure

– Worked closely with GPO (Thanks! Niky, Sarah and Vic)– Monitored and answered student issues in Blackboard Discussion Forum

Fall 2013 4MU Cloud Computing

Page 5: GENI Laboratory Exercises for a Cloud Computing course

Blackboard Discussion Forum

Missouri GENI Rack Tour!

Fall 2013 5MU Cloud Computing

Page 6: GENI Laboratory Exercises for a Cloud Computing course

Course Lab Assignments• 6 labs to develop technical background and skills for working with distributed

system and related software environments

• 3 Amazon Web Services (AWS) labs - http://aws.amazon.com – Received $100 usage credit per student through their academic program– Focus areas:

• Instance setup with Cloud Watch alarm for billing alerts• Web App setup with EC2, S3 and Cloud Watch• Autoscaling to handle user load bursts in a Web App

• 3 GENI labs - http://groups.geni.net/geni/wiki – “Calyam_UMissouri_Fall2013” Project in GENI portal (http://portal.geni.net)– Focus areas:

• Slice setup for “Hello GENI” experiment• Instrumentation & Measurement Web App setup with GENI Rack VMs and

OnTimeMeasure software• OpenFlow controller programming for 2 traffic engineering applications: QoS

Control based on enterprise policy, and Load Balancing

Fall 2013 6MU Cloud Computing

Page 7: GENI Laboratory Exercises for a Cloud Computing course

GENI Lab-1 Exercise

• Lab # 1 – GENI Account Setup and Services Overview • Purpose of the Lab

– Setup your GENI account, and use it to reserve an experiment environment a.k.a. “slice” that features 2 compute nodes communicating over a Layer 2 connection

– Run a “Hello GENI” experiment with GUI (Flack) and Command-line (Omni) tools in your reserved slice by automatic installation and execution of software to perform basic bandwidth measurement tests between the nodes

GENI Terminology GENI Architecture

GENI Account Creation

GENI Environment

Setup

GENI "Hello World"

Fall 2013 7MU Cloud Computing

Page 8: GENI Laboratory Exercises for a Cloud Computing course

GENI Experiment Workflow

Fall 2013 8MU Cloud Computing

Page 9: GENI Laboratory Exercises for a Cloud Computing course

GENI Lab-1 Q&A1. Provide a screenshot of the reserved slice resources in your GENI portal

account

2. What would be the added capabilities and benefits in performing an experiment on GENI Future Internet infrastructure versus the commercial Internet?

3. Define: (i) slice, (ii) sliver, (iii) aggregate manager and (iv) Rspec

4. How does Federated Identity and Access Management in the GENI portal allow you to use your Pawprint and password to login? What are the benefits of this approach?

5. Explain the role of “Experiment Control Tools” such as Omni, Gush and Flack in GENI. What are the advantages of using the Omni command line tool in comparison to using the Flack GUI tool?

6. What is the significance of generating the SSH and SSL keys in your .ssh folder?

Fall 2013 9MU Cloud Computing

Page 10: GENI Laboratory Exercises for a Cloud Computing course

GENI Lab-2 Exercise

• Lab # 2 – Instrumentation and Measurement of GENI Slice• Purpose of the Lab

– Install and configure a distributed measurement Web App viz., “OnTimeMeasure” within a slice– Configuration involves ‘Node Beacons’ at measurement points, and a ‘Root Beacon’ that acts

as a central intelligence module– Schedule measurements from the Root Beacon and query/visualize performance between two

compute nodes that host Node Beacons– Performance data collection comprises of network health metrics such as round trip delay,

loss, jitter and throughput

To administer this lab exercise on GENI Racks (versus using raw PCs as done previously), we had to make a substantial effort to make OnTimeMeasure run on VMs

Install OnTimeMeasure

Configure OnTimeMeasure

Control (start/stop)

measurements

Query Measurements

Add Custom Metric

Fall 2013 10MU Cloud Computing

Page 11: GENI Laboratory Exercises for a Cloud Computing course

GENI I&M Overview

Reference:P. Calyam, M. Sridharan, Y. Xiao, K. Zhu, A. Berryman, R. Patali, “Enabling Performance Intelligence for Application Adaptation in the Future Internet”, Journal of Communications and Networks (JCN), 2011.http://groups.geni.net/geni/attachment/wiki/FirstGenCalyam/fi-ontimemeasure-vdcloud_jcn11.pdf

Fall 2013 11MU Cloud Computing

Page 12: GENI Laboratory Exercises for a Cloud Computing course

GENI/SDN Lab-3 Exercise

• Lab # 3 – QoS Configuration and Load Balancing using Software Defined Networking/OpenFlow

• Purpose of the Lab– Install and configure Mininet SDN emulator with 2 traffic engineering experiment

applications to understand how to program ‘flow spaces’ within networks to: (i) comply with enterprise network capacity provisioning policies, and (ii) balance the utilization of network resources

– Use Iperf and Ping Tools to verify your SDN functionality

Lab Experiment #1 (QoS Control through Network-Edge Rate Limiting) Steps Overview

Lab Experiment #2 (Load Balancer for Scalable Handling of Traffic Flows) Steps Overview

Mininet Installation Floodlight OpenFlow Controller Installation

QoS Configuration in Controller Application

QoS Experimentation using Iperf Tool

Floodlight OpenFlow Controller installation

Load Balancer Configuration in Controller

Application

Load Balancing Experimentation using Ping Tool

Fall 2013 12MU Cloud Computing

Page 13: GENI Laboratory Exercises for a Cloud Computing course

Wireshark for Debugging your OpenFlow Controller!

Virtual Ethernet ports for each switch

OpenFlow Protocol packet analysis

Fall 2013 13MU Cloud Computing

Page 14: GENI Laboratory Exercises for a Cloud Computing course

SDN/GENI Lab-3 Experiment #1

• Use the OpenvSwitch commands to set the network policies• Setup 3 queues (Q0, Q1 and Q2) on every switch and configure

network-edge bandwidth capacity using the ‘ovs-vsctl’ commands– Q0 – default queue– Q1 – queue 1 rate limiting bandwidth to 50 Mbps– Q2 – queue 2 rate limiting bandwidth to 40 Mbps

Fall 2013 14MU Cloud Computing

Page 15: GENI Laboratory Exercises for a Cloud Computing course

SDN/GENI Lab-3 Experiment #2

• Use a Load Balancing experiment topology with pools of end-hosts and load balancers– Test load balancing functionality with Ping requests from end-hosts

• Extend the ‘Load Balancing’ module in your Floodlight Controller– Scale the load balancer to handle more Ping requests by adding two new hosts to

the load balancer pool – Examine the response patterns from end-host Ping responses

Fall 2013 15MU Cloud Computing

Page 16: GENI Laboratory Exercises for a Cloud Computing course

Final Course Project• Objective:

– To develop programming and performance evaluation skills – To reinforce the understanding of major concepts in the course

• Graduate Student team projects require use of either C/C++ or Java, as well as cloud-platform specific tools and applications

• Undergraduate student participation is optional (extra credit)

• Approach: – Solve a “real” problem in a GENI/AWS testbed

• Teams: Core Logic Team, Testbed Team, User Interface Team• Must use web services, show design tradeoffs (e.g., how VM obfuscation for ‘security’

complicates ‘manageability’ of infrastructure)• Build upon Cloud Computing material covered in class• Student domain expert for each project

– In-Class “Circle Time” to provide on-going guidance– Final Project Presentations/Demos– 20% Grade based on overall team performance, peer-reviews

Fall 2013 16MU Cloud Computing

Page 17: GENI Laboratory Exercises for a Cloud Computing course

Final Course Projects

1. Platform-as-a-Service for City-supported Hybrid Cloud– Based on requirements from “ElderCare-as-a-Service” testbed in GENI– Concepts of Desktop-to-Cloud, Recommendation Engine

2. Software-defined Networking for Multi-tenancy– Based on requirements from a MU-OSU “Science DMZ” testbed– Concepts of Network Virtualization, RoCE 10 Gbps Data Transfer Performance

3. Data Integrity Security Protection and Monitoring– Based on requirements from “Thomson Reuters” testbed in GENI/AWS– Concepts of Distributed Trust, Anomaly Detection for Just-in-time News Feeds

4. App Marketplace for Advanced Manufacturing– Based on requirements from “Simulation-as-a-Service” testbed in GENI/AWS– Concepts of App Workflow in Cloud, Freemium and Pricing Models

Fall 2013 17MU Cloud Computing

Page 18: GENI Laboratory Exercises for a Cloud Computing course

Other thoughts…

• Detailed instructions were needed to complete the labs– Using distributed system/network resources and working with tools such as

those in GENI/AWS was a new experience

• AWS and GENI combination benefits– Many similarities in tools, best practices – reinforced learning!

• GENI Project Office co-ordination was important– To determine timing of labs, ensuring resource availability

• Open challenges in the course use of GENI– OpenFlow controller exercise on GENI infrastructure versus just using Mininet

environment– Need to have two part course (Cloud Computing I & II) in subsequent

semesters to have more in-depth GENI experiments

Fall 2013 18MU Cloud Computing

Page 19: GENI Laboratory Exercises for a Cloud Computing course

Thank you for your attention!

Fall 2013 19MU Cloud Computing