Developing on OpenStack
April 17, 2014
Startup Edmonton
Curtis Collicutt & David Ackerman
{curtis.collicutt, david.ackerman}@cybera.ca
Agenda
● 11:50 - What is OpenStack?
● Foundation
● How is it made?
● Releases and components
● Compare contrast w/ AWS, APIs...
● Developing on OpenStack
● How to try OpenStack
● Community
● 12:25 - Grab lunch
● 12:30 - David demo starts
● Cybera is a not-for-profit organization responsible
for overseeing the development of Alberta’s cyber-
infrastructure
● http://www.cybera.ca/
- 3 key areas
1. Designing and operating Cyberanet, Alberta’s public
ultra high-speed network
2. Piloting research and innovation projects that apply
the power of this network
3. Fostering business growth by opening up this network
to entrepreneurs working on bringing technology to
market
Questions
1. How many of you are developers?
2. Enterprise? Startups? Non-profit? SMB?
3. Used Amazon Web Services (AWS)?
4. Run their business on AWS or IaaS or Paas?
5. Heard of OpenStack?
6. Used OpenStack?
7. Deployed OpenStack?
8. Contributed to OpenStack?
What is OpenStack?
OpenStack is
● Open source software for building
private and public clouds
● Arguably most successful open source
project, after Linux
● 1000+ developers in 80 countries
● “Giant ball of mostly Python”
What OpenStack is not
● Not a hypervisor
○ Uses hypervisors, and supports several, but is
not a hypervisor itself
● Not a product
OpenStack
● Open
● Create public, private, & hybrid clouds
● Commercial support
● Thriving ecosystem
Platinum & Gold Members
Innovative Ecosystem
8
Diverse Use Cases
User Footprint
OpenStack
Foundation
Protecting, Empowering, and Promoting OpenStack software
and the community around it, including users, developers and the
entire ecosystem.
• Over 9,500 Individual Members, up from 5,600 at launch
• The leading Global IT companies as Gold & Platinum Members
• Board of Directors that sets strategic direction
• Project Technical Leads and a Technical Committee that are
elected from among the contributors
• User Committee to ensure the users voices are heard
The OpenStack Foundation
Provide a permanent legal home for OpenStack, with broad
industry support and the resources to support OpenStack’s
success
While preserving what’s working – a.k.a. the “OpenStack Way”
• Technical people making technical decisions based on merit
• Dedicated resources building the community and ecosystem
• A strong ecosystem of companies making money
• Encouraging and rewarding contribution in all forms
Foundation Approach
Expecting 4000+ in Hong Kong: November 5-8, 2013
OpenStack Summit Attendee Growth
May 12 - 16,
2014, Atlanta
OpenStack
Development
(how it’s made)
OpenStack development
● 115,206 commits made by 2,130
contributors
● representing 1,766,546 lines of code
● took an estimated 500 years of effort
(COCOMO model)
● Development model is meritocracy
Time-Based Release Cycle
New software release every six months, with interim milestones
Twice Yearly Design Summits
Immediately following software release to plan next version
Sessions led by developers and Project Technical Leads
Broad Contributions
1000 developers, from over 50 companies worldwide
Elected Leadership
Developers elect their own Project Technical Leaders
Open Development Process
Technology Platform
Open
● Open source
● Open design
● Open development
● Open community
Result
● Choice
● Rapid development
● Feature rich
● Customizable and extendable
● Scale
● Worldwide adoption
● Jobs
● Wealth creation
OpenStack
Releases &
Components
OpenStack Cloud Platform
Technology Platform
Code available under Apache 2.0 license. Design tenets
– scale & elasticity, share nothing & distribute
everything
OpenStack components
Horizon Dashboard / Web UI
Nova Compute
Keystone Authentication / Users /
Service Catalog
Neutron Networking-as-a-service
Glance Images
Cinder Block storage
Swift Object storage
Ceilometer Metrics and monitoring
Heat Orchestration
Release Codename Release Date Integrated Components
Austin 21 Oct 2010 Nova, Swift
Bexar 3 Feb 2011 Nova, Glance, Swift
Cactus 15 Apr 2011 Nova, Glance, Swift
Diablo 22 Sep 2012 Nova, Glance, Swift
Essex 5 Apr 2012 Nova, Glance, Swift,
Horizon, Keystone
Folsom 27 Sep 2012 Nova, Glance, Swift,
Horizon, Keystone,
Quantum, Cinder
Grizzly 4 April 2013 Nova, Glance, Swift,
Horizon, Keystone,
Quantum, Cinder
Havana 17 Oct 2013 Nova, Glance, Swift,
Horizon, Keystone,
Neutron, Cinder, Heat,
Ceilometer
Ubuntu
14.04 Press
Release:
OpenStack
mentioned
29 times
Release Codename Release Date Components
Icehouse 17 April 2014 Nova
Glance
Swift
Horizon
Keystone
Neutron
Cinder
Heat
Ceilometer
Trove
OpenStack components
Horizon Dashboard / Web UI
Nova Compute
Keystone Authentication / Users / Service
Catalog
Neutron Networking-as-a-service
Glance Images
Cinder Block storage
Swift Object storage
Ceilometer Metrics and monitoring
Heat Orchestration
Trove Database-as-a-service
Compare/Contrast
with AWS
(& other APIs)
Compare/contrast AWS &
OpenStack
Q: Who will win between GCE, AWS, and
OpenStack? Which is better, ect...
A: “Who will win between Century 21,
Home Depot, and a lumber mill?”
NOTE: API compatibility is a philosophy on its own...
OpenStack & AWS components
OpenStack Amazon Web Services
Horizon AWS Console
Nova EC2
Keystone IAM
Neutron Networking / Virtual Private Cloud
Glance AMIs
Cinder EBS
Swift S3
Ceilometer Usage / Billing
Heat CloudFormation
Trove RDS
Rackspace
mapping
OpenStack EC2 API
● https://wiki.openstack.
org/wiki/Nova/APIFeatureComparison
OpenStack and GAE
● Project to provide GAE API
compatability:
OpenStack and GAE
● Code: https://github.com/stackforge/gce-
api
Developing on
OpenStack
(Typical?) Enterprise approach
● GUI Driven
● Ticket-based
● Hand-crafted
● Reserved
● Lengthy provisioning
● Scale-up
● Proprietary
● Traditional dev
Cloud computing approach
● API driven
● Self-service
● Automated
● On-demand
● Scale-out
● Open source
● Agile, DevOps, etc...
Scale out vs scale up
● Scale up: make boxes bigger
● Scale out: more boxes
Elastic cloud patterns
● Small failure domains
● Loose coupling
● Circuit breaker pattern
● AWS EBS could be a crutch
● Shared nothing architecture
OpenStack Swift - Object Storage
● Not a file system & not block storage
● Highly available, durable, distributed,
eventually consistent, unstructured
storage accessed via a REST-ful http
API!
● Scale-out: If possible, drop the shared
file system, use object storage
How to try out
OpenStack
How to try/use OpenStack
● DevStack - http://devstack.org
● TryStack - http://trystack.org
● Search in github... vagrant openstack
● Example public OpenStack based clouds in US:
○ RackSpace - trial: http://developer.rackspace.com/devtrial/
○ HPCloud
○ Internap
● Example public OpenStack based clouds in Canada:
○ CloudA
○ ???
● CANARIE - http://canarie.ca
○ Digital Accelerator for Innovation and Research (DAIR)
● Canada’s Advanced Research and Innovation Network
● Works with twelve provincial and territorial network partners
(including Cybera) to form Canada’s advanced network
alliance
DAIR - https://atir-dair.canarie.ca/
● Provides entrepreneurs with free, high-performance cloud
resources for product development, testing and demonstration
● DAIR is a made-in-Canada cloud; data stays in Canada
● DAIR is powered by OpenStack
● Gives entrepreneurs free self-serve access to 4 high-
performance virtual servers (and more)
○ 2 geographic locations - Edmonton, AB & Sherbrooke, QC
Community
Mailing Lists & IRC
● Mailing lists
○ openstack@lists.openstack.org
○ openstack-announce@lists.openstack.org
○ openstack-dev@lists.openstack.org
○ openstack-operators@lists.openstack.org
● irc.freenode.net
○ #openstack
○ #openstack-101
○ #openstack-${component}
User Groups
● Canada
○ OpenStack Toronto - http://www.meetup.
com/OpenStackTO/
○ OpenStack Montreal - http://montrealopenstack.
org/
○ Canadian OpenStack User Group/canstack -
http://canstack.ca
● Worldwide
○ http://openstack.meetup.com/all/
DEMO: Chef +
OpenStack
Demo: Chef + OpenStack
● Deploy the Ghost blogging platform
using the configuration management
tool Chef, and the DAIR OpenStack
cloud
● Git repository:
○ https://github.com/agentdave/chef-ghost-example
OpenStack
The platform ecosystem for the cloud
Credits
● Please note that some of the slides
were taken from the OpenStack
Foundation’s marketing and
presentations: https://www.openstack.
org/marketing

Developing on OpenStack Startup Edmonton

  • 1.
    Developing on OpenStack April17, 2014 Startup Edmonton Curtis Collicutt & David Ackerman {curtis.collicutt, david.ackerman}@cybera.ca
  • 2.
    Agenda ● 11:50 -What is OpenStack? ● Foundation ● How is it made? ● Releases and components ● Compare contrast w/ AWS, APIs... ● Developing on OpenStack ● How to try OpenStack ● Community ● 12:25 - Grab lunch ● 12:30 - David demo starts
  • 3.
    ● Cybera isa not-for-profit organization responsible for overseeing the development of Alberta’s cyber- infrastructure ● http://www.cybera.ca/
  • 4.
    - 3 keyareas 1. Designing and operating Cyberanet, Alberta’s public ultra high-speed network 2. Piloting research and innovation projects that apply the power of this network 3. Fostering business growth by opening up this network to entrepreneurs working on bringing technology to market
  • 9.
    Questions 1. How manyof you are developers? 2. Enterprise? Startups? Non-profit? SMB? 3. Used Amazon Web Services (AWS)? 4. Run their business on AWS or IaaS or Paas? 5. Heard of OpenStack? 6. Used OpenStack? 7. Deployed OpenStack? 8. Contributed to OpenStack?
  • 10.
  • 11.
    OpenStack is ● Opensource software for building private and public clouds ● Arguably most successful open source project, after Linux ● 1000+ developers in 80 countries ● “Giant ball of mostly Python”
  • 12.
    What OpenStack isnot ● Not a hypervisor ○ Uses hypervisors, and supports several, but is not a hypervisor itself ● Not a product
  • 13.
    OpenStack ● Open ● Createpublic, private, & hybrid clouds ● Commercial support ● Thriving ecosystem
  • 14.
    Platinum & GoldMembers Innovative Ecosystem 8
  • 15.
  • 17.
  • 18.
    Protecting, Empowering, andPromoting OpenStack software and the community around it, including users, developers and the entire ecosystem. • Over 9,500 Individual Members, up from 5,600 at launch • The leading Global IT companies as Gold & Platinum Members • Board of Directors that sets strategic direction • Project Technical Leads and a Technical Committee that are elected from among the contributors • User Committee to ensure the users voices are heard The OpenStack Foundation
  • 19.
    Provide a permanentlegal home for OpenStack, with broad industry support and the resources to support OpenStack’s success While preserving what’s working – a.k.a. the “OpenStack Way” • Technical people making technical decisions based on merit • Dedicated resources building the community and ecosystem • A strong ecosystem of companies making money • Encouraging and rewarding contribution in all forms Foundation Approach
  • 20.
    Expecting 4000+ inHong Kong: November 5-8, 2013 OpenStack Summit Attendee Growth
  • 21.
    May 12 -16, 2014, Atlanta
  • 23.
  • 24.
    OpenStack development ● 115,206commits made by 2,130 contributors ● representing 1,766,546 lines of code ● took an estimated 500 years of effort (COCOMO model) ● Development model is meritocracy
  • 27.
    Time-Based Release Cycle Newsoftware release every six months, with interim milestones Twice Yearly Design Summits Immediately following software release to plan next version Sessions led by developers and Project Technical Leads Broad Contributions 1000 developers, from over 50 companies worldwide Elected Leadership Developers elect their own Project Technical Leaders Open Development Process Technology Platform
  • 28.
    Open ● Open source ●Open design ● Open development ● Open community
  • 29.
    Result ● Choice ● Rapiddevelopment ● Feature rich ● Customizable and extendable ● Scale ● Worldwide adoption ● Jobs ● Wealth creation
  • 30.
  • 31.
    OpenStack Cloud Platform TechnologyPlatform Code available under Apache 2.0 license. Design tenets – scale & elasticity, share nothing & distribute everything
  • 32.
    OpenStack components Horizon Dashboard/ Web UI Nova Compute Keystone Authentication / Users / Service Catalog Neutron Networking-as-a-service Glance Images Cinder Block storage Swift Object storage Ceilometer Metrics and monitoring Heat Orchestration
  • 33.
    Release Codename ReleaseDate Integrated Components Austin 21 Oct 2010 Nova, Swift Bexar 3 Feb 2011 Nova, Glance, Swift Cactus 15 Apr 2011 Nova, Glance, Swift Diablo 22 Sep 2012 Nova, Glance, Swift Essex 5 Apr 2012 Nova, Glance, Swift, Horizon, Keystone Folsom 27 Sep 2012 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder Grizzly 4 April 2013 Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder Havana 17 Oct 2013 Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilometer
  • 36.
  • 37.
    Release Codename ReleaseDate Components Icehouse 17 April 2014 Nova Glance Swift Horizon Keystone Neutron Cinder Heat Ceilometer Trove
  • 38.
    OpenStack components Horizon Dashboard/ Web UI Nova Compute Keystone Authentication / Users / Service Catalog Neutron Networking-as-a-service Glance Images Cinder Block storage Swift Object storage Ceilometer Metrics and monitoring Heat Orchestration Trove Database-as-a-service
  • 39.
  • 40.
    Compare/contrast AWS & OpenStack Q:Who will win between GCE, AWS, and OpenStack? Which is better, ect... A: “Who will win between Century 21, Home Depot, and a lumber mill?” NOTE: API compatibility is a philosophy on its own...
  • 43.
    OpenStack & AWScomponents OpenStack Amazon Web Services Horizon AWS Console Nova EC2 Keystone IAM Neutron Networking / Virtual Private Cloud Glance AMIs Cinder EBS Swift S3 Ceilometer Usage / Billing Heat CloudFormation Trove RDS
  • 44.
  • 45.
    OpenStack EC2 API ●https://wiki.openstack. org/wiki/Nova/APIFeatureComparison
  • 46.
    OpenStack and GAE ●Project to provide GAE API compatability:
  • 47.
    OpenStack and GAE ●Code: https://github.com/stackforge/gce- api
  • 48.
  • 49.
    (Typical?) Enterprise approach ●GUI Driven ● Ticket-based ● Hand-crafted ● Reserved ● Lengthy provisioning ● Scale-up ● Proprietary ● Traditional dev
  • 50.
    Cloud computing approach ●API driven ● Self-service ● Automated ● On-demand ● Scale-out ● Open source ● Agile, DevOps, etc...
  • 51.
    Scale out vsscale up ● Scale up: make boxes bigger ● Scale out: more boxes
  • 52.
    Elastic cloud patterns ●Small failure domains ● Loose coupling ● Circuit breaker pattern ● AWS EBS could be a crutch ● Shared nothing architecture
  • 53.
    OpenStack Swift -Object Storage ● Not a file system & not block storage ● Highly available, durable, distributed, eventually consistent, unstructured storage accessed via a REST-ful http API! ● Scale-out: If possible, drop the shared file system, use object storage
  • 54.
    How to tryout OpenStack
  • 55.
    How to try/useOpenStack ● DevStack - http://devstack.org ● TryStack - http://trystack.org ● Search in github... vagrant openstack ● Example public OpenStack based clouds in US: ○ RackSpace - trial: http://developer.rackspace.com/devtrial/ ○ HPCloud ○ Internap ● Example public OpenStack based clouds in Canada: ○ CloudA ○ ??? ● CANARIE - http://canarie.ca ○ Digital Accelerator for Innovation and Research (DAIR)
  • 56.
    ● Canada’s AdvancedResearch and Innovation Network ● Works with twelve provincial and territorial network partners (including Cybera) to form Canada’s advanced network alliance
  • 58.
    DAIR - https://atir-dair.canarie.ca/ ●Provides entrepreneurs with free, high-performance cloud resources for product development, testing and demonstration ● DAIR is a made-in-Canada cloud; data stays in Canada ● DAIR is powered by OpenStack ● Gives entrepreneurs free self-serve access to 4 high- performance virtual servers (and more) ○ 2 geographic locations - Edmonton, AB & Sherbrooke, QC
  • 60.
  • 61.
    Mailing Lists &IRC ● Mailing lists ○ openstack@lists.openstack.org ○ openstack-announce@lists.openstack.org ○ openstack-dev@lists.openstack.org ○ openstack-operators@lists.openstack.org ● irc.freenode.net ○ #openstack ○ #openstack-101 ○ #openstack-${component}
  • 62.
    User Groups ● Canada ○OpenStack Toronto - http://www.meetup. com/OpenStackTO/ ○ OpenStack Montreal - http://montrealopenstack. org/ ○ Canadian OpenStack User Group/canstack - http://canstack.ca ● Worldwide ○ http://openstack.meetup.com/all/
  • 63.
  • 64.
    Demo: Chef +OpenStack ● Deploy the Ghost blogging platform using the configuration management tool Chef, and the DAIR OpenStack cloud ● Git repository: ○ https://github.com/agentdave/chef-ghost-example
  • 65.
  • 67.
    Credits ● Please notethat some of the slides were taken from the OpenStack Foundation’s marketing and presentations: https://www.openstack. org/marketing