cvent: building a microservice deployment pipeline – couchbase connect 2016
TRANSCRIPT
![Page 1: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/1.jpg)
Building a Microservice Deployment Pipeline with CouchbaseHoward Uman
![Page 2: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/2.jpg)
166,000+worldwide active users
1.4 millionevents managed
1,900+worldwide employees
$1 billion+market capitalization
HQ — Tysons Corner, VA
London, UK
New Delhi, India
Sydney, Australia
Austin, TX
Portland, OR
Atlanta, GA
Santa Barbara, CA
New Brunswick, Canada
![Page 3: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/3.jpg)
Why Couchbase?
• Memcached compatibility
• Clients / Ease of use
• Ease of administration
• Scalability
• Indexing (Views & N1QL)
![Page 4: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/4.jpg)
Where Couchbase fits in @ Cvent
![Page 5: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/5.jpg)
What we have…
• 8 Couchbase clusters
• 215+ applications
• 100 environments
• 45 teams
![Page 6: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/6.jpg)
Microservices
![Page 7: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/7.jpg)
What is a Microservice?
• Modular
• Decentralized
• Scalable
• Well defined interface
![Page 8: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/8.jpg)
Microservices@ Cvent
Ease of Development
Scalability
Testability
Connected
![Page 9: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/9.jpg)
Microservices@ Cvent
Ease of Development
Scalability
Testability
Connected
![Page 10: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/10.jpg)
Microservices@ Cvent
Ease of Development
Scalability
Testability
Connected
![Page 11: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/11.jpg)
Microservices@ Cvent
Ease of Development
Scalability
Testability
Connected
![Page 12: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/12.jpg)
Microservices@ Cvent
Ease of Development
Scalability
Testability
Connected
![Page 13: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/13.jpg)
Microservices@ Cvent
Ease of Development
Scalability
Testability
Connected
![Page 14: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/14.jpg)
Microservices@ Cvent
Ease of Development
Scalability
Testability
Connected
![Page 15: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/15.jpg)
Microservices@ Cvent
Ease of Development
Scalability
Testability
Connected
![Page 16: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/16.jpg)
Microservices@ Cvent
Ease of Development
Scalability
Testability
Connected
![Page 17: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/17.jpg)
Microservices@ Cvent
Ease of Development
Scalability
Testability
Connected
![Page 18: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/18.jpg)
Dropwizard
RetrofitRefit
Microservice Stack @ Cvent
![Page 19: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/19.jpg)
Microservices at Cvent
• Java• Dropwizard• Dropwizard-Couchbase & other libraries• Retrofit / Refit
• Jenkins• Dropkick• View Management• N1QL Index Management• Build & Deploy
![Page 20: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/20.jpg)
Best Practices
![Page 21: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/21.jpg)
Microservice Best Practices
• Managed Schema
• Provide Clients
• Configuration
• Service Discovery
• Utility
• Enforcement
![Page 22: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/22.jpg)
Bucket Best Practices
• 1 Thread Per Bucket
• Shared across applications
• Document key prefix: region, application, and typeex: Staging::Events::Wizard::{id}
• Chose bucket based on nature of data
![Page 23: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/23.jpg)
Indexing Best Practices
• 1 Thread Per Design Document, Share.• Give your indexes Application-Entity-based names.• Indexes should leverage the document prefixes to reduce
data:function(doc, meta) { var idArray = meta.id.split("::"); var applicationName = idArray[1]; var objectName = idArray[2]; if (applicationName === "YOUR_APPLICATION" && objectName === "DESIRED_OBJECT" ...) { // Do your processing / emit }}
• Deploy indexes together to minimize scans.
• Deploy to DR cluster at the same time (production)
![Page 24: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/24.jpg)
Configuration
![Page 25: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/25.jpg)
Configuration
![Page 26: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/26.jpg)
Configuration
![Page 27: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/27.jpg)
Configuration
![Page 28: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/28.jpg)
Configuration
![Page 29: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/29.jpg)
Configuration
![Page 30: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/30.jpg)
Deployment
![Page 31: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/31.jpg)
Service Deployment Pipeline
Development
![Page 32: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/32.jpg)
Service Deployment Pipeline
Development
CI
![Page 33: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/33.jpg)
Service Deployment Pipeline
Development
CI Test
![Page 34: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/34.jpg)
Service Deployment Pipeline
Development
CI TestAlpha
![Page 35: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/35.jpg)
Service Deployment Pipeline
Development
CI TestAlpha
Test
![Page 36: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/36.jpg)
Service Deployment Pipeline
Development
CI TestAlpha
TestStaging
![Page 37: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/37.jpg)
Service Deployment Pipeline
Development
CI TestAlpha
TestStaging
Test
![Page 38: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/38.jpg)
Service Deployment Pipeline
Development
CI TestAlpha
TestStaging
TestProduction
![Page 39: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/39.jpg)
Service Deployment Pipeline
Development
CI TestAlpha
TestStaging
TestProduction
![Page 40: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/40.jpg)
Building a ServiceDemo
![Page 41: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/41.jpg)
Managing Services
![Page 42: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/42.jpg)
Jenkins
• Backups
• Copy/Transform data
• Delete Documents
• Manage Views (Update / Delete)
• Manage GSI (Update / Delete)
![Page 43: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/43.jpg)
Jenkins
![Page 44: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/44.jpg)
Managing Services
Demo
![Page 45: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/45.jpg)
Monitoring
![Page 46: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/46.jpg)
Monitoring
• Service Discovery queries services (/ok)
• Datadog dashboard (next) for NOC
• Datadog alerts (Couchbase integration)
• Couchbase alerts
• Custom monitoring (Datadog Agent Checks)
![Page 47: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/47.jpg)
![Page 48: Cvent: Building a microservice deployment pipeline – Couchbase Connect 2016](https://reader030.vdocument.in/reader030/viewer/2022012919/58a443ed1a28ab41618b6477/html5/thumbnails/48.jpg)
Thank you!Howard Uman @[email protected]