openstack enabling devopsd2zmdbbm9feqrf.cloudfront.net/2016/usa/pdf/devnet-1104.pdf · openstack...

22

Upload: truongtruc

Post on 07-May-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

OpenStack Enabling DevOpsShannon McFarland – CCIE #5245

Distinguished Engineer

@eyepv6

DEVNET-1104

• Introduction

• DevOps

• OpenStack

• Virtualization

• CI/CD Pipeline

• Orchestration

• Conclusion

Agenda

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

What is DevOps?

• Practice that emphasizes the collaboration between developers, QA and Technical Operations

• As much an organizational process as it is technical

• Focused on automating the build, test and deployment of software

• Aims to release better tested software more frequently

• Blurs the line between traditional developers and IT Operations

DevOps

Dev /

SW Eng QA

Technology

Operations

DEVNET-1104 4

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

OpenStack

• Open Source platform for cloud computing that controls large pools of compute, storage and networking

DEVNET-1104 5

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

OpenStack

• Provides APIs to all features and functionality

• Compute (Nova)

• Storage – Cinder (block), Swift (Object), Glance (images)

• Networking (Neutron)

• Includes complex concepts – firewalls, VPN, etc.

• Supports many flavors of networking – VLAN, VXLAN, provider networks, etc.

• Floating IP to map private IP space to public

• Encourages DevOps model but doesn’t require it

DEVNET-1104 6

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

Why Virtualization?

Traditional approach:

• Group of developers start coding on their laptops

• Transition to a HW that has been allocated at project start and may or may not match requirements

• Long lead time to get new/different hardware

• Hardware upgrade and updates are cumbersome and slow

• Low utilization on dedicated hardware (5-15% is common)

Virtualization allows allocation of physical hardware to multiple projects

DEVNET-1104 7

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

Virtualization using OpenStack

IT Team

• Deploys an OpenStack cloud

• Focuses on deploying standard hardware and enforcing policy

Development Team

• Get authorized to use cloud

• Starts new VMs as necessary (typically start by using GUI, quickly migrate to using APIs)

• Focuses on delivering enhanced functionality, not filling out paperwork

DEVNET-1104 8

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

Virtualization using OpenStack

Once IT cloud is in place:

• Encourages experimentation via less commitment to hardware

• Offloads both teams – developers don’t spend time configuring hardware, IT focuses on overall utilization of standardized hardware

• Next step is automation

• Encouraging development to automate makes it easier to enforce policy as it decreases their work & increases consistency

• Automation progresses into continuous deployment –> on commit, software is deployed and tested resulting in instantaneous feedback

DEVNET-1104 9

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

Revision Control System

Code Review Tool

Code Repo

Test JobsIntegration

Server

• RCS: Subversion, Mercurial, CVS, Bazaar, Perforce, ClearCase, etc..

• Code Review: Gerrit, Gitpull request, Phabricator, Barkeep, Gitlab, etc..

• Code Repo: GitHub, BitBucket, BitKeeper, Gitorious, etc..

• Integration Server: Jenkins/Hudson, Zuul, CloudBees, Go, Maven, etc..

• Test Jobs: Tempest, Rally, puppet-rspec, tox, etc..

• Artifacts: rpmbuild, Jenkins, Artifactory, Apache Archiva, etc..

(Gerrit/Git pull request)

*See notes for logo credits

(Tempest/Rally/etc)

Continuous Integration/Deployment

(GitHub)

Artifact Creation

Artifact Rep Mgr

Deployment

Jobs

(rpmbuild/Jenkins/etc)

Continuous

Deployment

DEVNET-1104 10

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

CI/CD Pipeline to Increase Velocity

• Every commit triggers a build (automated, nothing manual)

• Every build is automatically tested

• Responsible people are notified when things fail

• Everyone sees what’s happening

DEVNET-1104 11

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

CI/CD Principles

• The process must be repeatable and reliable

• Automate everything (DevOps!)

• If something is painful or difficult or large, do it more often and break it down into smaller jobs

• Everything is in source control

• Done means “released”

• Build quality in (reviews and automated testing)

• Everyone has responsibility for the release process

DEVNET-1104 12

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

CI/CD on OpenStack

• OpenStack can provide the basis for a CI/CD system

• Cleanly supports dynamic allocation and build of system

• Good cloud application – on commit, new infra is spun up that is a scaled version of the target environment, software is deployed and automatically tested; results reported back to standard dashboard

• Target scale can be anything from small to very large, with high degree of confidence in final deployment

• There’s still a problem: how do you orchestrate the bring up of multiple VMs with complex networking?

DEVNET-1104 13

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

Automating Deployment of Applications (Heat)

• Challenge: How do I orchestrate the deployment of a complex application?

• Solution: OpenStack Heat

• Template based description of applications

• Can deploy multiple composite cloud applications

• Templates describe servers (VMs), floating IPs, security groups, storage,

users, etc.

• Templates also describe relationships between resources (volume X is

connected to server Y)

• Easy to read (text files), easy to audit for compliance

DEVNET-1104 14

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

heat_template_version: 2015-10-15

parameters:

image:

type: string

description: Name of image to use for servers

default: ecb42067-f5f5-4a9c-888f-0559fdf6c11b

flavor:

type: string

description: Flavor to use for servers

default: Demo

private_net_name:

type: string

description: Name of private network to be created

default: test_net

private_net_cidr:

type: string

description: Private network address (CIDR notation)

default: 10.10.30.0/24

. . .

resources:

private_net:

type: OS::Neutron::Net

properties:

name: { get_param: private_net_name }

private_subnet:

type: OS::Neutron::Subnet

properties:

network: { get_resource: private_net }

cidr: { get_param: private_net_cidr }

Heat Template

• JSON/YAML

• Parameters

• Resources

DEVNET-1104 15

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

Conclusion

• OpenStack provides a solid platform for hosting applications

• OpenStack provides APIs to access the infrastructure, encouraging DevOps practices

• CI/CD on OpenStack is a natural fit (and encourages good practices)

• OpenStack Heat can be used to describe and deploy entire applications –especially powerful when tied to other automation tools such as Ansible

DEVNET-1104 16

Q & A

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

Complete Your Online Session Evaluation

Don’t forget: Cisco Live sessions will be available for viewing on-demand after the event at CiscoLive.com/Online

• Give us your feedback to be entered into a Daily Survey Drawing. A daily winner will receive a $750 Amazon gift card.

• Complete your session surveys through the Cisco Live mobile app or from the Session Catalog on CiscoLive.com/us.

DEVNET-1104 18

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco Public

Continue Your Education

• Demos in the Cisco campus

• Walk-in Self-Paced Labs

• Lunch & Learn

• Meet the Engineer 1:1 meetings

• Related sessions

DEVNET-1104 19

Please join us for the Service Provider Innovation Talk featuring:

Yvette Kanouff | Senior Vice President and General Manager, SP Business

Joe Cozzolino | Senior Vice President, Cisco Services

Thursday, July 14th, 2016

11:30 am - 12:30pm, In the Oceanside A room

What to expect from this innovation talk

• Insights on market trends and forecasts

• Preview of key technologies and capabilities

• Innovative demonstrations of the latest and greatest products

• Better understanding of how Cisco can help you succeed

Register to attend the session live now or

watch the broadcast on cisco.com

Thank you