29
Dr. Dobbs Conference: 12 Apr 2014 (Bangalore) Rahul Krishna Upadhyaya C B Ananth Padmanabhan

Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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

Page 1: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

Dr. Dobbs Conference: 12 Apr 2014 (Bangalore)

Rahul Krishna Upadhyaya C B Ananth Padmanabhan

Page 2: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

Topics to be Covered

• What is Openstack ?• Openstack : a Brief History• Architecture • Components in Openstack• Request flow for VM creation• Contribution Processes.• Demo

Page 3: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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

Page 4: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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

Page 5: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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.

Page 6: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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.

Page 7: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

Cloud : where does Openstack Fit ?

OpenStack is IaaS

Page 8: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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

Page 9: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

Component Interaction

Page 10: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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

Page 11: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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

Page 12: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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

Page 13: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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).

Page 14: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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

Page 15: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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.

Page 16: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

Architecture.

Page 17: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

Request Flow (VM Creation)

Page 18: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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

Page 19: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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.

Page 20: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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

Page 21: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

A release in Openstack

Page 22: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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.

Page 23: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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.

Page 24: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

Gerrit WorkFlow

Step By Step : https://wiki.openstack.org/wiki/Gerrit_Workflow

Page 25: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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

Page 26: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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

Page 27: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

OpenStack is... you, us

http://launchpad.net/openstackhttp://wiki.openstack.orghttp://planet.openstack.orghttp://ask.openstack.orgTwitter@OpenStack@OpenStackIndia@ilearnstack

Page 28: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

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 ]

Page 29: Openstack - An introduction/Installation - Presented at Dr Dobb's conference, Bangalore (12 04-2014)

Thank You.