Introduction to Open Software Networking Platform : Part 2 March 17, 2015 CS Hong
Jan 02, 2016
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
2
OSSsOSSs
OpenStack
CloudStack
Open vSwitch
Aduino
Rasberry PI
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
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
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
6
Community with Broad Commercial SupportCommunity with Broad Commercial Support
6
7
UsersUsers
7
disney, zynga, candy crush, youtube, Netflix
8
Official, incubator et al. programs Official CommonOfficial, incubator et al. programs Official Common
8
9
A fraction of OpenStack architec-tureA fraction of OpenStack architec-ture
9
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
11
OpenStack Isn't EverythingOpenStack Isn't Everything
12
Virtual Machines and StorageVirtual Machines and Storage
13
Object Storage Key FeaturesObject Storage Key Features
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
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
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
17
Evolution of Object Storage ArchitectureEvolution of Object Storage Architecture
18
OpenStack Compute Key Features
Building an OpenStack Cloud ComputeBuilding an OpenStack Cloud Compute
19
Open Stack ComputeOpen Stack Compute
Apache CloudStackApache CloudStack
21
IaaS…IaaS…
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…
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
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
25
“A little bit about the in-ternals”
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
27
Architecture / LanguageArchitecture / Language
Java applicationTomcat6, Axis2, Maven build + ant Ant going away in 4.1
Moving towards a plugin architecture
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
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
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…
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
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).
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
34
Main ComponentsMain Components
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
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
37
Distributed Virtual SwitchDistributed Virtual Switch
38
PerformancePerformance
39
Raspberry PiRaspberry Pi
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.
41
IntroductionIntroduction
Measuring approximately 9cm x 5.5cm
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
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
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.
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
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...)
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.
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
49
HardwareHardware
50
Operating SystemOperating System
Linux on a bootable SD card
Fedora Raspbian Debian ArchLinux ARM
51
How to make it work! How to make it work!
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.
53
PricePrice
Model A - $ 25Model B - $ 35Why so cheap ? SoC - System on a chip, a computer on a single low
voltage chip Linux OS
54
ApplicationsApplications
Can be used for making super computers
55
ApplicationsApplications
Raspberry Pi Medical Device Input Shield
56
ApplicationsApplications
Solar Raspberry Pi Power Pack
57
ApplicationsApplications
Voice-Activated Coffee MachineRaspberry Pi Dynamic Bike Headlight Prototype
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.
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
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:
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.
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
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
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:
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
66
TerminologyTerminology
66
I/O Board - main microcontrollerShield - add-on boardsSketch - the programSensor - components (thermistors, etc.)Modules - serial data (GPS module, etc.)
67
Arduino I/O boardsArduino I/O boards
UNO Mega LilyPad
Arduino BT Arduino Nano Arduino Mini
68
ShieldsShields
68
6969
ShieldsShields
70
More Shields…More Shields…
70
XBee Shield
Ethernet Shield
WiFiShield
71
Sensors Sensors
71
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