Upload
david-ilievsky
View
87
Download
0
Embed Size (px)
Citation preview
Agenda
WalkMe - the product, the business
Challenges
Solutions
What and where we deploy
Deployment challenges
How do we deploy
Monitoring
New Challenges
WalkMe - The product
4
▪ Live Demo
▪ B2B
▪ Improve employee productivity
▪ Improve engagement
▪ Lower support costs
▪ Simplify business processes
▪ Analytics and Insights
The Challenges
8
▪ Supporting the traffic of all our customers
▪ Be unnoticeable on customers’ site
▪ Existing js frameworks / libraries on customers site
▪ Backward compatibility
▪ Cross browsers support
▪ Cross domain support
▪ Security - sensitive customers
Basic Architecture
10
Customer - Content Owner End users
Customers’ web server
Original web site content
Analytics audits
WalkMe static files
audits
WalkMe Data
Publish Data
Solutions
11
▪ Static files coming from Cloudfront
▪ Browser cache
▪ Elastic Beanstalk
▪ Automation
▪ Development processes
▪ CI / CD
▪ Performance monitoring
▪ Assistance tools
▪ Culture !
▪ VPC
What and where do we deploy
13
▪ Server applications
▪ EC2
▪ Elastic Beanstalk
▪ Client side
▪ S3
▪ Modify DB (meta data)
▪ DB Changes
▪ Lambda functions
Deployment Challenges
16
▪ Downtime
▪ Cache
▪ Security
▪ Quality
▪ Go back anytime
▪ Time consumption
Deploying client side
17
▪ Preparations
▪ Merge all files to one
▪ Remove debug info
▪ Imprint version
▪ Compile templates
▪ Compile css (saas)
▪ Obfuscate (source maps)
▪ Copy to S3
▪ Set permissions
▪ Set http headers
▪ Update relevant DB tables
Deploying Server
18
▪ EC2
▪ Windows (C#)
▪ Ubuntu Server (Node.js)
▪ Load balancing
▪ Elastic Beanstalk
▪ Deployment tools by AWS
▪ Windows vs. Linux
▪ VPC
▪ DB Changes
▪ (non) Breaking changes
▪ lots of risks involved
▪ sql files
▪ Lambda functions
▪ AWS CLI
More Deployments
19
How do we deploy
21
▪ Node.js based deployment apps
▪ AWS SDK
▪ 4 main environments
▪ TeamCity
▪ Deployment Tool
▪ flywayDB
▪ Post Production
Monitoring
23
▪ No scale without monitoring !
▪ Deployment process
▪ Applications
▪ Servers
▪ Server / Client performance
▪ End users experience
▪ Differentiate between error types and severity
New Challenges
26
▪ Behavior Analysis
▪ Much higher throughput
▪ Digesting millions of events and providing real time feedback