Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

1,295 views

Published on

Old application? Ugly or outdated designs? High cost of maintenance? An in-depth look into our experience in using Couchbase as a catalyst to modernize a standalone software appliance into cloud-based horizontally-scalable services.

Published in: Software
  • Be the first to comment

  • Be the first to like this

Cisco's Move from Legacy Software to Cloud-Based Service Model: Couchbase Connect 2015

  1. 1. Application Renovation with Couchbase Clint Ricker
  2. 2. VSRM Intro VSRM = Video Session & Resource Manager Enables broadcast, on demand, and hosted DVR Video
  3. 3. Background scenario Changing industry Changing ecosystem
  4. 4. Sold as a 1U appliance VSRM (Before Couchbase) Scalability via segmentation (1 server per 100K subscribers) No centralized management
  5. 5. VSR< Platform Components Applications Application Protocol Adaptors SDV Policy Mgr S6 VERM SSP Resource Manager Resource Manager Adaptors CMTS QAM Bulk Encryptor ElementManager(proprietarylocal database) VSRM (Before Couchbase) MCMIS VOD Log Manager Config Manager HA Manager
  6. 6. VSRM Clients (externally sharded to ~100K) QAMQAMQAMQAMQAM Mgmt DB VSRM Clients (externally sharded to ~100K) QAMQAMQAMQAMQAM Mgmt DB VSRM Clients (externally sharded to ~100K) QAMQAMQAMQAMQAM Mgmt DB VSRM Clients (externally sharded to ~100K) QAMQAMQAMQAMQAM Mgmt DB VSRM Clients (externally sharded to ~100K) QAMQAMQAMQAMQAM Mgmt DB VSRM Scalability (Before Couchbase)
  7. 7. Phase 1: Assessment
  8. 8. Strong Underlying Design Pluggable components Core components plus adaptors Model based applications
  9. 9. Deep customer entrenchment Large scale customer deployments Deep customer integration and customization
  10. 10. Rich algorithms and business logic Complex algorithms Rich support for customer policy rules
  11. 11. Why not? Bad Design Easy to reimplement algorithms and business logic Small customer entrenchment High technical debt
  12. 12. Phase 2: Renovation
  13. 13. VSRM VSRM VSRM VSRM VSRM DB DB DB DB DB Concept Distributed database / shared memory
  14. 14. Why Couchbase? Strong consistency Reliable low latency Great scalability
  15. 15. VSR< Platform Components Applications Application Protocol Adaptors SDV Policy Mgr S6 VERM SSP Resource Manager Resource Manager Adaptors CMTS QAM Bulk Encryptor ElementManager(proprietarylocal database) VSRM MCMIS VOD Log Manager Config Manager HA Manager Couchbase Adaptor DB Manager State
  16. 16. Data Former Became Per session data (session state) In memory C struct and legacy local database Couchbase keys (now text based) Component data model (config / application state) Legacy local database 1 couchbase key per table Session data typically peeled off Counters are individual keys Raw memory C struct Couchbase keys using memcpy on C/C++. Other APIs transparently handle objects. Data Model Transformation
  17. 17. Data Sizing Smaller keys have lower latency Max rate of consistent update of a key–higher for small keys Transactions needed for consistent updates of groups of keys
  18. 18. Design Rules Real time operations use key/value operations Views reserved for maintenance operations All database calls go through abstraction layer
  19. 19. Locking / Serialization Pessimistic locks as a replacement for mutex Provides serialization, not order Optimistic locks for read efficiency
  20. 20. Queries Be intentional on what data is indexed Weaker consistency Limited resource, especially if stale=true
  21. 21. Data Model TransformationCouchbase = clustering Swiss Army knife Lightweight directory services Simple distributed queues with append Master election via get w/lock
  22. 22. Danger Zones Consider key contention. Break apart keys if necessary. Redesign to avoid. Distributed databases require robust error handling. Test error handling and edge cases at scale.
  23. 23. Phase 3: Makeover Grand Reveal
  24. 24. VSR< Platform Components Applications Application Protocol Adaptors SDV Policy Mgr S6 VERM SSP Resource Manager Resource Manager Adaptors CMTS QAM Bulk Encryptor ElementManager(proprietarylocal database) VSRM (Before Couchbase) MCMIS VOD Log Manager Config Manager HA Manager
  25. 25. VSR< Platform Components Couchbase Adaptor Applications Application Protocol Adaptors SDV Policy Mgr S6 VERM SSP Resource Manager Resource Manager Adaptors CMTS QAM Bulk Encryptor ElementManager(structureonly) VSRM Today MCMIS VOD Log Manager Config Manager HA Manager Web Svc Manager Recorder Mgr Linear Mgr C3 A8 RM -IS RM -SS Recorder Video Mux DB Manager
  26. 26. VSRM Clients (externally sharded to ~100K) QAMQAMQAMQAMQAM Mgmt DB VSRM Clients (externally sharded to ~100K) QAMQAMQAMQAMQAM Mgmt DB VSRM Clients (externally sharded to ~100K) QAMQAMQAMQAMQAM Mgmt DB VSRM Clients (externally sharded to ~100K) QAMQAMQAMQAMQAM Mgmt DB VSRM Clients (externally sharded to ~100K) QAMQAMQAMQAMQAM Mgmt DB VSRM Scalability Before Couchbase
  27. 27. VSR<VSRM VM Instance VSRM Scalability Today (unified deployment model) QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM Clients VSRM VM Instance VSRM VM Instance VSRM VM Instance VSRM VM Instance Management Load Balancer Load Balancer Couchbase ClusterCouchbase ClusterCouchbase Cluster Provisioning PublicorPrivate Cloud
  28. 28. VSR< VSRM Scalability Today (per service deployment model) QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM QAMQAMQAMQAMQAM Clients App Micro Service App Service Load Balancer Load Balancer Couchbase ClusterCouchbase ClusterCouchbase Cluster Provisioning PublicorPrivate Cloud Resource Mgr Service Resource Mgr Service Resource Mgr Service App Adaptors Services Resource Mgr Service Resource Adaptor Services Management
  29. 29. The End

×