Open Source for Future Internet Platform 2

advertisement
Introduction to Open Software
Networking Platform
: Part 2
March 17, 2015
CS Hong
OSSs
OpenStack
CloudStack
Open vSwitch
Aduino
Rasberry PI
2
What is OpenStack
OpenStack: The Mission
"To produce the ubiquitous Open Source cloud computing
platform that will meet the needs of public and private
cloud providers regardless of size, by being simple to
implement and massively scalable."
3
History of OpenStack
Release history
Austin 21 October 2010
Bexar 3 February 2011
Cactus 15 April 2011
Diablo 22 September 2011
Essex 5 April 2012
Folsom 27 September 2012
Grizzly 4 April 2013
Havana 17 October 2013
Icehouse 17 April 2014
Juno October 2014
K-series April 2015
Codenames alphabetically ordered
6 month development cycle
4
OpenStack Founding Principles
Apache 2.0 license (OSI), open development
process
Open design process, 2x year public Design
Summits
Publicly available open source code repository
Open community processes documented and
transparent
Commitment to drive and adopt open standards
Modular design for deployment flexibility via APIs
5
Community with Broad Commercial Support
6
Users
disney, zynga, candy crush, youtube, Netflix
7
Official, incubator et al. programs Official Common
8
A fraction of OpenStack architecture
9
Its growth
100 X growth in developers. The crew is multiplying!
and it has millions of lines of code, and a dozen projects.
10
OpenStack Isn't Everything
11
Virtual Machines and Storage
12
Object Storage Key Features
13
System Components
The Ring: Mapping of names to entities (accounts,
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 processes
Proxy Server: Request routing, exposes the public
API
Replication: Keep the system consistent, handle
failures
Updaters: Process failed or queued updates
Auditors: Verify integrity of objects, containers,
and accounts
14
System Components (Cont.)
Account Server: Handles listing of
containers, stores as SQLite DB
Container Server: Handles listing of objects,
stores as SQLite DB
Object 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
Software 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
Evolution of Object Storage Architecture
17
Building an OpenStack Cloud Compute
OpenStack Compute Key Features
18
Open Stack Compute
19
Apache CloudStack
IaaS…
21
IaaS challenges
Not out of the box by itself
Need a farm of hypervisors
 Xen, KVM, VMware…
Need storage
 For image catalogue
 For volume/snapshot management
Need flexible network that can be
configured on-demand
 VLANS, no VLANS, existing net infra, SDN…
22
IaaS is really:
A Data Center Orchestrator
 Data storage
 Data movement
 Data processing
That can:
 Handle failures
 Support large scale
 Be programmed
23
DevOps
Bring your developers closer to the
operations
Make your sys admins develop the apps
Move to Software Defined Data Center,
Automate everything
Dev:
Java
IDE
Ops:
Shell
CLI
24
“A little bit about the internals”
25
A Very Flexible IaaS Platform
Compute
Hypervisor
XenServer
Storage
VMware
Oracle
VM
KVM
Bare metal
Fiber
Channel
NFS
Swift
Block & Object
Local
Disk
iSCSI
Primary Storage
Network
Secondary Storage
Network & Network Services
Network
Type
Isolation
Firewall
Load
balancer
VPN
http://www.slideshare.net/cloudstack/cloudstack-architecture
26
Architecture / Language
Java application
Tomcat6, Axis2, Maven build + ant
 Ant going away in 4.1
Moving towards a plugin architecture
27
Releases
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
28
Cloud Interactions
http://www.slideshare.net/cloudstack/cloudstack-architecture
Primary
Storage
OVM Cluster
vcenter
Monitori
ng
Primary
CS API
Storage
vSphere Cluster
End
User UI
Admin
UI
CS Admin &
Domain
Admin UI
End-user API
XS Cluster
Clustered
CloudStack
CloudStack
CloudStack
Management
Server
Primary
Storage
XAPI
Primary
JSON
KVM Cluster Storage
NetConf
Juniper SRX
Cloud user
{API client (Fog/etc)}
Nitro API
ec2 API
Cloud user
{ec2 API client }
Ajax
Console
Cloud user
VNC
JSON
JSON
MySQ
L
Netscaler
Console
Console
Proxy VM
Proxy VM
{Proxied} SSH
HTTPS
Router VM
Router VM
Router VM
Sec.
Sec.
Storage
Storage
VM
VM
NFS
Server
NFS
NFS
HTTP (Template Download)
HTTP (Template Copy)
HTTP (Swift)
29
CloudMonkey
The CloudStack CLI, developed by Rohit
Yadav
~600 lines of Python
can be used both as an interactive shell and
as a command line tool that simplifies
CloudStack configuration and management.
Lots of features:
 Auto-completion
 Tabular output
 Help , scriptable, interactive shell…
30
Info
Apache incubator project
http://incubator.apache.org/cloudstack
#cloudstack and #cloudstack-dev on irc.freenode.net
@CloudStack on Twitter
http://www.slideshare.net/cloudstack
http://incubator.apache.org/cloudstack/mailinglists.html
Collaboration Conference, Nov 30th -Dec 2nd
 http://collab12.cloudstack.org/
 http://www.youtube.com/diycloudcomputing
31
What 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).
32
What 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
33
Main Components
34
Forwarding 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 forwarding
 Tunnel encapsulation/decapsulation
35
Centralized Control
One OpenFlow connection per datapath
 Exports idealized view of swtich’s datapath
Lookup based on L2‐L4
Full wildcarding and priorities
Actions: forward, drop, modify, and queue
Missed flows go to central controller
One management channel per system
 Switch‐level configuration
 Resources
 Counters
36
Distributed Virtual Switch
37
Performance
38
Raspberry Pi
39
Introduction
The Raspberry Pi is a credit-card sized
computer
It 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.
40
Introduction
Measuring
approximately
9cm x 5.5cm
41
History
Raspberry Pi is the work of the
Raspberry Pi Foundation, a charitable
organisation
UK registered charity (No. 1129409),
May 2009
It's supported by the University of
Cambridge Computer Laboratory and
tech firm Broadcomm
42
Motivation
Computer science skills increasingly important
Access to computers
Computers are the tool of the 21st century
Computer Science is concerned with much more
than simply being able to use a computer.
Children should understand how they work and
how to program them
43
What is Raspberry Pi?
The Raspberry Pi is a fully featured micro
-computer squashed onto a circuit board
measuring approximately 9cm x 5.5cm.
44
Features
Ultra low-cost (Model A $25, Model B $35)
Ultra low-power ~1W
Credit-card sized, fanless, instant start-up
Complete easy-to-program computer
45
Features
Provide a fun environment for
experimenting with programming and
electronics
Inexpensive, simple, open and easy to
maintain computer for schools
Fun computer for children to experiment
with at home(programming, robotics,
etc...)
46
Technology
The Raspberry Pi has a Broadcom BCM2835
system on a chip (SoC),which includes an
ARM1176JZF-S 700 MHz processor
Video Core IV GPU
originally 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.
47
Hardware
10/100 BaseT Ethernet socket
HDMI socket
USB 2.0 socket
RCA video socket
SD card socket
Powered from microUSB socket
3.5mm audio out jack
Header footprint for camera connection
48
Hardware
49
Operating System
Linux on a bootable SD card
 Fedora
 Raspbian
 Debian
 ArchLinux ARM
50
How to make it work!
51
Programming
By default, supporting Python as the
educational language.
Any language which will compile for ARMv6
can be used with the Raspberry Pi.
52
Price
Model A - $ 25
Model B - $ 35
Why so cheap ?
 SoC - System on a chip, a computer on a
single low voltage chip
 Linux OS
53
Applications
Can be used for making super computers
54
Applications
Raspberry Pi Medical Device Input Shield
55
Applications
Solar Raspberry Pi Power Pack
56
Applications
Voice-Activated Coffee Machine
Raspberry Pi Dynamic Bike Headlight
Prototype
57
Applications
It can make your Old TV in to a smart TV. (You
can play Videos, 3D Games, Music, Browse Inter
net and much more.
Raspberry Pi can Act as Full HD 1080p Media Pl
ayer.
Its a Mini Computer which just cost Rs.2,350/You can connect a Monitor, Keyboard and Mous
e and use it as a normal computer.
Its Graphics Capabilities is better than Apple Pr
oducts.
58
Raspberry Pi 2020
Exploit process scaling and keep price
constant:
8 cores, improved GPU, 8GB main memory
WiFi, camera, matchbox sized case
holographic laser projector, virtual keyboard
FPGA logic on main SoC, high speed links, ….
< $25
59
Introduction to Arduino
 Micro-Controller:
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.
Famous microcontroller
manufacturers are MicroChip,
Atmel, Intel, Analog devices,
and more.
60
What is Arduino?
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.
61
What is Arduino?
Large community
Multi platform Win/Mac/Linux
Based on ATmega328 – 8 BIT
Specs
•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
62
Arduino UNO:
Digital output
~: PWM.
0,1: Serial port.
In circuit
Serial
programming
Atmel
MicroController
USB port
Power
input
Power Supply
Analog input.
63
Arduino IDE:
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
64
What do these do?
Digital IO (LEDs, switches)
Analog IO (resistive sensor data)
Serial Connection (Sensors, GPS, etc)
Program from your computer
Your limit is only your creativity!
65
Terminology
I/O Board - main microcontroller
Shield - add-on boards
Sketch - the program
Sensor - components (thermistors, etc.)
Modules - serial data (GPS module, etc.)
66
Arduino I/O boards
UNO
Mega
LilyPad
Arduino BT
Arduino Nano
Arduino Mini
67
Shields
68
Shields
69
More Shields…
XBee Shield
WiFiShield
Ethernet Shield
70
Sensors
71
References
http://www.openstack.org/
http://www.slideshare.net/cloudstack
http://openvswitch.org
Source repository:
gitclonegit://openvswitch.org/openvswitch
Electronics For You, November 2012, Page 18
http://en.wikipedia.org/wiki/Raspberry_Pi
http://www.raspberrypi.org
http://www.element14.com/community/groups/raspbe
rry-pi
http://arduino.cc
72
Download