Top Banner
Session Name-click to change August 19, 2014 Auston McReynolds, Software Engineer, eBay Mat Lowery, Software Engineer, eBay Trove in Production at eBay OpenStack Trove Day
21

OpenStack Trove in Production at eBay - Trove Day 2014

Jan 26, 2015

Download

Software

Tesora

Presentation at OpenStack Trove Day 2014 by Mat Lowery, Software Engineer and Auston McReynolds, Software Engineer from eBay
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: OpenStack Trove in Production at eBay - Trove Day 2014

Session Name-click to change

August 19, 2014

Auston McReynolds, Software Engineer, eBayMat Lowery, Software Engineer, eBay

Trove in Production at eBay

OpenStack Trove Day

Page 2: OpenStack Trove in Production at eBay - Trove Day 2014

The eBay Inc. Portfolio

PLATFORM

8/19/14 tesora.com 2

Page 3: OpenStack Trove in Production at eBay - Trove Day 2014

Private Cloud at eBay

Page 4: OpenStack Trove in Production at eBay - Trove Day 2014

4

eBay Private Cloud: Like a Public Cloud

8/19/14 tesora.com

• One cloud on shared infra• Like a public cloud for all eBay Inc properties

• Multi-tenant, isolated• Different tenants with different needs

• Frictionless, on-demand access• Reduce time to market• Enable innovation

Page 5: OpenStack Trove in Production at eBay - Trove Day 2014

tesora.com 5

Architecture: Region vs. AZ

8/19/14

Dashboard behind global load balancer VIP

Region A

Swift

Regi

on

Svcs

AZ

Serv

icesKeystone Nova CinderNeutron

Glance Dashboard MySQL Misc

Region B

Swift

Regi

on

Svcs

AZ

Serv

icesKeystone Nova CinderNeutron

Glance Dashboard MySQL Misc

Region C

Swift

Regi

on

Svcs

AZ

Serv

icesKeystone Nova CinderNeutron

Glance Dashboard MySQL Misc

Page 6: OpenStack Trove in Production at eBay - Trove Day 2014

tesora.com 6

Customizations

8/19/14

• VPCs• Enforce obligations, restrictions, and capabilities• Associated with Keystone projects• OpenStack resources mapped to VPC (via metadata)• Image metadata• Host aggregate metadata

• Enforcement via custom middleware or scheduler

• Keystone• LDAP• Auto-tenancy

Page 7: OpenStack Trove in Production at eBay - Trove Day 2014

tesora.com 7

Customizations

8/19/14

• Horizon• Most use the custom Horizon dashboard vs. API• Connect To (uses image metadata)• Copy datastore root password• Disable UI functionality based on AZ capabilities or

Datastore• Multi-AZ tenant switcher glues the clouds together

Page 8: OpenStack Trove in Production at eBay - Trove Day 2014

8

Packaging and Deployment

8/19/14 tesora.com

• Deployment unit: virtualenv tarball• virtualenv --no-site-packages –relocatable• Simplifies rollback• Not perfect: doesn’t handle OS libs

• Rollout automation by Puppet, Foreman• Auditing of changes• Host overrides for testing in isolation

Page 9: OpenStack Trove in Production at eBay - Trove Day 2014

tesora.com 9

Monitoring

8/19/14

• Metrics• Periodic gathering based on service DBs• Share with end users• Alerts to engineers

• SLAs• Ensure being met via sampling; simulates cloud user• Nova boot• Swift upload and download

• Capture logs on failures• Alerts to engineers

• Graphite for graphing and Zabbix for alerting• Logstash/Elasticsearch/Kibana stack

Page 10: OpenStack Trove in Production at eBay - Trove Day 2014

Trove at eBay

Page 11: OpenStack Trove in Production at eBay - Trove Day 2014

tesora.com 11

Trove at eBay – The Beginning

8/19/14

• Mid-2013• 1 developer• Stack on Folsom• Not integrated, still Red Dwarf• MySQL only• Single region• No backups

Page 12: OpenStack Trove in Production at eBay - Trove Day 2014

tesora.com 12

Trove at eBay – Now

8/19/14

• Team (all ATCs)• Icehouse• Multiple Datastores• MySQL 5.5, 5.6• MongoDB 2.4• Cassandra 2.0• Couchbase 2.2• Redis 2.8

Page 13: OpenStack Trove in Production at eBay - Trove Day 2014

tesora.com 13

Trove at eBay – Now - Continued

8/19/14

• Multi-region + HA, with limited VPC availabilty

• Backups for MySQL, MongoDB, & Couchbase• Contributions to Trove:• Couchbase Impl + Backups• Multi-Datastore Horizon• Clusters (in-flight)• + many more (incl. 400+ code-reviews)

Page 14: OpenStack Trove in Production at eBay - Trove Day 2014

tesora.com 14

Deployment Details

8/19/14

• HA• Stable* release cuts• Puppet + Foreman for Control Plane• Fabric for Guests

• Shared infra, sans RabbitMQ• RabbitMQ HA Mirrored

Page 15: OpenStack Trove in Production at eBay - Trove Day 2014

tesora.com 15

Deployment Details

8/19/14

• KVM• Ubuntu• Network: Bridged or Overlays• Cinder Volumes• Venv’d Vanilla Guest Agent• Diskimage-Builder• w/ reference & custom elements• Image per Datastore

Page 16: OpenStack Trove in Production at eBay - Trove Day 2014

tesora.com 16

Deployment Details

8/19/14

• Designate (soon)• Zabbix• w/o Heat

Page 17: OpenStack Trove in Production at eBay - Trove Day 2014

tesora.com 17

Challenges

8/19/14

• With shared infra:• Nova quotas vs. Trove quotas• Horizon (compute duplicity, how to connect, etc.)• True ownership of spawned assets• Failure; who’s fault?• Scheduling

Page 18: OpenStack Trove in Production at eBay - Trove Day 2014

tesora.com 18

Challenges

8/19/14

• With Trove:• Upgrades/Rollouts• RabbitMQ• Feature support across Datastores• Multi-region Datastore deployments

Page 19: OpenStack Trove in Production at eBay - Trove Day 2014

tesora.com 19

What’s Next

8/19/14

• Clusters!• Advanced scheduling• Additional monitoring• Performance tuning• More management extensions (UI + API)• API-driven Datastore differentiation

Page 20: OpenStack Trove in Production at eBay - Trove Day 2014

eBay Trove Team is Hiring

http://linkd.in/1sSVbHv or [email protected]

Page 21: OpenStack Trove in Production at eBay - Trove Day 2014

Questions