Upload
rahul-krishna-upadhyaya
View
1.417
Download
0
Embed Size (px)
DESCRIPTION
Slide was presented at Dr. Dobb's Conference in Bangalore. Talks about Openstack Introduction in general Projects under Openstack. Contributing to Openstack. This was presented jointly by CB Ananth and Rahul at Dr. Dobb's Conference Bangalore on 12th Apr 2014.
Citation preview
Dr. Dobbs Conference: 12 Apr 2014 (Bangalore)
Rahul Krishna Upadhyaya C B Ananth Padmanabhan
Topics to be Covered
• What is Openstack ?• Openstack : a Brief History• Architecture • Components in Openstack• Request flow for VM creation• Contribution Processes.• Demo
What is Openstack ?
• OpenStack is a collection of open source technologies delivering a massively scalable cloud operating system (IaaS).
• Projects Listing: https://github.com/openstack
History Of Openstack• NASA wanted to host its own high-res images without help from Google,
Microsoft or Amazon.
• Several freethinkers worked with NASA to bring up a distributed computing environment named NASA Nebula.
• A key component of that effort was named ‘Nova’
• While NASA contributed ‘Nova’, which is processing power, Rackspace contributed ‘swift’, which provided storage capacity.
• Nova is similar to Amazon EC2, while swift is similar to Amazon S3
• Along with NASA, Rackspace, and a group of freethinkers, Nova emerged into Openstack in July 2010
Facts and Numbers
• In 3 years of conception, Openstack has interests from over 200 companies, actively participating in contribution and adoption.
• List can be seen at http://www.openstack.org/foundation/companies/
• Openstack Foundation is the second richest Open-source foundation today, after Linux Foundation.
• Few renowned companies using it for production cloud. Eg. HP Cloud, Paypal,etc
• Termed as the “Linux of the Cloud”
• Exponential growth in the code base.
Who is Using Openstack Today ?Complete List with User Stories : http://www.openstack.org/user-stories/
Web / SaaS/ eCommerce : PayPal , HP , Wikimedia , etc.
Academic / Research / Government : Argonne National Labs, CERN, MIT Computer Science & Artificial Intelligence Lab (CSAIL)
Information Technology: HP, IBM, Cisco, eNovance, Opera Software, Seagate, Aptira, etc.
Film / Media / Gaming : Comcast , Sony Gaming Network.
Cloud : where does Openstack Fit ?
OpenStack is IaaS
Components Of Openstack
Project Codenamed
Dashboard Horizon
Compute Nova
Identity Keystone
Network Neutron
Image Service Glance
Block Storage Cinder
Object Storage Swift
Metering Telemetry
Orchestration Heat
Component Interaction
Salient Features Across OpenStack Projects Completely Open-Sourced. Almost Completely written in Python. Highly Modular. Highly Distributed – Any thing runs anywhere. Highly Pluggable Architecture. Highly Configurable Highly Customizable
Nova (Compute Project)
Nova is the compute Project for Openstack. A large number of processes cooperate to turn end user API requests into running virtual machines.
Instance Provisioning and VM related Operations.
Wiki Page : https://wiki.openstack.org/wiki/NovaSalient Features.• ReST based API• Highly-modular framework• Horizontally and massively scalable• Hardware agnostic• Can manage KVM, ESX, HyperV, vCenter, Baremetal.Hypervisor and support : https://wiki.openstack.org/wiki/
HypervisorSupportMatrix
Glance OpenStack Image Store centralizes storage of virtual images that users can
utilize to start instances. Comparable to VMware templates for easier understanding.
Wiki : https://wiki.openstack.org/wiki/GlanceFeatures.• Disk images and associated metadata• Discover, register and retrieve• Multiple back-ends Supported.• Multiple disk formats : raw, VHD, vmdk, vdi, qcow2, aki, ari, ami• Multiple container formats : ovf, bare, aki, ari, ami
Keystone (Identity) Framework for authentication and authorization for all services. Provides
adding users to groups (tenants) and to managing permissions.
Wiki : https://wiki.openstack.org/wiki/Keystone
Features• Authenticate users and issue tokens for access to services• Store users and tenants for a role-based access control (RBAC)• Create policies across users and services• has a pluggable backend which allows most support standard back-ends
like LDAP or SQL, as well as Key Value Stores (KVS).
Swift (object Store) OpenStack’s Object Store (“Swift”) is designed to provide large scale
storage of data that is accessible via APIs. Unlike a traditional file server, it is completely distributed, storing multiple copies of each object to achieve greater availability and scalability.
Wiki : https://wiki.openstack.org/wiki/Swift
Features:• Stores and retrieves objects (files)• Versioned objects• ReSTful interface• Objects in containers in accounts• No object size limit• 3+ replication factor in separate• Stable and deployed in production
Neutron (Network)Allow users to create their own networks and then attach interfacesPluggable architecture to support for vendors and technologies by writing your own plugin and agents. Earlier called Quantum.
Wiki : https://wiki.openstack.org/wiki/Neutron
Features:•Provides networking for VMs provisioned by Openstack. SDN part of Openstack•Configures Soft-switches and physical switches.•Provides policies at port level. Complete segregation for tenant networks.•Plugins available for OVS (openvirtual switch) , Nicira, Cisco Nexus, brocade, bigswitch, etc.
Architecture.
Request Flow (VM Creation)
DevStack
• It is a way in which Developers can test their code locally with Openstack instance on their machines.
• Clones code, runs Openstack services from python code.• Strictly not for a production deployment.• Difference between Devstack and a install via Linux packages.• Other places to Try Openstack :
1) TryStack : www.trystack.org
2) Openstack on VirtualBox on Laptop : http://bit.ly/1b6Y2W8
Testing Openstack As a developer you need to write all the unit tests. Integration testing is done via Tempest Framework. Tempest checks all features via calling the APIs and also tests the CLI. Gate Tests (part of tempest) runs at each checkin. Checks features
required for Minimum Acceptability Smoke Tests : This is just a basic test which helps us to prevent wastage of
time since it helps us identify whether we can go ahead with further testing
Custom tests can be added to the framework for any openstack extensions.
Benchmarking Openstack Rally is tool that lets you benchmark Openstack. Can help you to Deploy openstack then run Tempest and validate
Integration too. Creates multiple users and fires multiple API calls and calculates result of
performance. Result can be put as text/graph Various Scenarios have been included for each Openstack Project into
Rally.
More on Rally : http://www.slideshare.net/sliderakrup/rally-baa-s-os-meetup-31864829
A release in Openstack
Release Info• One stable release every six months.• Current Stable Release : Codenamed Havana (Released Nov 2013)• Previous releases: Grizzly, Folsom, Essex, Diablo, Cactus, Bexar,
Austin• Next Release : Icehouse (ETA May 2013)• PTLs for each project in Openstack are elected by community.
Also,there are ambassadors to each country.
How to ContributeSign CLA ( Contributor’s License Agreement )
Join Openstack Foundation.
Join Launchpad.
Create blueprint (to add features)
Pick up Bugs (starters can try :https://bugs.launchpad.net/openstack/+bugs?field.tag=low-hanging-fruit)
Get Openstack Code at https://github.com/openstack
Contribute to any area which you feel is your strength. Openstack Projects Spans across areas involving most of the Computer Science basic concepts so there something for everyone.
Contributing to Docs are a brilliant way of contributing to Openstack and making it better and learning the Openstack contribution Process this way.
Gerrit WorkFlow
Step By Step : https://wiki.openstack.org/wiki/Gerrit_Workflow
Installation (FAQs) There is no “Prescribed” way of installing Openstack as of today. You can choose how to Install Openstack based on your ease of use and your
familiarity of components involved. Manual Installation is very much possible but not recommended because of sheer
number of Configurations involved.This would take up lot of time and introduces high chances of error.
Devstack is a way to test your code. It is not how you install Production Openstack. You can use several Linux distros to install Openstack. Ubuntu and RedHat are
highly popular amongst the developers. Some Tools available for Openstack Installation
Redhat Packstack and Foreman based installer. Cisco Openstack Installer. Ubuntu’s Juju Platform. Mirantis Fuel , etc
Cisco OpenStack Installer
• Puppet and Cobbler based automated deployment and configuration management.
• Significant changes in the method of Installation of Havana Release. Still uses Puppet.
• Uses Upstream Puppet Modules from Openstack Github repos.• All efforts are completely Open-source.
COI on Havana : http://docwiki.cisco.com/wiki/Openstack:Havana-Openstack-Installer
OpenStack is... you, us
http://launchpad.net/openstackhttp://wiki.openstack.orghttp://planet.openstack.orghttp://ask.openstack.orgTwitter@OpenStack@OpenStackIndia@ilearnstack
Getting Involved in Community
Get InvolvedAttend Openstack Meetups in your city. Openstack India User group is currently conducting meetups in various cities across India (Delhi, Pune, Bangalore, Hyderabad, Chennai, Ahmedabad )[ http://www.meetup.com/Indian-OpenStack-User-Group/]
ContributeAs a developer Contribute upstream to Openstack.As a Non-Developer you can contribute in the following ways. [http://ilearnstack.com/2013/06/16/685/]
InteractOpenstack mailing Lists : [ https://wiki.openstack.org/wiki/Mailing_Lists ]Openstack IRCs : [https://wiki.openstack.org/wiki/IRC ]
Thank You.