Panel Discussion Continuous Deployment in SaaS

26
Continuous Deployment in SaaS Jonas Cheng Andy Tzeng / Aimee Shen / Gaia Server

Transcript of Panel Discussion Continuous Deployment in SaaS

Page 1: Panel Discussion Continuous Deployment in SaaS

Continuous Deploymentin SaaS

Jonas Cheng Andy Tzeng / Aimee Shen / Gaia Server

Page 2: Panel Discussion Continuous Deployment in SaaS

Continuous Delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time. It aims at building, testing, and releasing software faster and more frequently. The approach helps reduce the cost, time, and risk of delivering changes by allowing for more incremental updates to applications in production. A straightforward and repeatable deployment process is important for continuous delivery.

Continuous Deployment in SaaS

Page 3: Panel Discussion Continuous Deployment in SaaS

•software engineering approach•be reliably released at any time•releasing software faster and more frequently•reduce the cost, time, and risk of delivering changes•repeatable deployment process

Continuous Deployment in SaaS

Page 4: Panel Discussion Continuous Deployment in SaaS

Continuous Deployment in SaaS

Page 5: Panel Discussion Continuous Deployment in SaaS

Continuous Deployment in SaaS

Zero Downtimein Production Deployment

Page 6: Panel Discussion Continuous Deployment in SaaS

Continuous Deployment & Zero Downtime

• Challenges• Consistent Quality• Live Data Migration• Backward Compatible

Page 7: Panel Discussion Continuous Deployment in SaaS

Continuous Deployment & Zero Downtime

• Rolling deployments• Canary deployments• Blue-green deployments• Multi-tenant deployments• …

Page 8: Panel Discussion Continuous Deployment in SaaS

Live Data Migration

• Move Tellus from DCS to AWS

• 100 GB DB

• Encrypt PII thru KMS

• 500M Accounts

• Offload device report from Redis to DynamoDB

• 100 GB -> 30GB in Memory

• 70 GB in DynamoDB

Backward Compatible

• Adopt ReactJS in web portal

• Compatible with Backbone

• Multiple Store Layer (Redis - DynamoDB - S3)

• Trigger-base update from OMEGA

• Compatible with Polling

Page 9: Panel Discussion Continuous Deployment in SaaS

What’s your Confidence Level of Uncertainty?

• How much experience does benefit next release?

• How much time did you deal with design debt?

• How much time did you spend on deploying?

Page 10: Panel Discussion Continuous Deployment in SaaS
Page 11: Panel Discussion Continuous Deployment in SaaS

Consistent Quality

Page 12: Panel Discussion Continuous Deployment in SaaS

Quality is not an act, it is a habit- Aristotle

Page 13: Panel Discussion Continuous Deployment in SaaS

Real world release mgmt - top SaaS players practice

• An interesting find: All the researched players strongly recommend and implement small batch & frequent release. They still have major/big batch release, but prefer small batch release for agility consideration and reducing the risk of release mgmt

Page 14: Panel Discussion Continuous Deployment in SaaS

How Frequent? Daily? Weekly? Monthly?

Page 15: Panel Discussion Continuous Deployment in SaaS

Real world release mgmt - top SaaS players practice

• No matter a team implement daily release or weekly release, should build the ability of continuous release.

• “How long would it take your organization to deploy a change that involved just one single line of code? Do you do this on a repeatable, reliable basis?” Faster is better.

Page 16: Panel Discussion Continuous Deployment in SaaS

Our Frequency

Page 17: Panel Discussion Continuous Deployment in SaaS

PDLC Transformation

Page 18: Panel Discussion Continuous Deployment in SaaS
Page 19: Panel Discussion Continuous Deployment in SaaS
Page 20: Panel Discussion Continuous Deployment in SaaS

Testing Automation• Construction with test case

• To Meet Specification

• To Cover External APIs

• To Cover Minimal Error Handling

• To Secure UI Specification

• Fix issue with test case

• To Prevent Side Effect and Re-appear

Page 21: Panel Discussion Continuous Deployment in SaaS

NOT in Testing Automation

• Performance

• System Error Handling

• Out of Memory, Disk Failure, …

• I18N

• Truncation, Localization, …

Page 22: Panel Discussion Continuous Deployment in SaaS

Tool Chain

Page 23: Panel Discussion Continuous Deployment in SaaS

High Satisfaction

Page 24: Panel Discussion Continuous Deployment in SaaS

High Satisfaction

Reduce Release Cycle to Weekly basis

Page 25: Panel Discussion Continuous Deployment in SaaS

Next Challenges

• Detects Performance Impact

• Detects Automation Coverage

• Automate with AWS new Service - Lambda, API Gateway…etc.

• …

Page 26: Panel Discussion Continuous Deployment in SaaS

Q & A