Developing on OpenStack Startup Edmonton

Preview:

DESCRIPTION

The title of the presentation might be a bit off. We gave about a 30 minute introduction to OpenStack, and then about a 30 min demo on installing the Ghost blogging platform using Chef in an OpenStack cloud.

Citation preview

Developing on OpenStack April 17, 2014Startup 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 areas1. 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 MembersInnovative Ecosystem

8

Diverse Use CasesUser 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 PlatformTechnology Platform

Code available under Apache 2.0 license. Design tenets – scale & elasticity, share nothing & distribute

everything

OpenStack componentsHorizon 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:OpenStackmentioned29 times

Release Codename Release Date Components

Icehouse 17 April 2014 NovaGlanceSwiftHorizonKeystoneNeutronCinderHeatCeilometerTrove

OpenStack componentsHorizon 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/Contrastwith AWS(& other APIs)

OpenStack & AWS componentsOpenStack 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

Rackspacemapping

OpenStack and GAE

● Project to provide GAE API compatability:

OpenStack and GAE

● Code: https://github.com/stackforge/gce-api

Developing onOpenStack

(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

Recommended