openstack enabling devops

21
OpenStack Enabling DevOps Shannon McFarland – CCIE #5245 Distinguished Engineer @eyepv6 DEVNET-1104

Upload: cisco-devnet

Post on 16-Apr-2017

190 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: OpenStack Enabling DevOps

OpenStack Enabling DevOpsShannon McFarland – CCIE #5245

Distinguished Engineer

@eyepv6DEVNET-1104

Page 2: OpenStack Enabling DevOps

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

• Introduction• DevOps• OpenStack• Virtualization• CI/CD Pipeline• Orchestration • Conclusion

Agenda

DEVNET-1104 2

Page 3: OpenStack Enabling DevOps

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

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 Write code to control infrastructure

DevOps

Dev /SW Eng QA

TechnologyOperations

DEVNET-1104

Page 4: OpenStack Enabling DevOps

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

OpenStack

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

DEVNET-1104

Page 5: OpenStack Enabling DevOps

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

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

Page 6: OpenStack Enabling DevOps

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

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

Page 7: OpenStack Enabling DevOps

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

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

Page 8: OpenStack Enabling DevOps

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

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

Page 9: OpenStack Enabling DevOps

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

Revision Control System

Code Review Tool Code Repo

Test JobsIntegration Server

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

• Code Review: Gerrit, Git pull 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 CreationArtifact Rep Mgr

Deployment Jobs

(rpmbuild/Jenkins/etc)

ContinuousDeployment

DEVNET-1104

Page 10: OpenStack Enabling DevOps

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

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

Page 11: OpenStack Enabling DevOps

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

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

Page 12: OpenStack Enabling DevOps

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

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

Page 13: OpenStack Enabling DevOps

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

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

Page 14: OpenStack Enabling DevOps

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

heat_template_version: 2015-10-15parameters: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

Page 15: OpenStack Enabling DevOps

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

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

Page 16: OpenStack Enabling DevOps

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

Q & A

DEVNET-1104 16

Page 17: OpenStack Enabling DevOps

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

17DEVNET-1104

Page 18: OpenStack Enabling DevOps

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

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

Page 19: OpenStack Enabling DevOps

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

Please join us for the Service Provider Innovation Talk featuring:

Yvette Kanouff | Senior Vice President and General Manager, SP BusinessJoe Cozzolino | Senior Vice President, Cisco Services

Thursday, July 14th, 201611: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

Presentation ID 19

Page 20: OpenStack Enabling DevOps

Thank you

© 2016 Cisco and/or its affiliates. All rights reserved. Cisco PublicDEVNET-1104 20

Page 21: OpenStack Enabling DevOps