SlideShare a Scribd company logo
1 of 25
Backups and
Disaster Recovery
with AWS
About Me
Chris Proto - DevOps Manager - @cproto
About Craftsy
● eLearning & Entertainment
● Passionate Hobbyists
● Video, Video, Video
….with a dash of eCommerce
AWS @ Craftsy
● EC2: Craftsy.com, API, Unlimited
● SQS/SNS: API Support - Microservice messages
● VPC: Networking + Routing - very little Public IP space
● RDS + Redshift: Application Data, Data Warehouse
Storage @ Craftsy
● S3
● EBS
● Glacier
● Hybrid-Strategy
EBS @ Craftsy
● Elastic-Block Storage
● EC2 (app servers)
● RDS (db servers)
● Snapshot Management
● Amazon Machine Images (EBS-backed)
S3 @ Craftsy
● Versatile, flexible
● Everything from cheap P2P sharing to hosting
entire websites...even applications (video player)
● Multi-Region Replication, 11 9s integrity
● RAW Video Files
● Transcoded Video Packages for Distribution
Glacier @ Craftsy
● Tapes? We don’t need no stinkin’ tapes
● 3-2-1 Backups & Diligence Approved
● Restoration Flexibility
● AWS-Customer Flexibility
Hybrid-Storage,
Video Production,
and Business
Continuity
File Creation
● ~ 400GB of media files created per day
● 2 locations - production studio (Taxi)
and Main office
● 3x daily media file transfer from Taxi
storage (local SAN) to Main SAN
through Digital Asset Management
system
Main
1Gb/s
Point2Point
Fiber
Main SAN
● 233TB storage for media files
● Dual 8Gb Fiber channel to clients for
high-speed video editing
● Restoration of cold projects (AWS
Glacier) to hot storage for repurposing
of content
Backup Solution
● Daily (cron) AWS S3 sync from Linux
client
● Email on failures
● Replication across regions from us-
east-1 → us-west-1
● “Archives” → AWS Glacier
aws s3 sync --exclude *.pek --exclude *.ims --exclude *.qtindex
/mnt/sanVolume/ s3://backupBucket/
#scrappy
Backup Solution
● “I deleted something. Can you get it
back?”
aws s3 cp s3://backupBucket/cable_knitting_01.mp4
/mnt/sanVolume/cable_knitting_01.mp4
September 14th: A Day Which Will Live In
Infamy
● External vendor application has RW access to SAN
files through an AD service account
● Manages media file lifecycle from asset tagging,
ingesting, and archiving
● Different folder location on the SAN for STAGE vs
PROD
● Same permissions across enviros, for speed and ease
of implementation (Mistake #1, me)
● Application upgrade process is very manual (Mistake
#2, them)
How It Went Down
● STAGE needed to be downgraded, to match
production and test upgrade path
● Downgrade of STAGE required ‘data sanitation’,
which I was unaware of due to other constraints, PM
was handling the upgrade and we miscommunicated
● ‘Data sanitation’ was a database change as well as
media file removal from the filesystem. “Starting out
clean” was the idea...
● What Linux Command Do We All Make
Fun Of?
● They who shall not be named LITERALLY ran the
command and walked away for the day, to let the
sanitation happen overnight
● Editor complains of files going offline in his editing
program
● VNC into an OSX client and begin watching files
disappear before my eyes, month folders at a time (01, 02,
03 etc)
● Ssh to application server, notice service account logged
in, view history:975 psql someCommand
976 cd
/mnt/sanVolume/appFolder/production/media
977 rm -rf *
● I immediately shut down the file system to
prevent further deletion, but it was too late
● 127TB of media files deleted (but I saved
611MB!!)
● All content from Aug 2015 - Sept 2017
● Hot, cold and warm files
● RAW and edited mp4, mov, psd, jpg, CR2
● Workforce affected --
○ 12 video editors and motion graphics can’t
work
○ 8 producers can’t review edits
○ 7 marketers can’t find high-res marketing
images
Where To Even Start?? AWS CLI
● Sync most recent ingests, from multiple client machines to maximize 1Gb/s pipe,
utilizing multi-part downloading
aws s3 sync s3://backupBucket/2017/09/
/mnt/sanVolume/appFolder/production/media/2017/09/
aws s3 sync s3://backupBucket/2017/08/
/mnt/sanVolume/appFolder/production/media/2017/08/
aws s3 sync s3://backupBucket/2017/07/
/Volumes/sanVolume/appFolder/production/media/2017/
07/
Linux Client
Linux Client
OSX Client
Order Some Snowballs!
● Monday, Sept 18th ordered (4) 50TB Snowballs
● Quantity was due to quickest data load time & folder
structure
● First snowball arrived September 22nd
● Setup of 1st snowball and copy begin was < 1 hour
x4
snowball cp --recursive s3://backupBucket/2017/
/mnt/sanVolume/appFolder/production/media/2017/
Linux Client
OSX Client
snowball cp --recursive s3://backupBucket/2016/
/mnt/sanVolume/appFolder/production/media/2016/
Restoration approach
● Multi-machine transfer
○ 1 linux client, 2 OSX clients
● Most needed footage first - meet with editors to find
month folders that are most active for their upcoming
projects
● Didn’t have time/foresight at the beginning of the process
to come up with the quickest iteration of restoration
because of the year-by-year folder structure
● Full restoration completed on Monday, October 2nd
● All 127TB accounted for!
Learnings
● In DR situations -- order Snowballs right away.
● Special character file names caused a couple hiccups that
required manual intervention
● Duplicate files -- come up with a good structure before ordering.
○ 2015 -- 4 months of files
○ 2016 -- 12 months of files
○ 2017 -- 9 months of files
■ Created a duplicate issue where we had similar files on
multiple snowballs. Easy to fix, but confusing when
running expected completion times
● Obvious ones - separate service accounts for enviro with
matching permissions, better communication around upgrade
path etc.
Conclusion
● Estimated time with only AWS sync restoration - ~ 23
days
● Actual time with AWS sync + Snowball - 15 days (4 day
delay BEFORE we decided to order snowballs,
could’ve been FASTER
● Video production time lost - 5 hours (does not include
DevOps + PM time to prioritize footage)
Thank You
Chris Proto - @cproto
Justin Lang - @FilmHooligan (absent)
Craftsy - @beCraftsy

More Related Content

What's hot

How to backup, restore and archive your data on AWS
How to backup, restore and archive your data on AWSHow to backup, restore and archive your data on AWS
How to backup, restore and archive your data on AWSAmazon Web Services
 
AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...
AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...
AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...Amazon Web Services
 
Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...
Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...
Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...Amazon Web Services
 
AWS June 2016 Webinar Series - Best Practices for Architecting Cloud Backup a...
AWS June 2016 Webinar Series - Best Practices for Architecting Cloud Backup a...AWS June 2016 Webinar Series - Best Practices for Architecting Cloud Backup a...
AWS June 2016 Webinar Series - Best Practices for Architecting Cloud Backup a...Amazon Web Services
 
Optimizing Storage for Big Data Workloads
Optimizing Storage for Big Data WorkloadsOptimizing Storage for Big Data Workloads
Optimizing Storage for Big Data WorkloadsAmazon Web Services
 
Primary Storage Solutions by Panzura
Primary Storage Solutions by PanzuraPrimary Storage Solutions by Panzura
Primary Storage Solutions by PanzuraAmazon Web Services
 
Disaster Recovery Options on AWS Loft
Disaster Recovery Options on AWS LoftDisaster Recovery Options on AWS Loft
Disaster Recovery Options on AWS LoftAmazon Web Services
 
AWS and Disaster Recovery - Bixler
AWS and Disaster Recovery - BixlerAWS and Disaster Recovery - Bixler
AWS and Disaster Recovery - BixlerAmazon Web Services
 
(ENT222) Reduce Business Cost and Risk with Disaster Recovery for AWS | AWS r...
(ENT222) Reduce Business Cost and Risk with Disaster Recovery for AWS | AWS r...(ENT222) Reduce Business Cost and Risk with Disaster Recovery for AWS | AWS r...
(ENT222) Reduce Business Cost and Risk with Disaster Recovery for AWS | AWS r...Amazon Web Services
 
Backup and Recovery with Cloud-Native Deduplication and Use Cases from the Fi...
Backup and Recovery with Cloud-Native Deduplication and Use Cases from the Fi...Backup and Recovery with Cloud-Native Deduplication and Use Cases from the Fi...
Backup and Recovery with Cloud-Native Deduplication and Use Cases from the Fi...Amazon Web Services
 
AWS Storage State of the Union & APN Storage Ecosystem
AWS Storage State of the Union & APN Storage EcosystemAWS Storage State of the Union & APN Storage Ecosystem
AWS Storage State of the Union & APN Storage EcosystemAmazon Web Services
 
Introduction to AWS Storage Services
Introduction to AWS Storage ServicesIntroduction to AWS Storage Services
Introduction to AWS Storage ServicesAmazon Web Services
 
Hybrid and Edge Architectures.pdf
Hybrid and Edge Architectures.pdfHybrid and Edge Architectures.pdf
Hybrid and Edge Architectures.pdfAmazon Web Services
 
Disaster Recovery Options with AWS
Disaster Recovery Options with AWSDisaster Recovery Options with AWS
Disaster Recovery Options with AWSAmazon Web Services
 
STG309_Deep Dive Using Hybrid Storage with AWS Storage Gateway to Solve On-Pr...
STG309_Deep Dive Using Hybrid Storage with AWS Storage Gateway to Solve On-Pr...STG309_Deep Dive Using Hybrid Storage with AWS Storage Gateway to Solve On-Pr...
STG309_Deep Dive Using Hybrid Storage with AWS Storage Gateway to Solve On-Pr...Amazon Web Services
 
Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017
Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017
Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017Amazon Web Services
 
Backup & Recovery - Optimize Your Backup and Restore Architectures in the Cloud
Backup & Recovery - Optimize Your Backup and Restore Architectures in the CloudBackup & Recovery - Optimize Your Backup and Restore Architectures in the Cloud
Backup & Recovery - Optimize Your Backup and Restore Architectures in the CloudAmazon Web Services
 

What's hot (20)

How to backup, restore and archive your data on AWS
How to backup, restore and archive your data on AWSHow to backup, restore and archive your data on AWS
How to backup, restore and archive your data on AWS
 
AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...
AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...
AWS re:Invent 2016: Reinventing Disaster Recovery Leveraging AWS Cloud Infras...
 
Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...
Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...
Disaster Recovery with AWS: Tiered Approaches to Balance Cost with Recovery O...
 
AWS June 2016 Webinar Series - Best Practices for Architecting Cloud Backup a...
AWS June 2016 Webinar Series - Best Practices for Architecting Cloud Backup a...AWS June 2016 Webinar Series - Best Practices for Architecting Cloud Backup a...
AWS June 2016 Webinar Series - Best Practices for Architecting Cloud Backup a...
 
Optimizing Storage for Big Data Workloads
Optimizing Storage for Big Data WorkloadsOptimizing Storage for Big Data Workloads
Optimizing Storage for Big Data Workloads
 
Primary Storage Solutions by Panzura
Primary Storage Solutions by PanzuraPrimary Storage Solutions by Panzura
Primary Storage Solutions by Panzura
 
Disaster Recovery Options on AWS Loft
Disaster Recovery Options on AWS LoftDisaster Recovery Options on AWS Loft
Disaster Recovery Options on AWS Loft
 
AWS and Disaster Recovery - Bixler
AWS and Disaster Recovery - BixlerAWS and Disaster Recovery - Bixler
AWS and Disaster Recovery - Bixler
 
(ENT222) Reduce Business Cost and Risk with Disaster Recovery for AWS | AWS r...
(ENT222) Reduce Business Cost and Risk with Disaster Recovery for AWS | AWS r...(ENT222) Reduce Business Cost and Risk with Disaster Recovery for AWS | AWS r...
(ENT222) Reduce Business Cost and Risk with Disaster Recovery for AWS | AWS r...
 
EC2 and VPC Workshop
EC2 and VPC WorkshopEC2 and VPC Workshop
EC2 and VPC Workshop
 
Backup and Recovery with Cloud-Native Deduplication and Use Cases from the Fi...
Backup and Recovery with Cloud-Native Deduplication and Use Cases from the Fi...Backup and Recovery with Cloud-Native Deduplication and Use Cases from the Fi...
Backup and Recovery with Cloud-Native Deduplication and Use Cases from the Fi...
 
AWS Storage State of the Union & APN Storage Ecosystem
AWS Storage State of the Union & APN Storage EcosystemAWS Storage State of the Union & APN Storage Ecosystem
AWS Storage State of the Union & APN Storage Ecosystem
 
Introduction to AWS Storage Services
Introduction to AWS Storage ServicesIntroduction to AWS Storage Services
Introduction to AWS Storage Services
 
Hybrid and Edge Architectures.pdf
Hybrid and Edge Architectures.pdfHybrid and Edge Architectures.pdf
Hybrid and Edge Architectures.pdf
 
Disaster Recovery Options with AWS
Disaster Recovery Options with AWSDisaster Recovery Options with AWS
Disaster Recovery Options with AWS
 
STG309_Deep Dive Using Hybrid Storage with AWS Storage Gateway to Solve On-Pr...
STG309_Deep Dive Using Hybrid Storage with AWS Storage Gateway to Solve On-Pr...STG309_Deep Dive Using Hybrid Storage with AWS Storage Gateway to Solve On-Pr...
STG309_Deep Dive Using Hybrid Storage with AWS Storage Gateway to Solve On-Pr...
 
Oracle on AWS
Oracle on AWSOracle on AWS
Oracle on AWS
 
Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017
Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017
Running Oracle Databases on Amazon RDS - DAT313 - re:Invent 2017
 
Backup & Recovery - Optimize Your Backup and Restore Architectures in the Cloud
Backup & Recovery - Optimize Your Backup and Restore Architectures in the CloudBackup & Recovery - Optimize Your Backup and Restore Architectures in the Cloud
Backup & Recovery - Optimize Your Backup and Restore Architectures in the Cloud
 
Oracle on AWS
Oracle on AWSOracle on AWS
Oracle on AWS
 

Similar to Customer Highlight: Craftsy

AWS Customer Highlight - Craftsy
AWS Customer Highlight - CraftsyAWS Customer Highlight - Craftsy
AWS Customer Highlight - CraftsyAmazon Web Services
 
Massively Scaled High Performance Web Services with PHP
Massively Scaled High Performance Web Services with PHPMassively Scaled High Performance Web Services with PHP
Massively Scaled High Performance Web Services with PHPDemin Yin
 
Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2aspyker
 
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with KubernetesKubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with KubernetesSeungYong Oh
 
#RADC4L16: An API-First Archives Approach at NPR
#RADC4L16: An API-First Archives Approach at NPR#RADC4L16: An API-First Archives Approach at NPR
#RADC4L16: An API-First Archives Approach at NPRCamille Salas
 
Openstack India May Meetup
Openstack India May MeetupOpenstack India May Meetup
Openstack India May MeetupDeepak Garg
 
Ridwan Fadjar Septian PyCon ID 2021 Regular Talk - django application monitor...
Ridwan Fadjar Septian PyCon ID 2021 Regular Talk - django application monitor...Ridwan Fadjar Septian PyCon ID 2021 Regular Talk - django application monitor...
Ridwan Fadjar Septian PyCon ID 2021 Regular Talk - django application monitor...Ridwan Fadjar
 
Serverless Compose vs hurtownia danych
Serverless Compose vs hurtownia danychServerless Compose vs hurtownia danych
Serverless Compose vs hurtownia danychThe Software House
 
Netflix Container Scheduling and Execution - QCon New York 2016
Netflix Container Scheduling and Execution - QCon New York 2016Netflix Container Scheduling and Execution - QCon New York 2016
Netflix Container Scheduling and Execution - QCon New York 2016aspyker
 
Scheduling a fuller house - Talk at QCon NY 2016
Scheduling a fuller house - Talk at QCon NY 2016Scheduling a fuller house - Talk at QCon NY 2016
Scheduling a fuller house - Talk at QCon NY 2016Sharma Podila
 
PutPlace's use of Amazon Cloud Services
PutPlace's use of Amazon Cloud ServicesPutPlace's use of Amazon Cloud Services
PutPlace's use of Amazon Cloud ServicesJoe Drumgoole
 
Creating an open source load balancer for S3
Creating an open source load balancer for S3Creating an open source load balancer for S3
Creating an open source load balancer for S3Anders Bruvik
 
[AWS DC Meetup] Not Your Father’s WebApp: The Cloud-Native Architecture of im...
[AWS DC Meetup] Not Your Father’s WebApp: The Cloud-Native Architecture of im...[AWS DC Meetup] Not Your Father’s WebApp: The Cloud-Native Architecture of im...
[AWS DC Meetup] Not Your Father’s WebApp: The Cloud-Native Architecture of im...Chris Shenton
 
2016_04_04_CNI_Spring_Meeting_Microservices
2016_04_04_CNI_Spring_Meeting_Microservices2016_04_04_CNI_Spring_Meeting_Microservices
2016_04_04_CNI_Spring_Meeting_MicroservicesJason Varghese
 
Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleNode.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleDmytro Semenov
 
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...DynamicInfraDays
 
PyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applicationsPyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applicationsCesar Cardenas Desales
 
EQR Reporting: Rails + Amazon EC2
EQR Reporting:  Rails + Amazon EC2EQR Reporting:  Rails + Amazon EC2
EQR Reporting: Rails + Amazon EC2jeperkins4
 
How to integrate OpenStack Swift to your "legacy" system
How to integrate OpenStack Swift to your "legacy" systemHow to integrate OpenStack Swift to your "legacy" system
How to integrate OpenStack Swift to your "legacy" systemMasaaki Nakagawa
 

Similar to Customer Highlight: Craftsy (20)

AWS Customer Highlight - Craftsy
AWS Customer Highlight - CraftsyAWS Customer Highlight - Craftsy
AWS Customer Highlight - Craftsy
 
Massively Scaled High Performance Web Services with PHP
Massively Scaled High Performance Web Services with PHPMassively Scaled High Performance Web Services with PHP
Massively Scaled High Performance Web Services with PHP
 
Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2
 
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with KubernetesKubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
Kubernetes Forum Seoul 2019: Re-architecting Data Platform with Kubernetes
 
#RADC4L16: An API-First Archives Approach at NPR
#RADC4L16: An API-First Archives Approach at NPR#RADC4L16: An API-First Archives Approach at NPR
#RADC4L16: An API-First Archives Approach at NPR
 
Openstack India May Meetup
Openstack India May MeetupOpenstack India May Meetup
Openstack India May Meetup
 
Ridwan Fadjar Septian PyCon ID 2021 Regular Talk - django application monitor...
Ridwan Fadjar Septian PyCon ID 2021 Regular Talk - django application monitor...Ridwan Fadjar Septian PyCon ID 2021 Regular Talk - django application monitor...
Ridwan Fadjar Septian PyCon ID 2021 Regular Talk - django application monitor...
 
Serverless Compose vs hurtownia danych
Serverless Compose vs hurtownia danychServerless Compose vs hurtownia danych
Serverless Compose vs hurtownia danych
 
Netflix Container Scheduling and Execution - QCon New York 2016
Netflix Container Scheduling and Execution - QCon New York 2016Netflix Container Scheduling and Execution - QCon New York 2016
Netflix Container Scheduling and Execution - QCon New York 2016
 
Scheduling a fuller house - Talk at QCon NY 2016
Scheduling a fuller house - Talk at QCon NY 2016Scheduling a fuller house - Talk at QCon NY 2016
Scheduling a fuller house - Talk at QCon NY 2016
 
PutPlace's use of Amazon Cloud Services
PutPlace's use of Amazon Cloud ServicesPutPlace's use of Amazon Cloud Services
PutPlace's use of Amazon Cloud Services
 
Creating an open source load balancer for S3
Creating an open source load balancer for S3Creating an open source load balancer for S3
Creating an open source load balancer for S3
 
[AWS DC Meetup] Not Your Father’s WebApp: The Cloud-Native Architecture of im...
[AWS DC Meetup] Not Your Father’s WebApp: The Cloud-Native Architecture of im...[AWS DC Meetup] Not Your Father’s WebApp: The Cloud-Native Architecture of im...
[AWS DC Meetup] Not Your Father’s WebApp: The Cloud-Native Architecture of im...
 
2016_04_04_CNI_Spring_Meeting_Microservices
2016_04_04_CNI_Spring_Meeting_Microservices2016_04_04_CNI_Spring_Meeting_Microservices
2016_04_04_CNI_Spring_Meeting_Microservices
 
Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleNode.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scale
 
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
 
Container Days
Container DaysContainer Days
Container Days
 
PyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applicationsPyConIE 2017 Writing and deploying serverless python applications
PyConIE 2017 Writing and deploying serverless python applications
 
EQR Reporting: Rails + Amazon EC2
EQR Reporting:  Rails + Amazon EC2EQR Reporting:  Rails + Amazon EC2
EQR Reporting: Rails + Amazon EC2
 
How to integrate OpenStack Swift to your "legacy" system
How to integrate OpenStack Swift to your "legacy" systemHow to integrate OpenStack Swift to your "legacy" system
How to integrate OpenStack Swift to your "legacy" system
 

More from Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

More from Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Customer Highlight: Craftsy

  • 2. About Me Chris Proto - DevOps Manager - @cproto
  • 3. About Craftsy ● eLearning & Entertainment ● Passionate Hobbyists ● Video, Video, Video ….with a dash of eCommerce
  • 4. AWS @ Craftsy ● EC2: Craftsy.com, API, Unlimited ● SQS/SNS: API Support - Microservice messages ● VPC: Networking + Routing - very little Public IP space ● RDS + Redshift: Application Data, Data Warehouse
  • 5. Storage @ Craftsy ● S3 ● EBS ● Glacier ● Hybrid-Strategy
  • 6. EBS @ Craftsy ● Elastic-Block Storage ● EC2 (app servers) ● RDS (db servers) ● Snapshot Management ● Amazon Machine Images (EBS-backed)
  • 7. S3 @ Craftsy ● Versatile, flexible ● Everything from cheap P2P sharing to hosting entire websites...even applications (video player) ● Multi-Region Replication, 11 9s integrity ● RAW Video Files ● Transcoded Video Packages for Distribution
  • 8. Glacier @ Craftsy ● Tapes? We don’t need no stinkin’ tapes ● 3-2-1 Backups & Diligence Approved ● Restoration Flexibility ● AWS-Customer Flexibility
  • 10. File Creation ● ~ 400GB of media files created per day ● 2 locations - production studio (Taxi) and Main office ● 3x daily media file transfer from Taxi storage (local SAN) to Main SAN through Digital Asset Management system Main 1Gb/s Point2Point Fiber
  • 11. Main SAN ● 233TB storage for media files ● Dual 8Gb Fiber channel to clients for high-speed video editing ● Restoration of cold projects (AWS Glacier) to hot storage for repurposing of content
  • 12. Backup Solution ● Daily (cron) AWS S3 sync from Linux client ● Email on failures ● Replication across regions from us- east-1 → us-west-1 ● “Archives” → AWS Glacier aws s3 sync --exclude *.pek --exclude *.ims --exclude *.qtindex /mnt/sanVolume/ s3://backupBucket/ #scrappy
  • 13. Backup Solution ● “I deleted something. Can you get it back?” aws s3 cp s3://backupBucket/cable_knitting_01.mp4 /mnt/sanVolume/cable_knitting_01.mp4
  • 14. September 14th: A Day Which Will Live In Infamy ● External vendor application has RW access to SAN files through an AD service account ● Manages media file lifecycle from asset tagging, ingesting, and archiving ● Different folder location on the SAN for STAGE vs PROD ● Same permissions across enviros, for speed and ease of implementation (Mistake #1, me) ● Application upgrade process is very manual (Mistake #2, them)
  • 15. How It Went Down ● STAGE needed to be downgraded, to match production and test upgrade path ● Downgrade of STAGE required ‘data sanitation’, which I was unaware of due to other constraints, PM was handling the upgrade and we miscommunicated ● ‘Data sanitation’ was a database change as well as media file removal from the filesystem. “Starting out clean” was the idea... ● What Linux Command Do We All Make Fun Of?
  • 16.
  • 17. ● They who shall not be named LITERALLY ran the command and walked away for the day, to let the sanitation happen overnight ● Editor complains of files going offline in his editing program ● VNC into an OSX client and begin watching files disappear before my eyes, month folders at a time (01, 02, 03 etc) ● Ssh to application server, notice service account logged in, view history:975 psql someCommand 976 cd /mnt/sanVolume/appFolder/production/media 977 rm -rf *
  • 18. ● I immediately shut down the file system to prevent further deletion, but it was too late ● 127TB of media files deleted (but I saved 611MB!!) ● All content from Aug 2015 - Sept 2017 ● Hot, cold and warm files ● RAW and edited mp4, mov, psd, jpg, CR2 ● Workforce affected -- ○ 12 video editors and motion graphics can’t work ○ 8 producers can’t review edits ○ 7 marketers can’t find high-res marketing images
  • 19. Where To Even Start?? AWS CLI ● Sync most recent ingests, from multiple client machines to maximize 1Gb/s pipe, utilizing multi-part downloading aws s3 sync s3://backupBucket/2017/09/ /mnt/sanVolume/appFolder/production/media/2017/09/ aws s3 sync s3://backupBucket/2017/08/ /mnt/sanVolume/appFolder/production/media/2017/08/ aws s3 sync s3://backupBucket/2017/07/ /Volumes/sanVolume/appFolder/production/media/2017/ 07/ Linux Client Linux Client OSX Client
  • 20. Order Some Snowballs! ● Monday, Sept 18th ordered (4) 50TB Snowballs ● Quantity was due to quickest data load time & folder structure ● First snowball arrived September 22nd ● Setup of 1st snowball and copy begin was < 1 hour x4 snowball cp --recursive s3://backupBucket/2017/ /mnt/sanVolume/appFolder/production/media/2017/ Linux Client OSX Client snowball cp --recursive s3://backupBucket/2016/ /mnt/sanVolume/appFolder/production/media/2016/
  • 21. Restoration approach ● Multi-machine transfer ○ 1 linux client, 2 OSX clients ● Most needed footage first - meet with editors to find month folders that are most active for their upcoming projects ● Didn’t have time/foresight at the beginning of the process to come up with the quickest iteration of restoration because of the year-by-year folder structure ● Full restoration completed on Monday, October 2nd ● All 127TB accounted for!
  • 22. Learnings ● In DR situations -- order Snowballs right away. ● Special character file names caused a couple hiccups that required manual intervention ● Duplicate files -- come up with a good structure before ordering. ○ 2015 -- 4 months of files ○ 2016 -- 12 months of files ○ 2017 -- 9 months of files ■ Created a duplicate issue where we had similar files on multiple snowballs. Easy to fix, but confusing when running expected completion times ● Obvious ones - separate service accounts for enviro with matching permissions, better communication around upgrade path etc.
  • 23. Conclusion ● Estimated time with only AWS sync restoration - ~ 23 days ● Actual time with AWS sync + Snowball - 15 days (4 day delay BEFORE we decided to order snowballs, could’ve been FASTER ● Video production time lost - 5 hours (does not include DevOps + PM time to prioritize footage)
  • 24.
  • 25. Thank You Chris Proto - @cproto Justin Lang - @FilmHooligan (absent) Craftsy - @beCraftsy