Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Evolution of Data Protection for Cloud Native A...

Evolution of Data Protection for Cloud Native Applications

What is business continuity?
- Cyber attacks
- Hardware failures
- Natural and man made disasters

What is data protection/backup and recovery
- Last known good configuration

Functional Requirements
- What is RPO/RTO?

Non functional Requirements
- How quick is the backup process?
- How much data is backed up?
- How much storage is used for backup?
- How secure is the backend store?

Velotio Technologies

December 05, 2019
Tweet

More Decks by Velotio Technologies

Other Decks in Technology

Transcript

  1. Introduction • What is business continuity? • Cyber attacks •

    Hardware failures • Natural and man made disasters • What is data protection/backup and recovery • Last known good configuration
  2. Data Protection Requirements • Functional Requirements • What is RPO/RTO?

    • RPO <- how far back the last good known configuration exists • RTO <- how long it takes to get to last know good configuration • Non functional Requirements • How quick is the backup process? • How much data is backed up? • How much storage is used for backup? • How secure is the backend store?
  3. File backups • Last known good configuration • Files, lots

    of them • RPO • Depends on how frequently successful backups are done • Application consistency is questionable • RTO • A single file restore works well • System level restore is not so predictable Backup Server
  4. Application aware backups • Last known good configuration • Application

    data, logs • RPO • Depends on how frequently backups are done • Application consistency is guaranteed • RTO • In case of total disaster, RTO still suffers as it requires preparing the host with application binaries before restoring application data Backup Server Oracle SQL Server Exchange
  5. VM image level backups • Last known good configuration •

    VM image • RPO • Vastly improves RPO as the backup contains the complete image including application and data • Application consistency is easy to achieve • RTO • Time to recovery is also dramatically improved even in case of total disaster as the VM image includes both application and data. Backup Server Hypervisor VM1 VM 2 VM 3 VM 4 Hypervisor VM 5 VM 5 VM 6 VM 7
  6. Distributed Application Backups • Last known good configuration • VM

    images, storage volumes, IP addresses, security groups, metadata • RPO • Application consistency is spread across multiple VMs • The application configuration can change between backups, including number of VMs • RTO • Depends on the ability to restore VM images, its security groups, storage volumes, IP addresses and metadata Backup Server Cloud VM1 VM 2 VM 3 VM 4
  7. Cloud Native Application • Last known good configuration? • RPO?

    • RTO? Redis deployment on Kubernetes Cluster Courtesy: redislabs
  8. Last known good configuration • Single or collection of PVs/PODs

    is not a last known good configuration • Applications are dynamically. They can grow or shrink during its life time • Depends on how cloud native application is deployed • Templates • Helm Charts • Terraforms • Operators • Name space • Labels • Application consistency • Snapshot volumes that preserve consistency
  9. RPO/RTO • RPO • Restore operation should preserve application personality

    • For ex: Helm Release restore must be Helm release and must be managed by helm tool once the application is restored • RTO • For efficient RTO, restore operation must restore all application resources • Deployments, replication sets, stateful sets, PVs, config maps, secrets
  10. Backup tools in k8s • Velero • Backups kubernetes resources

    based on kinds, labels • Restores resources • Supports s3 compatible backup targets • Does not understand application “boundaries” • Other third party tools
  11. Other considerations for backup solution • Scale with k8s cluster

    and applications • Rolling upgrades • Incremental backups • Forever incremental/Full Synthetic • Platform agnostic backup formats • Support for cloud friendly backup target • Support for application mobility and disaster recovery
  12. Job Openings at Trilio/Velotio • Senior Software Engineer – Golang,

    Python, Kubernetes • Software Engineer – Golang, Python, Kubernetes • Senior DevOps Engineer – Kubernetes Please note that these are the current openings we have for the Trilio. The joinees will be working from the Velotio office in Hinjewadi. If you are interested, you can share your resumes at [email protected]. Or if you wish to refer someone who might be a good fit, you can introduce them on the same email id with their resume and earn a reward of 30,000INR for every successful hire.