Amazon S3 and Amazon Glacier Together: the Best of Both Worlds for Your Backup Strategy

(Update) If you’re interested in learning about the differences between Amazon S3 and Glacier, we recommend this article on Amazon S3 vs Amazon Glacier: A Simple Backup Strategy in the Cloud.


When it comes to backing up your data, you just want the safest, fastest, easiest and cheapest solution available, don’t you? Unfortunately, a compromise must be made among those 4 desiderata, especially with regard to the price, which is likely to be much higher when safety, speed, and ease grows too. Two solutions in the Amazon Web Services set are especially interesting to you to consider as a viable backup solution: Amazon S3 and Amazon Glacier. They are two different players with different skills, and your backup strategy should take advantage of both to balance the pros and cons of each of them. Let’s see what those services are used for and how we can make them an excellent solution for your needs.

Amazon S3: the Simple Storage Service

Amazon Simple Storage Service is the most popular and used cloud file storage service offered by Amazon. It is available through interfaces like REST, SOAP and BitTorrent, and data can be retrieved and stored any time and from everywhere. Availability of data is one of the key differences between S3 and Glacier. Being a basic storage service based on a key-value approach, it is very versatile and used for many different purposes. Its most common usage is probably contents storage and distribution. You can distribute your content directly from Amazon S3 or integrate it with other solutions like Amazon CloudFront. Since you don’t pay for data sent from S3 to EC2 it’s great to store data for computation and other analytics. Taking advantage of his elastic scalability and pay-as-you-go pricing, it is great to host static content for websites as well. And, of course, it’s a great solution for backing up and archiving data.

Amazon Glacier: freeze and forget your data

Amazon Glacier is a dedicated solution for data backup which leverages aggressive pricing and durability of data trading off speed and availability time for your data. In fact, Amazon Glacier is optimized for data that is infrequently accessed and for which retrieval times of several hours are suitable. Amazon hasn’t revealed many insights about how Glacier works under the hood. Despite the data retrieval time, in the order of several hours, is similar to the delays of tape-based systems, the general consensus (mostly based on rumors) is that Glacier is not tape-based, rather it runs on high-capacity low-cost hard disks, possibly low-RPM hard drives used in custom racks with proprietary logic. Details you probably don’t care about that much if you consider the incredible price of 0.01$ per GB per month and declared durability of 99.999999999%, which makes Glacier a great solution for (very-) long term data archiving and backup.

The best of both worlds

So, it’s clear that S3 and Glacier are two very different worlds. Speed and immediate availability on a side, ridiculous price and rock-solid archiving on the other. Chances are you will like all those features for a high-efficiency backup strategy, so why not taking advantage of both the services? Amazon makes the process very easy since S3 has a native feature for long term archiving of objects on Glacier.
First of all, you need to set up a lifecycle rule in the AWS Management Console to tell S3 which objects are to be archived to Glacier and under what conditions. In this rule, you specify which objects in the bucket are subject to the policy, a timing for transitioning objects to Glacier and an object age at which the object will be deleted from S3. Every day, S3 will evaluate the policies and act accordingly. If an object is successfully archived to Glacier, the object’s data will be removed from S3 but its index entry will remain as is, and its storage class will be set to GLACIER.

Now, if you need to see what S3 objects are stored using Glacier, you can get it using S3’s LIST API, just like you are already used to do. What is slightly different is the process to retrieve an object. You can’t just GET it, you must RESTORE it from Glacier, wait for the usual 3-5 hours for the object to be unfrozen, then the object will stay available to you for a retention period you defined during the RESTORE operation itself. Once this period is over, the object will be removed from S3 but will remain in Glacier indefinitely. If you are wondering if you can retrieve objects using Glacier’s API, the answer is: you can’t, since they have been stored there via S3 and the mapping between you user-defined object name and the Glacier system-defined identifier is managed by S3 itself.

Avatar

Written by

Andrea Colangelo

Software Engineer with a solid focus on QA and an extensive experience in ICT. Above all, Andrea has a very strong interest in Free and Open Source Software, and he is a Debian and Ubuntu Developer since years. Non-tech interests include: Rugby, Jazz music and Cooking.

Related Posts

Avatar
Andrew Larkin
— August 13, 2019

Content Roadmap: AZ-500, ITIL 4, MS-100, Google Cloud Associate Engineer, and More

Last month, Cloud Academy joined forces with QA, the UK’s largest B2B skills provider, and it put us in an excellent position to solve a massive skills gap problem. As a result of this collaboration, you will see our training library grow with additions from QA’s massive catalog of 500+...

Read more
  • AWS
  • Azure
  • content roadmap
  • Google Cloud Platform
Avatar
Adam Hawkins
— August 9, 2019

DevSecOps: How to Secure DevOps Environments

Security has been a friction point when discussing DevOps. This stems from the assumption that DevOps teams move too fast to handle security concerns. This makes sense if Information Security (InfoSec) is separate from the DevOps value stream, or if development velocity exceeds the band...

Read more
  • AWS
  • cloud security
  • DevOps
  • DevSecOps
  • Security
Avatar
Stefano Giacone
— August 8, 2019

Test Your Cloud Knowledge on AWS, Azure, or Google Cloud Platform

Cloud skills are in demand | In today's digital era, employers are constantly seeking skilled professionals with working knowledge of AWS, Azure, and Google Cloud Platform. According to the 2019 Trends in Cloud Transformation report by 451 Research: Business and IT transformations re...

Read more
  • AWS
  • Cloud skills
  • Google Cloud
  • Microsoft Azure
Avatar
Andrew Larkin
— August 7, 2019

Disadvantages of Cloud Computing

If you want to deliver digital services of any kind, you’ll need to estimate all types of resources, not the least of which are CPU, memory, storage, and network connectivity. Which resources you choose for your delivery —  cloud-based or local — is up to you. But you’ll definitely want...

Read more
  • AWS
  • Azure
  • Cloud Computing
  • Google Cloud Platform
Joe Nemer
Joe Nemer
— August 6, 2019

Google Cloud vs AWS: A Comparison (or can they be compared?)

The "Google Cloud vs AWS" argument used to be a common discussion among our members, but is this still really a thing? You may already know that there are three major players in the public cloud platforms arena: Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP)...

Read more
  • AWS
  • Google Cloud Platform
  • Kubernetes
Avatar
Stuart Scott
— July 29, 2019

Deployment Orchestration with AWS Elastic Beanstalk

If you're responsible for the development and deployment of web applications within your AWS environment for your organization, then it's likely you've heard of AWS Elastic Beanstalk. If you are new to this service, or simply need to know a bit more about the service and the benefits th...

Read more
  • AWS
  • elastic beanstalk
Avatar
Stuart Scott
— July 26, 2019

How to Use & Install the AWS CLI

What is the AWS CLI? | The AWS Command Line Interface (CLI) is for managing your AWS services from a terminal session on your own client, allowing you to control and configure multiple AWS services and implement a level of automation. If you’ve been using AWS for some time and feel...

Read more
  • AWS
  • AWS CLI
  • Command line interface
Alisha Reyes
Alisha Reyes
— July 22, 2019

Cloud Academy’s Blog Digest: July 2019

July has been a very exciting month for us at Cloud Academy. On July 10, we officially joined forces with QA, the UK’s largest B2B skills provider (read the announcement). Over the coming weeks, you will see additions from QA’s massive catalog of 500+ certification courses and 1500+ ins...

Read more
  • AWS
  • Azure
  • Cloud Academy
  • Cybersecurity
  • DevOps
  • Kubernetes
Avatar
Stuart Scott
— July 18, 2019

AWS Fundamentals: Understanding Compute, Storage, Database, Networking & Security

If you are just starting out on your journey toward mastering AWS cloud computing, then your first stop should be to understand the AWS fundamentals. This will enable you to get a solid foundation to then expand your knowledge across the entire AWS service catalog.   It can be both d...

Read more
  • AWS
  • Compute
  • Database
  • fundamentals
  • networking
  • Security
  • Storage
Avatar
Adam Hawkins
— July 17, 2019

How to Become a DevOps Engineer

The DevOps Handbook introduces DevOps as a framework for improving the process for converting a business hypothesis into a technology-enabled service that delivers value to the customer. This process is called the value stream. Accelerate finds that applying DevOps principles of flow, f...

Read more
  • AWS
  • AWS Certifications
  • DevOps
  • DevOps Foundation Certification
  • Engineer
  • Kubernetes
Avatar
Vineet Badola
— July 15, 2019

AWS AMI Virtualization Types: HVM vs PV (Paravirtual VS Hardware VM)

Amazon Machine Images (AWS AMI) offers two types of virtualization: Paravirtual (PV) and Hardware Virtual Machine (HVM). Each solution offers its own advantages. When we’re using AWS, it’s easy for someone — almost without thinking —  to choose which AMI flavor seems best when spinning...

Read more
  • AWS
  • Hardware Virtual Machine
  • Paravirtual
  • Virtualization
Avatar
Stuart Scott
— July 2, 2019

AWS Machine Learning Services

The speed at which machine learning (ML) is evolving within the cloud industry is exponentially growing, and public cloud providers such as AWS are releasing more and more services and feature updates to run in parallel with the trend and demand of this technology within organizations t...

Read more
  • Amazon Machine Learning
  • AWS
  • AWS re:Invent
  • Machine Learning