Что такое S3 (Simple Storage Service)
Если вы только начинаете свой путь в разработке, вам обязательно нужно познакомиться с S3. Это краеугольный камень многих современных приложений и сервисов, и понимание его основ поможет вам создавать более эффективные и масштабируемые решения. Расскажем, что это такое ― объектное хранилище в облаке и как работать с S3-хранилищем.
Что такое S3
S3 ― это объектное хранилище, а также одноименный протокол которого был разработан Amazon и теперь широко применяется множеством компаний. По сути, это как огромный облачный диск, где вы можете хранить практически любой вид данных: фотографии, видео, документы, резервные копии, архивные данные, и многое другое.
В отличие от традиционных файловых систем (как на вашем компьютере с папками), S3 не имеет реальной иерархии каталогов. Все объекты хранятся на одном «плоском» уровне внутри бакета (bucket). Структура, похожая на папки, создается исключительно с помощью имен объектов (ключей), которые могут содержать слеши.
Плоская структура S3 способствует высокой масштабируемости. Отсутствие реальной иерархии каталогов устраняет необходимость управления сложными вложенными структурами, упрощая распределение данных. Это позволяет S3 эффективно обрабатывать запросы по ключу, обеспечивая высокую производительность и низкую задержку даже при огромных объемах данных.
Выбирая объектное хранилище S3 от Рег.ру, вы получаете надежное и безопасное облачное решение для хранения информации, которое позволяет эффективно управлять информацией и контролировать затраты. Это отличный выбор, если вы ищете решение от российского провайдера с локальной поддержкой и понятным ценообразованием.
Для чего нужно облачное объектное хранилище S3
S3 имеет множество положительных качеств, которые делают его незаменимым инструментом для разработчиков и организаций. Среди главных причин выбрать именно такой способ хранения ― его надежность, масштабируемость, экономичность и безопасность.
- Хранилище S3 может использовать различные технологии сохранности данных и резервирования, такие как ― мультифакторная репликация или erasure coding. Ваши данные будут защищены от потери и доступны в любое время.
- S3 может хранить любое количество данных, объем ограничен только возможностями масштабирования у облачного провайдера. По мере роста потребностей клиента S3, облачный провайдер самостоятельно масштабирует хранилище для вас.
- Существуют разные варианты оплаты сервисов s3 хранилища, - по выделяемой квоте, за используемый объем, за трафик и количество операций в API. В случае с Рег.ру клиенты платят только за используемый объем.
- Стоимость хранения данных в s3 обычно ниже стоимости хранения на других облачных и хостинг-услугах (например таких как хранение на локальных дисках виртуальной машины) и даёт гораздо больше возможностей ― удаленный, многопользовательский доступ, масштабируемость и тому подобное.
- S3 предоставляет множество инструментов для обеспечения безопасности ваших данных. Вы можете создавать гибкие политики доступа к объектам, подключать множество пользователей и систем.

Принципы работы S3
В S3 все объекты лежат в бакетах. Так называется контейнер, в который пользователь складирует объекты. По сути, бакет является верхним уровнем организации хранилища.
Внутри бакета хранятся объекты, каждый из них имеет уникальный идентификатор внутри бакета. Это как имя файла в файловой системе, но он может содержать слеши /, что позволяет имитировать структуру папок. Например, images/my_photo.jpg.
В бакете лежит объект, а также его метаданные ― информация об объекте, такая как дата создания, размер и другие параметры.
Вы взаимодействуете с S3 через API ― это набор команд (операций над объектами), которые позволяют создавать, получать, удалять и управлять объектами в бакетах.
Используя политики доступа можно разрешать или запрещать доступ к бакетам для определенных пользователей, для целых групп пользователей или даже для всего мира (доступ без авторизации или public-read ACL).

Классы хранения S3
S3 предлагает различные классы хранения (Storage Classes), каждый из которых оптимизирован для конкретных сценариев использования и имеет свою цену. Выбор подходящего класса хранения может существенно повлиять на ваши расходы на хранение данных. Облачные провайдеры обычно предоставляют следующий выбор:
- «Горячее» хранилище (например, S3 Standard) оптимизировано для частого доступа с низкой задержкой и высокой пропускной способностью. Предлагает самые высокие SLA по доступности, но имеет самую высокую стоимость хранения за ГБ.
- Более «холодное» хранилище (например, S3 Glacier Deep Archive) оптимизировано для долгосрочного архивирования с нечастым доступом. Предлагает чрезвычайно низкие затраты на хранение, но влечет за собой плату за извлечение и потенциально более длительное время извлечения (от минут до часов).
Промежуточные классы заполняют этот разрыв, предлагая различные балансы между стоимостью хранения, стоимостью извлечения, временем извлечения и доступностью.
- S3 Standard
Стандартный класс хранения общего назначения. Разработан для часто используемых данных, требующих задержки доступа в миллисекундах и высокой пропускной способности.
Разработан для обеспечения долговечности 99.999 за счет избыточного хранения объектов в нескольких зонах доступности и для обеспечения доступности 99,99% в течение года (подкреплено SLA).
Идеально подходит для динамических веб-сайтов, распространения контента, мобильных и игровых приложений, рабочих нагрузок аналитики больших данных.
Стоимость хранения ― самая высокая за ГБ. Плата за извлечение отсутствует. - S3 Intelligent-Tiering
Автоматизирует экономию затрат на хранение, перемещая данные между четырьмя уровнями доступа на основе меняющихся шаблонов доступа, без влияния на производительность или операционных издержек на переходы между уровнями.
Долговечность и доступность такие же, как у S3 Standard для уровней Frequent и Infrequent Access.
Идеально подходит для озер данных, аналитики или пользовательского контента, где частота доступа со временем колеблется. Устраняет необходимость ручного анализа и управления политиками жизненного цикла для изменяющегося доступа. - S3 Standard-Infrequent Access (S3 Standard-IA)
Для данных, доступ к которым осуществляется реже, но требуется быстрый доступ при необходимости. Предлагает высокую долговечность, пропускную способность и низкую задержку S3 Standard при доступе.
Та же долговечность, что и у S3 Standard. Разработан для SLA доступности 99,9%.
Более низкая стоимость хранения за ГБ, чем у S3 Standard. При доступе к данным взимается плата за извлечение за каждый ГБ.
Сценарии использования ― долгосрочное хранение, резервные копии, файлы аварийного восстановления, где данные нужны быстро при обращении, но доступ нечастый. - S3 One Zone-Infrequent Access (S3 One Zone-IA)
Аналогичен Standard-IA, но хранит данные в одной зоне доступности вместо нескольких. Это архитектурное отличие приводит к снижению затрат, но и к снижению отказоустойчивости.
Стоимость хранения примерно на 20% ниже, чем у S3 Standard-IA. Также имеет плату за извлечение за ГБ, минимальный размер объекта (128 КБ) и минимальный срок хранения (30 дней). - S3 Glacier Instant Retrieval
Обеспечивает самое экономичное хранилище для долгоживущих данных, которые редко используются, но требуют извлечения за миллисекунды при запросе.
Стоимость хранения сравнима с S3 Standard-IA, но значительно ниже, чем у S3 Standard. Имеет плату за извлечение за ГБ (выше, чем у Standard-IA). Подлежит оплате за минимальный размер объекта (128 КБ) и минимальный срок хранения (90 дней).
Сценарии использования ― архивы данных, требующие немедленного доступа. Полезен, когда желательна экономика архива, но потенциальные потребности в извлечении быстрее, чем у традиционного Glacier. - S3 Glacier Flexible Retrieval (ранее S3 Glacier)
Недорогое хранилище, оптимизированное для архивирования данных, где приемлемо время извлечения от минут до часов.
Очень низкая стоимость хранения за ГБ. Применяется плата за извлечение за ГБ, значительно варьирующаяся в зависимости от выбранной скорости извлечения. Сценарии использования ― резервное копирование и архивирование, аварийное восстановление, долгосрочное хранение данных для соответствия требованиям, где допустим нечастый доступ и время извлечения в минутах/часах. - S3 Glacier Deep Archive
Самый дешевый класс хранения S3, предназначенный для долгосрочного хранения (7-10 лет и более) данных, к которым обращаются, возможно, один или два раза в год.
Самая низкая стоимость хранения за ГБ, доступная в облачном хранилище AWS. Применяется плата за извлечение за ГБ.
Сценарии использования ― архивы для соблюдения нормативных требований, замена магнитных лент, сохранение цифровых медиа, где нормой является чрезвычайно редкий доступ.

Кому подойдет подойдет хранилище S3
Для команд, работающих с большими данными, S3 является одним из возможных элементов Data Lake. Возможность хранения петабайт данных по сравнительно низкой цене, с гибкими моделями тарификации делает S3 идеальной основой. Затраты на хранение отделены от затрат на вычисления.
DevOps-инженеры и специалисты по инфраструктуре ценят S3 за его надежность и простую интеграцию в сервисы и инструменты. S3 является экономичным и надежным местом для хранения бэкапов баз данных, конфигураций, образов систем. Функции версионирования и репликации между регионами критичны для DR-стратегий.
Для разработчиков облачных приложений S3 решает несколько ключевых задач:
- Хранение пользовательского контента: изображения, видео, документы и другие бинарные данные, загружаемые пользователями, идеально подходят для хранения в S3, это позволяет обеспечить эластичность хранилища для пользовательских данных, унифицировать к нему доступ через протокол S3, использовать различные cloud native подходы для самих приложений, потому что данные будут хранится отдельно от приложений.
- Для приложений, работающих с видео, аудио или другими объемными файлами, S3 предлагает необходимую пропускную способность и инструменты для эффективной загрузки и скачивания.
Специалисты по Data Science и машинному обучению активно используют S3 на всех этапах жизненного цикла модели: масштабируемость S3 позволяет хранить петабайты данных, необходимых для обучения сложных моделей. Встроенное версионирование в S3 позволяет установить факт и момент изменения, откатиться на предыдущую версию.
S3 используется также и для хранения всевозможных архивов, в том числе для соблюдения требований регуляторов по этому долгосрочному хранению. Главное преимущество тут ― экстремально низкая стоимость хранения для данных, доступ к которым требуется крайне редко, но которые необходимо хранить годами.

Преимущества хранилища S3 для бизнеса
Использование S3 предоставляет бизнесу множество преимуществ, в том числе сокращение затрат и ускорение процесса внедрения инноваций. Все вместе они могут положительно повлиять на эффективность, масштабируемость и прибыльность компании.
- S3 позволяет значительно сократить затраты на хранение данных по сравнению с традиционными решениями. Вы платите только за то, что используете, и не несете затраты на обслуживание оборудования и программного обеспечения.
- S3 позволяет легко масштабировать хранилище данных в соответствии с потребностями вашего бизнеса. Вы можете хранить любое количество данных и увеличивать или уменьшать емкость по мере необходимости.
- S3 обеспечивает высокую надежность и доступность данных, что гарантирует их сохранность в случае сбоев. В зависимости от вендора, данные могут храниться в нескольких зонах доступности.
- S3 предоставляет множество инструментов для обеспечения безопасности ваших данных. Вы можете контролировать доступ к данным, а также шифровать данные при хранении и при передаче.
Использование хранилища S3 ― это стратегическое решение, которое может помочь бизнесу повысить эффективность, сократить затраты и ускорить внедрение инноваций. Вне зависимости от размера компании и отрасли работы, S3 может стать важным инструментом для управления данными и достижения бизнес-целей.
Андрей Лебедев