54
1 From How-To to POC to Production: Learning by Building Presented By: Grant Kirkwood, CTO – Unitas Global March 4, 2017 – SCALE 15x – Pasadena, Calif

Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

1

From How-To to POC to Production: Learning by BuildingPresented By: Grant Kirkwood, CTO – Unitas Global

March 4, 2017 – SCALE 15x – Pasadena, Calif

Page 2: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

22

OPENSTACK

WHAT IS OPENSTACK?

• “Science experiment”• “A mess of competing projects and priorities”• “De facto choice for new private clouds”

Page 3: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

33

ONE DOES NOT SIMPLY

LEARN OPENSTACK

Page 4: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

44

FROM HOW-TO: TO POC: TO

PRODUCTION!

LEARNING BY BUILDING…

Page 5: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

55

STEP 1:

Page 6: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

66

DEVSTACK

WHAT IS IT?

• Scripted install• All-in-one• Up and running in minutes

Page 7: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

77

WHAT YOUNEED

• Laptop!• VirtualBox• Ubuntu• DevStack

++

DEVSTACK

Page 8: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

88

DOWNLOAD

• VirtualBox: https://www.virtualbox.org/wiki/Downloads

• Ubuntu: http://releases.ubuntu.com/16.04/ubuntu-16.04.10-server-amd64.iso

DEVSTACK

Page 9: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

99

INSTRUCTIONS

• Install VirtualBox• Create an Ubuntu VM• Install DevStack

• Help found here:http://ronaldbradford.com/blog/downloading-and-installing-devstack-2016-04-02/

DEVSTACK

Page 10: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

1010

• Step by step instructions here• Tested…. it works! • Thanks Ronald Bradford

http://ronaldbradford.com/blog/downloading-and-installing-devstack-2016-04-02/

DEVSTACK

Page 11: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

1111

WHAT WELEARNED

• CLI basics• How Horizon (etc) should work (and look)

DEVSTACK

Page 12: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

1212

STEP 2:

Page 13: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

1313

WHAT IS IT?

• Step-by-step walkthrough• “Vanilla” / trunk-based• Not scripted – each component built by hand

HOW-TO

Page 14: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

1414

WHAT YOUNEED

• Some hardware ideal• Intel NUCs are good• VLAN-capable switch• Patience!

HOW-TO

Page 15: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

1515

DOWNLOAD

• Ubuntu: http://releases.ubuntu.com/16.04/ubuntu-16.04.10-server-amd64.iso

• Documentation:http://docs.openstack.org/mitaka/install-guide-ubuntu/

• A good text editor:https://atom.io

• A note on versions…

HOW-TO

Page 16: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

1616

DOWNLOAD

• Documentation:

HOW-TO

Page 17: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

1717

DOCUMENTING

• Why the good text editor?• Documenting your work critical• You WILL do things wrong• You WILL want to do things differently next time

around… yes next time

HOW-TO

Page 18: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

1818

DOCUMENTING

• Leave yourselfsome notes!

• Will save you grieflater…

• And helps with learning

• …AND will need for HA

HOW-TO

Page 19: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

1919

INSTRUCTIONS

• Internet (2 networks)• Switch• 3+ Servers• Architecture decisions in official how-to doc• Use provider networks with self-service option

HOW-TO

Page 20: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

2020

INSTRUCTIONS

• Initial network setup• Translate to home network…

http://docs.openstack.org/mitaka/install-guide-ubuntu/environment-networking.html

HOW-TO

Page 21: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

2121

TOPOLOGY

• 192.168.10.0/24• Cut it in half…

• 10.0.10.0/24

Internet

Router

Switch

Compute 1Controller Compute 2, etc.

HOW-TO

Page 22: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

2222

CORECOMPONENTS

• Contents from How-To Tutorial:• Essential: Environment, Identity,

Image, Compute, Networking, Dashboard, Block Storage

HOW-TO

Page 23: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

2323

OPENSTACK TIME MACHINE

Page 24: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

2424

LIFTOFF

• Time to launch your first VM…

• Good chance it won’t work• Where to look for clues• Remember Devstack…

HOW-TO

Page 25: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

2525

LOOKS LIKE THIS:

FEELS LIKE THIS:

WHEN YOU (SUCCESSFULLY) LAUNCH YOUR FIRST VM…

Page 26: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

2626

WHAT WELEARNED

• OpenStack under the hood• How all the components work together• Where to look for clues when something goes wrong• CLI in-depth

HOW-TO

Page 27: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

2727

SHORTCOMINGS

• Not designed to scale• Not optimized for performance• Not built highly available• Wouldn’t use this in production

HOW-TO

Page 28: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

2828

NEXTSTEPS

• Tear it down and start over! J• Do it from your notes this time

(how-to phone-a-friend)• Fix the things you want to improve• Make sure documentation complete – will need

for POC

HOW-TO

Page 29: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

2929

NOT QUITEREADY FOR POC…

• A proof of concept has to be built with business use in mind

• That means we have a bunch of new stuff to learn

HOW-TO

Page 30: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

3030

SCALABILITY &RELIABILITY

• Now the fun begins…• First, time to upgrade storage: Ceph!• Start by changing Glance to a Ceph backend • Keep it simple – only change one thing at a time!• Then change Cinder to use Ceph for volumes

HOW-TO

Page 31: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

3131

SCALABILITY &RELIABILITY

• Building for high availability: wrapping services in more services… service burritos?

• What components do we use? Where do they fit?• Can’t really build on top of the existing config• This is just one way to do it…

HOW-TO

Page 32: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

3232

HIGH AVAILABILITY

Page 33: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

3333

MariaDB

RabbitMQ

HIGH AVAILABILITY

Page 34: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

3434

MariaDB

RabbitMQ

Private VLAN for RabbitMQ

Private VLAN for MariaDB

MariaDB

RabbitMQ

MariaDB

RabbitMQ

GaleraGalera

HIGH AVAILABILITY

Page 35: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

3535

MariaDB

RabbitMQ

MariaDB

RabbitMQ

MariaDB

RabbitMQ

Private VLAN for RabbitMQ

Private VLAN for MariaDB

GaleraGalera

HAProxy

Keepalived

IP

IP

IPV

IP

Linux Bridge network Linux Bridge network Linux Bridge network

Private VLAN for OpenStack Management

HIGH AVAILABILITY

Page 36: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

3636

SCALABILITY &RELIABILITY

• Ok, so that’s the controllers!• Now that we know how it fits together…• Back to your build notes!

HOW-TO

Page 37: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

3737

SCALABILITY &RELIABILITY

• Notable changes – service endpoints • Update hosts file with pointer to HA endpoint• …which means build the service endpoints to IPs that

don’t initially exist!• Update haproxy as you go along

HOW-TO

Page 38: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

3838

SCALABILITY &RELIABILITY

• Example:

HOW-TO

Page 39: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

3939

TESTING

• Break it!• Looping VM launching• Power cycle controllers mid-cycle • Haproxy stats helpful• Tempest, Rally, etc.

HOW-TO

Page 40: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

4040

HOW-TO

Page 41: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

4141

STEP 3:

Page 42: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

4242

NOW THEFUN BEGINS

• You know how it all works now…but…

• Throw everything you just learned out the window!

PROOF OF CONCEPT

Page 43: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

4343

QUESTION:

• Are you in the business of building and operating technology infrastructure?

PROOF OF CONCEPT

Page 44: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

4444

DECISIONS

• Are we building for a business requirement?• Must assume POC will be used

(after all, if not, it wasn’t a successful POC!)• Therefore, build as if for production • Don’t want to be doing this by hand…

PROOF OF CONCEPT

Page 45: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

4545

DECISIONS

• Deployment method• Distribution?

(refer to question 1)• Automation

ie; OpenStack-Ansible• Hardware

PROOF OF CONCEPT

Page 46: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

4646

BUSINESSREQUIREMENTS

• Define business requirements & success criteria• Keep it simple to start!• Each service adds complexity, whether or not used • Conduct surveys: regimented/consistent process

for adding new services

PROOF OF CONCEPT

Page 47: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

4747

GETTINGSTARTED

• Build small environment using distribution of choice now that you understand how it works inside (or non-distribution with OpenStack-Ansible)

• Test business applications in environment

PROOF OF CONCEPT

Page 48: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

4848

UPDATES &UPGRADES

• Brain surgery…

PROOF OF CONCEPT

Page 49: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

4949

STEP 4:

Page 50: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

5050

DEFINITION

• Supporting business-critical workload• Downtime not an option• Tied to revenue (and thus our jobs!)

PRODUCTION

Page 51: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

5151

OPERATIONALREQUIREMENTS

• Monitoring• Tracking• Measuring performance• Updates & upgrades

PRODUCTION

Page 52: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

5252

AUTOMATION

• Much of what you did is automated with major distributions

• Still critical to understand how it all works• Serves as foundation for production grade

operational excellence

PRODUCTION

Page 53: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

5353

Testing the waters with DevStack

• VirtualBox and a laptop• Up and running in minutes• Get comfortable with how it should work

Build with How-To

• Build it by hand with openstack.orgtutorial

• Learn how the pieces work together• Document and take notes like crazy!

High availability and scalability

• Upgrade storage to Ceph• Make all services HA• Try to break it

Proof of Concept

• Define business objectives• Desire to build/operate or consume?• Switch to distribution• Keep it simple, add services

slowly/thoughtfully• Test, break, break again

Production

• Monitoring• Tracking• Updates & upgrades

ROADMAP / SUMMARYLEARNING BY BUILDING

Page 54: Learning by building - presentation - SCALE by building...OPENSTACK WHAT IS OPENSTACK? ... Controller Compute 1 Compute 2, etc. HOW-TO. 22 CORE COMPONENTS •Contents from How-To Tutorial:

5454

CONTACTContact Us

PresenterGrant Kirkwood - CTO, Unitas [email protected]: tnargTwitter: @prolixity

Visit Us! Booth #610 (on the left when you walk in – next to Disney)