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.

Containerizing Couchbase for microservice architecture with Kubernetes – Connect Silicon Valley 2017

331 views

Published on

Speaker: Anil Kumar

Organizations are building their applications around microservice architectures because of the flexibility, speed of delivery, and maintainability they deliver. In this session, you will learn how Couchbase can fit into that architecture using containers and orchestration. This session introduces you to integration with one of those orchestration technologies (i.e., Kubernetes). Finally, you will see a demonstration of exactly how to create a Couchbase cluster on Red Hat OpenShift Enterprise.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Containerizing Couchbase for microservice architecture with Kubernetes – Connect Silicon Valley 2017

  1. 1. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. CONTAINERIZING COUCHBASE FOR MICROSERVICE ARCHITECTURE WITH KUBERNETES October 2017 Anil Kumar | Director Product Management
  2. 2. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. AGENDA 01/ 02/ 03/ 04/ 05/ Microservice Architecture Container Container Orchestration - Kubernetes Containerizing Couchbase Q&A
  3. 3. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. MICROSERVICE ARCHITECTURE1
  4. 4. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. 4 Microservice Architecture
  5. 5. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. 5 Why Microservices? In a word, “Agility”!! “microservices enable superior maintainability in large, complex and highly scalable systems by designing applications based on many independently deployable services that allow for granular release planning.” “an additional benefit, microservices can scale out independently”
  6. 6. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. 6 Data Sovereignty Per Microservice
  7. 7. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. CONTAINER2
  8. 8. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. 8 Container A container image is a lightweight, secure, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings.
  9. 9. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. 9 Containers – Powering Microservices • DevOps & Continuous Delivery - Low impact & risk; update one container at a time • Build Once & Run Anywhere - Instantiate clones for development, testing and production • Scalability - Scale-up or Scale-down containers easily based on demand • Isolation - Safely run multiple microservice containers with isolation • High Availability - Redundancy from multiple containers fulfilling a role • Performance - Minimal impact from container overhead
  10. 10. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. CONTAINER ORCHESTRATION - KUBERNETES 3
  11. 11. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. 11 Need for Container Orchestration Problem - • Containers are really lightweight that makes them super flexible and fast. However, they are designed to be short-lived and fragile. • They need a lot of orchestration to run efficiently and resiliently. • Their execution needs to be scheduled and managed. Production applications deal with dozens of containers running on hundreds of machines. • When they die (and they do), they need to be seamlessly replaced and re-balanced. Solution - • Containers have to be run in managed clusters that are heavily scheduled and orchestrated. • The environment has to detect a container failure and be prepared to replace it immediately. • The environment has to make sure that containers are spread reasonably evenly across physical machines (so as to lessen the effect of a machine failure on the system). • And manage overall network and memory resources for the cluster.
  12. 12. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. 12 Kubernetes (Greek word for “helmsman” - a person who steers a ship or boat) What is Kubernetes? • Kubernetes is inspired from an internal Google project called BORG • Open source project managed by the Linux Foundation • Unified API for deploying web applications, batch jobs, and databases • Provides declarative primitives for the “desired state” - self-healing, auto-restarting, scheduled across hosts, replicating etc.
  13. 13. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. CONTAINERIZING COUCHBASE4
  14. 14. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. 14 Why Couchbase is Best-fit for Containers?
  15. 15. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. 15 Orchestrating Couchbase Using Kubernetes • Using Kubernetes StatefulSets : StatefulSets are solution for running natively stateful containers on Kubernetes which requires • Stable, persistent storage, one per Pod • Stable, unique network identifiers, one per Pod • Ordered, graceful deployment and scaling • Ordered, graceful deletion and termination • Using Kubernetes Operator : An Operator is an application-specific controller that extends the Kubernetes API to create, configure and manage instances of complex stateful applications on behalf of a Kubernetes user. Built by extending the Kubernetes Controller API to build a native Kubernetes controller • Allows us to register our own built in type • Allows us to extend the Kubernetes REST API to build custom commands
  16. 16. Confidential and Proprietary. Do not distribute without Couchbase consent. © Couchbase 2017. All rights reserved. THANK YOU

×