Sergei from LivePerson will explain how while business, services grow, we face common challenges, which we usually do not have time or resources to address immediately. He will talk about features critical to resiliency, availability and capacity management ; and how to get it for free from the Kubernetes framework
Sergei Koren - Production Architect at LivePerson and Efim Dimenstein - Chief software architect at LivePerson.
Jumpstart into grownups word by using k8s out of box abilities
1. Jumpstart into Grownups world
by using k8s out of box abilities
by: Sergei Koren Production Architect
Efim Dimenstein Chief Software Architect
2. • Few words about us
• Liveperson, running services at scale
• Our focus, wording, requirements
• We’re at the beginning of the journey: our wording
• Our methods
• Getting there What is means (usually)
• K8S now:
Agenda
3. • Production architect at Liveperson
• 20 years of High Tech experience
• 10 years of SaaS experience
Few words about us
Sergei Koren
4. • Chief Architect at Liveperson
• 15 years of High Tech experience
• 15 years of SaaS experience
Few words about us
Efim Dimenstein
5. • 7 Locations
• 8K+ servers, virtual and physical
• 250 moving parts in application
• 99.995% uptime
• 1.4M concurrent visitors are actively monitored
• 2B of unique visitors monthly
• 2P of Hadoop data
• Customers: Largest Cellular provider, top 5 bank etc.
Liveperson, running services at scale
8. • We have an idea
• Get investment
• Develop it quickly
• Show app to (potential) customer
What about our words?
יהיהבסדר
We’re at the beginning: our wording
9. • zip, copy, unzip
• advanced use: ./copy_unzip_restart.sh/chef/puppet script
• Going with Docker:
• Dockerfile: zip, copy into docker, unzip
• image zip, use ./copy_unzip_start docker script (we’re paranoid start
up)
• or: docker push - docker run (we’re יהיהבסדר startup)
• one app=one AWS instance with host network (otherwise you’ll miss
zip/unzip days :) )
It is viable option. But
Our methods
10. Monitoring system (Nagios)
Counters (graphite)
Discovery
HA clustering tech
Logging
Capacity management
L4/L7 balancing
Getting there What is means (usually)
Expertise
11. 1 Web server, State in app, plain file persistency on disk(1 app instance)
K8S
1. Connects Web to Tomcat
2. RC with 1 replica; permanent volume - Watchdog; data persistency*
Used features:
K8S, Google persistent volume, RC
K8S now Step 1
12. We want Redis, file is too slow, state in app memory
1 web 1 tomcat 1 Redis
K8S
1 Web RC replica 1
1 app RC replica 1 (no need for disk)
1 Redis RC master with persistent volume*
Used features:
K8S, Google persistent volume, RC
K8S Step 2
13. Well, we’re popular, 1 tomcat, 1 web, 1 Redis is not enough
1+webs (session stickiness)
1+tomcat (state in Redis, cached in local memory)
1 Persistent Redis master, Redis slaves for read apps.
Used features
K8S, Google persistent volume, RC
K8S Step 3
14. preparation steps:
1. Enable Google cloud evaluation - having gmail account is sufficient
2. 1Click Create Project
3. Go to monitoring - 1Click enable
4. go to Container engine - 1Click enable
5. Install SDK or use 1Click Google shell
6. Getting cluster started: gcloud container clusters create grownups --num-
nodes 2 --machine-type g1-small
Demo
15. • We talked language we use when we run service at scale
• Demonstrated how by using K8S we can for free many features which
usually requires significant effort to build and support
• K8S ramp up for a big company is a good addition to current resilience
solution
We are hiring!
See us at panel
Wrapping up