72
Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong

Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

Embed Size (px)

Citation preview

Page 1: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

Introduction to Open Software Networking Platform

: Part 2

Introduction to Open Software Networking Platform

: Part 2

March 17, 2015

CS Hong

March 17, 2015

CS Hong

Page 2: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

2

OSSsOSSs

OpenStack

CloudStack

Open vSwitch

Aduino

Rasberry PI

Page 3: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

3

What is OpenStackWhat is OpenStack

OpenStack: The Mission

"To produce the ubiquitous Open Source cloud computing platform that will meet the needs of pub-lic and private cloud providers regardless of size, by being simple to implement and massively scalable."

3

Page 4: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

4

History of OpenStackHistory of OpenStack

4

Release historyAustin 21 October 2010Bexar 3 February 2011Cactus 15 April 2011Diablo 22 September 2011Essex 5 April 2012Folsom 27 September 2012Grizzly 4 April 2013Havana 17 October 2013Icehouse 17 April 2014Juno October 2014K-series April 2015

Codenames alphabetically ordered6 month development cycle

Page 5: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

5

OpenStack Founding PrinciplesOpenStack Founding Principles

Apache 2.0 license (OSI), open development processOpen design process, 2x year public Design SummitsPublicly available open source code reposi-toryOpen community processes documented and transparentCommitment to drive and adopt open stan-dardsModular design for deployment flexibility via APIs

5

Page 6: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

6

Community with Broad Commercial SupportCommunity with Broad Commercial Support

6

Page 7: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

7

UsersUsers

7

disney, zynga, candy crush, youtube, Netflix

Page 8: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

8

Official, incubator et al. programs Official CommonOfficial, incubator et al. programs Official Common

8

Page 9: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

9

A fraction of OpenStack architec-tureA fraction of OpenStack architec-ture

9

Page 10: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

10

Its growthIts growth

100 X growth in developers. The crew is multiplying!

and it has millions of lines of code, and a dozen

projects.

10

Page 11: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

11

OpenStack Isn't EverythingOpenStack Isn't Everything

Page 12: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

12

Virtual Machines and StorageVirtual Machines and Storage

Page 13: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

13

Object Storage Key FeaturesObject Storage Key Features

Page 14: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

14

System ComponentsSystem ComponentsThe Ring: Mapping of names to entities (ac-counts, containers, objects) on disk. Stores data based on zones, devices, partitions, and

replicas Weights can be used to balance the distribution of

partitions Used by the Proxy Server for many background pro-

cesses

Proxy Server: Request routing, exposes the public APIReplication: Keep the system consistent, handle failuresUpdaters: Process failed or queued updatesAuditors: Verify integrity of objects, contain-ers, and accounts

14

Page 15: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

15

System Components (Cont.)System Components (Cont.)

Account Server: Handles listing of containers, stores as SQLite DBContainer Server: Handles listing of objects, stores as SQLite DBObject Server: Blob storage server, metadata kept in xattrs, data in binary format Recommended to run on XFS Object location based on hash of name &

timestamp

15

Page 16: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

16

Software DependenciesSoftware Dependencies

Object Storage should work on most Linux platforms with the following software (main build target for Austin release is Ubuntu 10.04): Python 2.6 rsync 3.0

And the following python libraries: Eventlet 0.9.8 WebOb 0.9.8 Setuptools Simplejson Xattr Nose Sphinx 16

Page 17: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

17

Evolution of Object Storage ArchitectureEvolution of Object Storage Architecture

Page 18: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

18

OpenStack Compute Key Features

Building an OpenStack Cloud ComputeBuilding an OpenStack Cloud Compute

Page 19: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

19

Open Stack ComputeOpen Stack Compute

Page 20: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

Apache CloudStackApache CloudStack

Page 21: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

21

IaaS…IaaS…

Page 22: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

22

IaaS challengesIaaS challenges

Not out of the box by itselfNeed a farm of hypervisors Xen, KVM, VMware…

Need storage For image catalogue For volume/snapshot management

Need flexible network that can be con-figured on-demand VLANS, no VLANS, existing net infra,

SDN…

Page 23: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

23

IaaS is really:IaaS is really:

A Data Center Orchestrator Data storage Data movement Data processing

That can: Handle failures Support large scale Be programmed

Page 24: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

24

DevOpsDevOps

Bring your developers closer to the op-erationsMake your sys admins develop the appsMove to Software Defined Data Center, Automate everything

Dev:JavaIDE

Ops: Shell CLI

Page 25: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

25

“A little bit about the in-ternals”

Page 26: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

26

A Very Flexible IaaS Plat-formA Very Flexible IaaS Plat-form

Compute

XenServer

VMware KVMOracle

VMBare metal

Hypervisor

Storage

Local Disk

iSCSI NFSFiber

ChannelSwift

Block & Object

Network

Network Type

IsolationLoad

balancerFirewall VPN

Network & Network Services

Primary Storage Secondary Storage

http://www.slideshare.net/cloudstack/cloudstack-architecture

Page 27: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

27

Architecture / LanguageArchitecture / Language

Java applicationTomcat6, Axis2, Maven build + ant Ant going away in 4.1

Moving towards a plugin architecture

Page 28: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

28

ReleasesReleases

Apache CloudStack 4.4.1 released in Oct. 2014

Time based releases Rather slip features but guarantee

release

Apache CloudMonkey 5.2.0 released for Aug. 2014

Page 29: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

29

Cloud InteractionsCloud Interactions

CloudStack

Cloud user{API client (Fog/etc)}

End User UI

Admin UI

MySQL

CloudStackClustered

CloudStackManagement

Server

Domain Admin

UI

CS Admin & End-user API

Cloud user{ec2 API client }

ec2 API

Monitoring CS API vSphere Cluster

PrimaryStorage

vcenter

Cluster Mgmt

XS ClusterPrimaryStorage

vCenter API

XAPI

KVM ClusterPrimaryStorageJSON

OVM Cluster PrimaryStorage

XenApi

NetConf

Nitro APIJuniper SRX

Netscaler

Console Proxy

VM

Console Proxy

VM

JSON

Cloud user

HTTPSAjax

Console

VNC

Sec. Storage

VM

NFS Server

NFSSec. Storage

VMHTTP (Template Download)

HTTP (Template Copy)

HTTP (Swift)

NFS

Router VMRouter

VMRouter VM

JSON

{Proxied} SSH

http://www.slideshare.net/cloudstack/cloudstack-architecture

Page 30: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

30

CloudMonkeyCloudMonkey

The CloudStack CLI, developed by Rohit Yadav~600 lines of Pythoncan be used both as an interactive shell and as a command line tool that simpli-fies CloudStack configuration and man-agement.Lots of features: Auto-completion Tabular output Help , scriptable, interactive shell…

Page 31: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

31

InfoInfo

Apache incubator projecthttp://incubator.apache.org/cloudstack#cloudstack and #cloudstack-dev on irc.freen-ode.net@CloudStack on Twitterhttp://www.slideshare.net/cloudstackhttp://incubator.apache.org/cloudstack/mailing-lists.htmlCollaboration Conference, Nov 30th -Dec 2nd http://collab12.cloudstack.org/ http://www.youtube.com/diycloudcomputing

Page 32: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

32

What is Open vSwitchWhat is Open vSwitch

Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license. It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow, sFlow, SPAN, RSPAN, CLI, LACP, 802.1ag).

Page 33: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

33

What is VirtualizationWhat is Virtualization

Multiple virtual machines on the same physical host

Lowest layer is the hypervisor, which provides the illusion Built by OS people Historically, simple bridge Physical Switch

Page 34: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

34

Main ComponentsMain Components

Page 35: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

35

Forwarding ComponentsForwarding Components

ovs- vswitchd (Slow Path) Forwarding logic (learning, mirroring,

VLANs, and bonding) Remote configuration and visibility

openvswitch_mod.ko (Fast Path) Packet lookup, modification, and forward-

ing Tunnel encapsulation/decapsulation

Page 36: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

36

Centralized ControlCentralized Control

One OpenFlow connection per datapath Exports idealized view of swtich’s data-

pathLookup based on L2 ‐L4Full wildcarding and prioritiesActions: forward, drop, modify, and queueMissed flows go to central controller

One management channel per sys-tem Switch‐level configuration Resources Counters

Page 37: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

37

Distributed Virtual SwitchDistributed Virtual Switch

Page 38: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

38

PerformancePerformance

Page 39: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

39

Raspberry PiRaspberry Pi

Page 40: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

40

IntroductionIntroduction

The Raspberry Pi is a credit-card sized computerIt can be plugged into your TV and a keyboard, and can be used for many of the things that your average desktop does - spreadsheets, word-processing, games and it also plays high-definition video.

Page 41: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

41

IntroductionIntroduction

Measuring approximately 9cm x 5.5cm

Page 42: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

42

HistoryHistory

Raspberry Pi is the work of the Raspberry Pi Foundation, a charit-able organisationUK registered charity (No. 1129409), May 2009It's supported by the University of Cambridge Computer Laboratory and tech firm Broadcomm

Page 43: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

43

MotivationMotivation

Computer science skills increasingly im-portantAccess to computersComputers are the tool of the 21st centuryComputer Science is concerned with much more than simply being able to use a com-puter.Children should understand how they work and how to program them

Page 44: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

44

What is Raspberry Pi?What is Raspberry Pi?

The Raspberry Pi is a fully featured micro-computer squashed onto a cir-cuit board measuring approximately 9cm x 5.5cm.

Page 45: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

45

FeaturesFeatures

Ultra low-cost (Model A $25, Model B $35)Ultra low-power ~1WCredit-card sized, fanless, instant start-upComplete easy-to-program computer

Page 46: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

46

FeaturesFeatures

Provide a fun environment for exper-imenting with programming and electronicsInexpensive, simple, open and easy to maintain computer for schoolsFun computer for children to experi-ment with at home(programming, robotics, etc...)

Page 47: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

47

TechnologyTechnology

The Raspberry Pi has a Broadcom BCM2835 system on a chip (SoC),which includes an ARM1176JZF-S 700 MHz processor Video Core IV GPUoriginally shipped with 256 megabytes of RAM, later upgraded to 512MB.It does not include a built-in hard disk , but uses an SD card for booting and long-term storage.

Page 48: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

48

HardwareHardware

10/100 BaseT Ethernet socketHDMI socketUSB 2.0 socketRCA video socketSD card socketPowered from microUSB socket3.5mm audio out jackHeader footprint for camera con-nection

Page 49: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

49

HardwareHardware

Page 50: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

50

Operating SystemOperating System

Linux on a bootable SD card

Fedora Raspbian Debian ArchLinux ARM

Page 51: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

51

How to make it work! How to make it work!

Page 52: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

52

ProgrammingProgramming

By default, supporting Python as the educa-tional language.

Any language which will compile for ARMv6 can be used with the Raspberry Pi.

Page 53: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

53

PricePrice

Model A - $ 25Model B - $ 35Why so cheap ? SoC - System on a chip, a computer on a single low

voltage chip Linux OS

Page 54: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

54

ApplicationsApplications

Can be used for making super computers

Page 55: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

55

ApplicationsApplications

Raspberry Pi Medical Device Input Shield

Page 56: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

56

ApplicationsApplications

Solar Raspberry Pi Power Pack

Page 57: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

57

ApplicationsApplications

Voice-Activated Coffee MachineRaspberry Pi Dynamic Bike Headlight Prototype

Page 58: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

58

ApplicationsApplications

It can make your Old TV in to a smart TV. (You can play Videos, 3D Games, Music, Browse Internet and much more.Raspberry Pi can Act as Full HD 1080p Media Player.Its a Mini Computer which just cost Rs.2,350/-You can connect a Monitor, Keyboard and Mouse and use it as a normal computer.Its Graphics Capabilities is better than Apple Products.

Page 59: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

59

Raspberry Pi 2020Raspberry Pi 2020

Exploit process scaling and keep price constant:8 cores, improved GPU, 8GB main memoryWiFi, camera, matchbox sized caseholographic laser projector, virtual key-boardFPGA logic on main SoC, high speed links, ….< $25

Page 60: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

6060

Introduction to ArduinoIntroduction to Arduino

Famous microcontroller manufacturers are MicroChip, Atmel, Intel, Analog devices, and more.

It is a micro-computer. As any computer it has internal CPU, RAM, IOs interface. It is used for control purposes, and for data analysis.

Micro-Controller:

Page 61: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

61

What is Arduino?What is Arduino?

61

A microcontroller board, contains on-board power supply, USB port to communicate with PC, and an Atmel microcontroller chip.It simplify the process of creating any control system by providing the standard board that can be programmed and connected to the system without the need to any sophisticated PCB design and implementation.It is an open source hardware, any one can get the details of its design and modify it or make his own one himself.

Page 62: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

62

What is Arduino?What is Arduino?

62

Large communityMulti platform Win/Mac/LinuxBased on ATmega328 – 8 BITSpecs •RISC @ 16 Mhz, 20 MIPS•32 K Memory•6 Ch 10 Bit A/D•PWM, I2C, SPI

Inexpensive - $31.95 Sparkfun Electronics - $34.99 Radioshack

Page 63: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

63

Arduino UNO:Arduino UNO:

Digital output~: PWM.0,1: Serial port.

In circuit Serial programming

Atmel MicroControl

ler

Analog input.Power

Supply

USB port

Power input

Page 64: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

64

You can download the Arduino IDE (The program used to write code and uploading it to arduino boards) from: http://arduino.cc/en/Main/Software

Arduino IDE:Arduino IDE:

Page 65: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

65

What do these do?What do these do?

Digital IO (LEDs, switches)Analog IO (resistive sensor data)Serial Connection (Sensors, GPS, etc)Program from your computerYour limit is only your creativity!

65

Page 66: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

66

TerminologyTerminology

66

I/O Board - main microcontrollerShield - add-on boardsSketch - the programSensor - components (thermistors, etc.)Modules - serial data (GPS module, etc.)

Page 67: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

67

Arduino I/O boardsArduino I/O boards

UNO Mega LilyPad

Arduino BT Arduino Nano Arduino Mini

Page 68: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

68

ShieldsShields

68

Page 69: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

6969

ShieldsShields

Page 70: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

70

More Shields…More Shields…

70

XBee Shield

Ethernet Shield

WiFiShield

Page 71: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

71

Sensors Sensors

71

Page 72: Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong March 17, 2015 CS Hong

72

ReferencesReferences

http://www.openstack.org/http://www.slideshare.net/cloudstackhttp://openvswitch.orgSource repository: gitclonegit://openvswitch.org/openvswitchElectronics For You, November 2012, Page 18http://en.wikipedia.org/wiki/Raspberry_Pihttp://www.raspberrypi.orghttp://www.element14.com/community/groups/raspberry-pihttp://arduino.cc

72