Design of a Cloud Computing Course...

41
Design of a Cloud Computing Course Sequence Prasad Calyam, Ph.D. Assistant Professor, Department of Computer Science IUCEE (Indo Universal Collaboration for Engg. Education) Webinar Talk, October 28 th 2016

Transcript of Design of a Cloud Computing Course...

Page 1: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Design of a Cloud Computing Course Sequence

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

IUCEE (Indo Universal Collaboration for Engg. Education) Webinar Talk, October 28th 2016

Page 2: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

What is Cloud Computing?

MU Cloud Computing 2

•  Classic Computing –  ‘Buy and Own’ –  Approx. 18-month cycle for

hardware/software procurement

–  Plan for peak needs of resources, could be expensive!

–  Client software installation (e.g., MS Word), dedicated

•  Cloud Computing –  ‘Subscribe and Use’ like any

other “utility” such as water, gas, etc.

–  Instantly use and pay $ for only what you use

–  Elastic resource reservations –  Web Apps (e.g., Google Docs),

Mobility, Multi-tenancy

Page 3: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Cloud Computing Challenges?

Resource Monitoring

Pricing/Billing

Provisioning On-Demand Risk/Trust

Management

Energy Efficiency

Security/

Privacy Legal & Regulatory

Data Centers

Standards and Tools

Scalability

App

Marketplaces

Reliability

3

Slide  adapted  from  Hwang,  Fox,  Dongarra  

MU Cloud Computing

Page 4: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

VIMAN Lab Cloud Computing Research

•  Cloud Resource Allocation –  Computer and network virtualization models, algorithms, tools

•  Cloud Performance Monitoring –  Software-defined measurements and performance diagnosis

•  Cloud Testbeds for Apps, Marketplaces –  e.g., Manufacturing/Healthcare/Education

•  Cloud Security –  Cyber attacks defense, Federated Policy Management

4

h"p://people.cs.missouri.edu/~calyamp    

MU Cloud Computing

Page 5: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Cloud Computing I Course Information •  Pre-requisites:

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

•  Students: –  30 to 60 class sizes – mix of undergraduate and graduate students

•  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: –  Monitors and answers student issues in Blackboard Discussion Forum

5 MU Cloud Computing

See Course Report - http://faculty.missouri.edu/calyamp/publications/geni-cclabs-gree14.pdf

Page 6: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Cloud Computing I 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

6 MU Cloud Computing

Page 7: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Cloud Computing II Course Information •  Pre-requisite:

–  CS 4001/7001 Cloud Computing I or Instructor Consent •  Textbook:

–  Cloud Computing: Principles and Paradigms - by R. Buyya, J. Broberg, A. Goscinski (optional)

•  Reference books: –  Cloud Computing: Concepts, Technology & Architecture - by T.

Erl [Online copy available at MU Library] (optional) –  Proceedings of top-tier cloud computing conferences and

journals •  e.g., SIGCOMM, INFOCOM, NSDI, OSDI, Cloud, UCC, CloudCom,

TCC, TSC, TDSC, TNSM, … NOTE: This course is a research-oriented course with semi-formal discussion of advanced topics

7 MU Cloud Computing

Page 8: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Cloud Computing II Course Objectives

•  Be competent with advanced principles of distributed system models, and enabling technologies for cloud computing

•  Be competent with conducting literature survey of works on management and security of virtual machines/containers and virtualization of clusters, networks and data centers

•  Be competent with advanced design, programming, standards and application of cloud computing systems

and… •  Be familiar with how to identify and address gaps in research

and technology of latest cloud computing advances •  Be familiar with App customization of cloud computing

infrastructures, and standards through hands-on experience

8 MU Cloud Computing

Page 9: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Cloud Computing I 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 •  [Additional CloudLab InterCloud Webservices homework/lab]

9 MU Cloud Computing

Page 10: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Cloud Computing I Course Topics Schedule

•  Week 1 – 4: Introduction –  Distributed system models and

enabling technologies •  Scalable, utility computing

evolution and concepts •  Networked systems related

technologies •  Performance, security, and

energy efficiency issues –  AWS overview discussion –  GENI overview discussion –  AWS Lab 1 –  GENI Lab 1

•  Week 5 – 6: Virtualization –  Virtual machines and

virtualization of clusters, networks and data centers

•  Levels of virtualization implementation

•  Structures/tools and mechanisms for resource management

–  AWS topics discussion –  AWS Lab 2

10 MU Cloud Computing

Page 11: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Cloud Computing I Course Topics Schedule (2)

•  Week 7 – 9: Architectures –  Cloud platform architecture

with security over virtualized data centers

•  Public, private and hybrid clouds ecosystem

•  Public clouds and service offerings such as IaaS, PaaS, SaaS, DaaS

•  Inter-cloud resource management

•  Cloud security and trust management

–  GENI topics discussion –  GENI Lab 2

•  Week 10 – 12: Services –  Service-oriented architectures

for distributed computing •  Web services and message-

oriented middleware •  Discovery, registries, metadata,

publish-subscribe –  AWS topics discussion –  GENI topics discussion –  AWS Lab 3 –  MU Data Center Tour –  GENI Lab 3

11 MU Cloud Computing

Page 12: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Cloud Computing I Course Topics Schedule (3)

•  Week 13 – 16: Applications –  Cloud programming and software environments

•  Cloud application requirements and constraints •  MapReduce, Hadoop library, Pig Latin •  Programming support, approaches on real cloud platforms

–  Teams formation & 2-Page Project Plan –  In-Class “Circle Time” for Project Teams –  Project Team Presentations/Demos

12 MU Cloud Computing

Page 13: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Cloud Computing II Course Topics

•  Cloud Resource Optimization –  Modeling performance, security, and energy efficiency issues –  Defragmentation, multi-tenancy, cost-benefit analysis

•  Cloud Engineering –  Structures/tools and scheduling mechanisms for networks and data centers –  Hybrid cloud setup, monitoring service level agreements, service pricing

•  Cloud Security –  Federated identity and access management –  Intercloud web services security and trust management

•  Cloud Applications –  Programming for software-defined networks and data centers –  Approaches for Application development on real cloud platforms based on

Big Data Analytics, Internet-of-Things (IoTs), Mobile Clouds •  Cloud Standards

–  Current and emerging standards

13 MU Cloud Computing

Page 14: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

InterCloud Lab/Homework with OpenStack

•  Purpose of the Lab –  Deploy your own “personal cloud” on NSF CloudLab (https://www.cloudlab.us)

to understand how to program web services across multi-cloud platforms that are orchestrated using OpenStack cloud operating system

1.  OpenStack  Overview  

2.  OpenStack  Infrastructure  Deployment  

3.  OpenStack  Dashboard  

4.  OpenStack  Command  Line  

5.  Intercloud  WebServices  

MU Cloud Computing 14

Page 15: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

InterCloud Web Services

MU Cloud Computing 15

•  Create an Intercloud API to display deployed instances in your experiment that can be accessible externally through RESTful web services

•  Start by creating a web application, then convert it into a RESTful service to allow client requests to display various available instances information

Page 16: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Your “Personal Cloud” Access Curl Client

Browser RESTClient

Instance Types

MU Cloud Computing 16

Page 17: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

CloudLab Homework Q&A What to turn in for Grading?

1.  Provide a screenshot of the “Network Topology” after a new instance is created; Explain the graph.

2.  Provide screenshot of the ‘controller’ node with the MAC Address clearly displayed.

3.  List in detail the resources available for the deployed cloud infrastructure (vCPUs, RAM, Floating IPs, Security Groups, and Volumes)

4.  List the necessary changes in the profile file to add an extra compute node, and submit a revised RSpec.

5.  Extend the Intercloud API to display user list (KEYSTONE) as: curl -u clouduser:EasyPassword15 -i http://[IP]:8090/list_user Provide screenshot of the output.

6.  By using your AWS instance setup in AWS Lab-2, write a web service client (use any language of your preference) to request and display the cloud information available in the JSON file in a simple web site. Include the Amazon DNS link and the code in your submission report.

17 MU Cloud Computing

Page 18: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

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 –  25% Grade based on overall team performance, peer-reviews

18 MU Cloud Computing

Page 19: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Project Lifecycle

User Federated IAM

Performance Variance due to Design Tradeoffs GENI/AWS/Other Discovery/Reservation Hosting

Application Dashboard

19 MU Cloud Computing

Page 20: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Spring 2016 Final Course Project Ideas 1.  Custom Image Templates enabled Platform-as-a-Service

–  Based on requirements from SoyKB testbed in GENI and AWS –  Concepts of Custom Image Templates, Service Optimization, Workflow Monitoring

2.  Software-defined Networking for Intelligent Data Movement –  Based on requirements from GENI Intelligent Data Movement Service –  Concepts of Network Virtualization, Route Computation, Video Delivery

3.  Moving Target Defense for Resilient Cloud Management –  Based on requirements from cyber attack defense testbed in DeterLab/GENI –  Concepts of Cyber Attack Generation, Proactive and Reactive Migration Triggers

4.  Internet-of-Things Integration for mHealth-based Fitness Monitoring –  Based on requirements from “Fitbit” data tracking for Teens using AWS –  Concepts of App Workflow, Resource Brokering, Reward Models

20 MU Cloud Computing

Page 21: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Some Thoughts…

•  GENI provided an excellent platform to develop and administer hands-on laboratory exercises for students in the Course on cloud computing topics such as: –  Distributed system resource discovery and management –  Federated identity and access management –  Application/system/network performance measurement and

adaptation –  Software-defined networking with OpenFlow

•  Student Learning enabled through GENI/AWS –  Experimental testbed setup, related web services, and programming

practices –  Perception change of App and their high scalability in Cloud –  Understanding Architecture diagrams! –  Hands-on Experience with advanced computing technologies –  Supplement class discussions of concepts through Lab exercises

21 MU Cloud Computing

Page 22: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Some Student Quotes…

“I am able to visualize the architecture diagrams” “Labs in GENI were exciting!” “There are a lot of technologies and terminology…” “It takes time to understand detailed instructions in labs” “I no longer view Apps as simply code executing on a single machine” “I appreciate the fact that there is a ‘user view’ and ‘provider view’…” “When to use what virtualization is challenging”

22 MU Cloud Computing

Page 23: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

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/CloudLab combination benefits –  Many similarities in tools, best practices – reinforced learning!

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

•  Offering a two parts (Cloud Computing I & II) course in consecutive semesters could be effective –  Allows to have more in-depth GENI, CloudLab and AWS

experiments, hands-on education, graduate research initiation

23 MU Cloud Computing

Page 24: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

Thank you for your attention!

24 MU Cloud Computing

Page 25: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

AWS Lab-1 Steps

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

–  Understand definitions of various Amazon Web Services (AWS) and their use in cloud computing based web applications that are accessible over the Internet through an AWS account

25

Amazon  Web  Services    

AWS  Architecture  

AWS  Account  CreaJon  

Add  AWS  EducaJon  Credit  

for    $100  

Launch  instance  

Add  a  Bill  

Alarm  

MU Cloud Computing

Page 26: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

AWS Lab-2 Steps

•  Lab # 2 – AWS Resource Discovery and Instance Setup •  Purpose of the Lab

–  Use the AWS account for the discovery, reservation and access of virtual compute/storage infrastructure instances; setup a platform along with web-application and related basic firewall configurations within your reserved infrastructure resources

26 MU Cloud Computing

Page 27: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

AWS Lab-3 Steps

•  Lab # 3 – Platform/Application Provisioning and Auto Scaling Adaptation

•  Purpose of the Lab –  Launch new instances through Images taken from your current instance

state, include them to a load balancer configuration, and apply CloudWatch alarms for automatically scaling up and scaling down using AutoScaling service adaptations based on usage load demands

27

S3    Simple  Storage  

Service  

RDS  RelaJonal  Database  Service  

ELB  ElasJc  Load  Balancer  

AutoScaling    integrated  to  ELB  

Cloud  Watch  

Alarms  and  AcJons  

Clean-­‐up  Resources  

MU Cloud Computing

Page 28: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

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  CreaJon  

GENI  Environment  

Setup    

GENI  "Hello  World"  

28 MU Cloud Computing

Page 29: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

References for GENI Lab-1

•  Chapter 1, Distributed and Cloud Computing, Hwang, Fox & Dongarra •  GENI Terminology/Architecture:

http://groups.geni.net/geni/wiki/GeniNewcomersWelcome •  GENI Tutorial Paper:

http://www.sigcomm.org/sites/default/files/ccr/papers/2012/January/2096149-2096161.pdf

•  GENI Omni Tool: http://trac.gpolab.bbn.com/gcf/wiki/Omni •  GENI Flack Tool: http://www.protogeni.net/ProtoGeni/wiki/FlackManual •  GENI Understanding Aggregate Manager exercise:

http://groups.geni.net/geni/wiki/GENIEducation/SampleAssignments/UnderstandAMAPI/Procedure

29 MU Cloud Computing

Page 30: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

GENI Experiment Workflow

30 MU Cloud Computing

Page 31: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

GENI Lab-1 Q&A 1.  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?

31 MU Cloud Computing

Page 32: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

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

Install  OnTimeMeasure  

Configure  OnTimeMeasure  

Control            (start/stop)  

measurements  

Query  Measurements  

Add  Custom  Metric  

32 MU Cloud Computing

Page 33: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

References for GENI Lab-2

•  Chapter 3 Distributed and Cloud Computing, Hwang, Fox & Dongarra •  OnTimeMeasure Tutorial: http://groups.geni.net/geni/wiki/OnTimeMeasure •  OnTimeControl: http://groups.geni.net/geni/wiki/OTM-Control •  OnTimeMeasure Custom Metric Integration:

http://groups.geni.net/geni/wiki/OTM-CustomMetric •  OnTimeMeasure demo video on Graphite:

http://ontime.oar.net/demo/dashboard.htm •  Miscellaneous OnTimeMeasure demo videos: http://ontime.oar.net/demo

33 MU Cloud Computing

Page 34: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

GENI I&M Overview

Reference:  P.  Calyam,  M.  Sridharan,  Y.  Xiao,  K.  Zhu,  A.  Berryman,  R.  Patali,  “Enabling  Performance  Intelligence  for  ApplicaJon  AdaptaJon  in  the  Future  Internet”,  Journal  of  Communica:ons  and  Networks  (JCN),  2011.  h"p://groups.geni.net/geni/a"achment/wiki/FirstGenCalyam/fi-­‐onJmemeasure-­‐vdcloud_jcn11.pdf    

34 MU Cloud Computing

Page 35: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

OnTimeMeasure I&M Overview

35 MU Cloud Computing

Page 36: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

GENI Lab-2 Q&A

1.  Provide screenshots of your OnTimeMeasure instance’ Graphite page for ‘RoundTripDelay’ of node2 -> node1, node1-> node2 and ‘MemFree’ of node1 and node2

2.  Explain the role and functions of “Instrumentation and Measurement Tools” such as OnTimeMeasure, and GEMINI Tool Set in GENI infrastructure

3.  Briefly explain in your own words the architecture of the ‘OnTimeControl’ framework (refer OnTimeMeasure wiki)

4.  Describe the workflow that was involved when you added the custom metric feature to your OnTimeMeasure instance in the last step of your experiment

36 MU Cloud Computing

Page 37: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

GENI Lab-3 Exercise

•  Lab # 3 – SDN and QoE Measurement in GENI Slice •  Purpose of the Lab

–  Install and configure a virtual desktop App (e.g., video player), and a network emulator within a slice

•  GENI Delay Node for network emulation - http://geni-app-developer-documentation.readthedocs.org/en/latest/resources/delay.html

–  Understand topology setup and OpenFlow controller configuration –  Explore client-side encoding, and network-side transit selection

adaptation and measure QoE improvement –  Performance data collection comprises of metrics such as:

•  Perceptible Impairment MOS (Subjective QoE) •  Bandwidth consumption (Objective QoE)

Setup  Slice  with  VNC  Client/Server  

Configure  Network  Emulator,  Measure  QoE  

degradaJon  

Configure  OpenFlow  Controller  

Measure  QoE  improvement  with  

adaptaJon  

37 MU Cloud Computing

Page 38: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

SDN and QoE Measurement Overview (Experiment w/o Load-Balancing)

38 MU Cloud Computing

Page 39: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

SDN and QoE Measurement Overview (Experiment w/ Load-Balancing)

39 MU Cloud Computing

Page 40: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

OpenFlow    Switch  

Client   In  Port  

Out  Port  

SUNNW   PG48   50   51  

SUNNW   PG49   50   51  

ATLANTA   PG46   52   52  

ATLANTA   PG47   52   52  

ATLANTA   PG46   20   52  

ATLANTA   PG47   20   52  

VDC-Analyst OpenFlow Demonstration

 Route  setup  Step-­‐1   Cross-­‐traffic  Impact  Step-­‐2   Load-­‐balancing  

Improvement  Step-­‐3  

OpenFlow  Switch  

Client   In  Port  

Out  Port  

ATLA   PG46   20   52  

ATLA   PG47   20   52  

OpenFlow    Switch  

Client   In  Port  

Out  Port  

ATLANTA   PG46   20   52  

ATLANTA   PG47   20   52  

SUNNW   PG48   50   52  

SUNNW   PG49   50   52  

Video  runs  smooth,  GUI    applicaJons  are  responsive  

Video  freezes,  disconnects,  GUI  applicaJons  are  not  responsive  

Video  runs  smooth,  GUI    applicaJons  are  responsive  

40 MU Cloud Computing

Page 41: Design of a Cloud Computing Course Sequencefaculty.missouri.edu/calyamp/publications/CloudComputing-CourseS… · • [Additional CloudLab InterCloud Webservices homework/lab] MU

0.21  

15.36  

0  

5  

10  

15  

20  

ApplicaJon   Cross-­‐Traffic  

VDC-Analyst OpenFlow Demonstration

 Route  setup  Step-­‐1   Cross-­‐traffic  Impact  Step-­‐2   Load-­‐balancing  

Improvement  Step-­‐3  

Video  runs  smooth,  GUI    applicaJons  are  responsive  

Video  freezes,  disconnects,  GUI  applicaJons  are  not  responsive  

Video  runs  smooth,  GUI    applicaJons  are  responsive  

Bandwidth  Consumed  (Mbytes/s)  

4.45  

14.8  

0  

5  

10  

15  

20  

ApplicaJon   Cross-­‐Traffic  

4.6  0  

0  

5  

10  

15  

20  

ApplicaJon   Cross-­‐Traffic  

41 MU Cloud Computing