720 likes | 728 Views
Learn about the history, founding principles, and key features of the OpenStack and CloudStack platforms. Explore the evolution of object storage architecture and the flexible infrastructure offered by OpenStack Compute. Discover how DevOps can bring developers and sys admins closer together, and get an overview of the Apache CloudStack architecture and its interactions with various cloud components.
E N D
Introduction to Open Software Networking Platform: Part 2 March 17, 2015 CS Hong
OSSs OpenStack CloudStack Open vSwitch Aduino Rasberry PI
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."
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
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
Users disney, zynga, candy crush, youtube, Netflix
Its growth 100 X growth in developers. The crew is multiplying! and it has millions of lines of code, and a dozen projects.
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
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
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
Building an OpenStackCloud Compute OpenStack Compute Key Features
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…
IaaS is really: • A Data Center Orchestrator • Data storage • Data movement • Data processing • That can: • Handle failures • Support large scale • Be programmed
DevOps Dev: Java IDE Ops: Shell CLI Bring your developers closer to the operations Make your sys admins develop the apps Move to Software Defined Data Center, Automate everything
A Very Flexible IaaS Platform Hypervisor XenServer Network Type Local Disk VMware Isolation iSCSI Firewall Fiber Channel Oracle VM Load balancer KVM NFS Bare metal Swift VPN Block & Object Network Compute Storage Primary Storage Secondary Storage Network & Network Services http://www.slideshare.net/cloudstack/cloudstack-architecture
Architecture / Language • Java application • Tomcat6, Axis2, Maven build + ant • Ant going away in 4.1 • Moving towards a plugin architecture
Releases • Apache CloudStack4.4.1 released in Oct. 2014 • Time based releases • Rather slip features but guarantee release • Apache CloudMonkey 5.2.0 released for Aug. 2014
Cloud Interactions http://www.slideshare.net/cloudstack/cloudstack-architecture Primary Storage OVM Cluster XenApi Monitoring Primary Storage CS API vSphere Cluster vCenter API Cluster Mgmt CloudStack vcenter End User UI CloudStack Clustered CloudStack Management Server Primary Storage XS Cluster Admin UI XAPI CS Admin & End-user API Domain Admin UI Primary Storage JSON KVM Cluster NetConf Juniper SRX Cloud user {API client (Fog/etc)} Nitro API VNC JSON ec2 API JSON Netscaler MySQL Cloud user {ec2 API client } Console Proxy VM Console Proxy VM NFS Server NFS NFS {Proxied} SSH Sec. Storage VM Sec. Storage VM Ajax Console HTTPS Router VM HTTP (Template Download) Router VM HTTP (Template Copy) Router VM Cloud user HTTP (Swift)
CloudMonkey • The CloudStack CLI, developed by RohitYadav • ~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…
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/mailing-lists.html • Collaboration Conference, Nov 30th -Dec 2nd • http://collab12.cloudstack.org/ • http://www.youtube.com/diycloudcomputing
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).
What is Virtualization • Multiple virtualmachinesonthe same physicalhost • Lowestlayeristhehypervisor, which providestheillusion • BuiltbyOSpeople • Historically, simple bridge PhysicalSwitch
Forwarding Components • ovs-vswitchd (SlowPath) • Forwarding logic(learning, mirroring, VLANs, andbonding) • Remoteconfigurationandvisibility • openvswitch_mod.ko(FastPath) • Packet lookup, modification, andforwarding • Tunnelencapsulation/decapsulation
Centralized Control • One OpenFlowconnectionperdatapath • Exports idealized view of swtich’sdatapath • Lookup basedonL2‐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
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.
Introduction • Measuring approximately 9cm x 5.5cm
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
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
What is Raspberry Pi? • The Raspberry Pi is a fully featured micro-computer squashed onto a circuit board measuring approximately 9cm x 5.5cm.
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
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...)
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.
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
Operating System • Linux on a bootable SD card • Fedora • Raspbian • Debian • ArchLinuxARM