SlideShare a Scribd company logo
1 of 22
Интеграция сайта с облачным
       хранилищем
      Александр Демидов
Облачные хранилища
Безопасность и надежность
Доступность – 99.99%
Надежность – 99.999999999%
ACL
Версионность
Шифрование (server-side, client-side)
Зачем нам нужен cloud storage?
Снижаем стоимость эксплуатации
Можем использовать совместно с CDN
Снижаем нагрузку на web-узлы
«Легкий» сайт – легко переезжать и бэкапить
Синхронизация контента между множественными web-
узлами
Ускоряем рендеринг страниц в браузере
Amazon S3
Собственный CDN
Разные типы хранилищ (наличие
Reduced Redundancy Storage – RRS)
Возможность использования BitTorrent
SDK: Java, .NET, PHP, Ruby, iOS, Android
S3tools, s3fs, сторонние клиенты
Google Cloud Storage
OAuth 2.0
Возможность использования Google
account в ACL
SDK (Google App Engine): Java, Python
GSUtil, Google Storage FS, сторонние
клиенты
Windows Azure Storage
Собственный CDN
Windows Azure Drive
SDK (Windows Azure):
.NET, Node.js, Java, PHP
Сторонние клиенты
Rackspace Cloud Files / OpenStack
CDN Akamai
Развитие OpenStack
SDK: PHP, Python, Ruby, Java, .NET
ftpcloudfs, сторонние клиенты
<img width="200" height="151" border="0"
src="http://cs1.clodo.ru/v1/                      html                 Посетитель
CLODO_7f71c0228dfd469ad68f425520bac415/
upload-clodo/iblock/
a202296a71b9f16ccb502d8ada9298a/karasik.jpg" />


                                                              *.png; *.jpeg ...

                           Веб-сервер
                                                         Хранилище


                                БД
Поддержка в популярных CMS
  Плагины                          Внешние модули
  Медиа, бэкапы                    Медиа, бэкапы
  «StorageQloud for                «CDN», «CloudFlare», «Backu
  WordPress», «BackWPup», «Am      p and Migrate»
  azon S3 Uploads»

  Расширения                       Встроенный
  Медиа, бэкапы, статический       модуль, поддержка на
  контент                          уровне ядра
  «JA Amazon                       Поддержка во всех модулях
  S3», «jomCDN», «XCloner-Backup   Возможность
  and Restore»                     использования в сторонних
                                   модулях
Сайт + cloud storage
Как сделать правильно?
API хранилища для «прозрачной» работы с файлами
API для разработчиков (не используем стандартные функции
для работы с файлами)
Избегаем «диких» файлов
Простое подключение хранилищ
Правила для выбора при работе с несколькими хранилищами
«Прозрачность» для всех модулей системы
Как сделать правильно?
Таблица с данными обо всех подключенных хранилищах
Таблица со списком файлов, и указанием, где они хранятся
(можно сразу хранить дополнительную информацию)
Не используем file_size, getimagesize и т.п. – сохраняем все
данные при аплоаде
Отлов «диких» файлов через обработку 404
Как сделать красиво?
  http://s3.amazonaws.com/bucket/file.ext
  http://bucket.s3.amazonaws.com/file.ext


Используем CNAME

  Название бакета – в виде субдомена (files.domain.ru)
  files.domain.ru. IN CNAME s3.amazonaws.com.
  http://files.domain.ru/file.ext
Резервное копирование
Простое перемещение между хранилищами
Использование нескольких хранилищ
Одновременно можно хранить
разные файлы в разных «облачных
хранилищах». Например, все
файлы «весом» больше 100 Мб
перемещать в «облако» Google
Storage, а все видео - в Amazon S3.
Облачное хранилище в масштабируемом проекте
                      HTTP / HTTPS



                Elastic Load Balancing




 Web 1        Web 2
                                         …   Web N

            CloudWatch + Auto Scaling
Облачное хранилище в масштабируемом проекте
                                   Elastic
                               Load Balancing




 Web 1    Web 2
                  …    Web N        S3          Web 1        Web 2
                                                                     …        Web N




Датацентр 1       DB             репликация             DB           Датацентр 2
Веб-ноды – «расходный материал»
На веб-нодах нет                    Сервер       Новый
                                  обновлений   образ AMI
пользовательского контента
Read only (возможно, кроме tmp)
Обновления, аварии – убираем
лишние                              Web 1
Изоляция пользователей друг от                  Elastic
друга                               Web 2
                                                 Load
                                               Balancing



                                    Web N
Создание нового аккаунта
Новый IAM пользователь
Получаем AccessKey, SecretKey
Права внутри одной директории:
   PutObject
   GetObject
   DeleteObject
Спасибо за внимание!
Александр Демидов
demidov@1c-bitrix.ru
+7 (915) 201-1500
    @demidov
http://www.1c-bitrix.ru

More Related Content

What's hot

Сайфуллин Сравнение почтовых систем
Сайфуллин Сравнение почтовых системСайфуллин Сравнение почтовых систем
Сайфуллин Сравнение почтовых системLiudmila Li
 
ASP.NET MVC+ Windows Azure: step by step guide
ASP.NET MVC+ Windows Azure: step by step guideASP.NET MVC+ Windows Azure: step by step guide
ASP.NET MVC+ Windows Azure: step by step guideMykhail Galushko
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureAlexander Feschenko
 
Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...Artur Baranok
 
03 web server_architecture_ru
03 web server_architecture_ru03 web server_architecture_ru
03 web server_architecture_rumcroitor
 
Drupal Highload - Klera Vilenskaya
Drupal Highload - Klera VilenskayaDrupal Highload - Klera Vilenskaya
Drupal Highload - Klera VilenskayaAlex Ilyin
 
Дмитро Костюк “Хмарний хостинг для веб-розробника. Можливості та переваги”
Дмитро Костюк “Хмарний хостинг для веб-розробника. Можливості та переваги”Дмитро Костюк “Хмарний хостинг для веб-розробника. Можливості та переваги”
Дмитро Костюк “Хмарний хостинг для веб-розробника. Можливості та переваги”Lviv Startup Club
 
Windows server 2012 r2 essentials rus
Windows server 2012 r2 essentials rusWindows server 2012 r2 essentials rus
Windows server 2012 r2 essentials rusTechFunder
 
InfoboxCloud Обзорная презентация по IaaS и PaaS
InfoboxCloud Обзорная презентация по IaaS и PaaSInfoboxCloud Обзорная презентация по IaaS и PaaS
InfoboxCloud Обзорная презентация по IaaS и PaaSYuri Trukhin
 
Cloudmail - корпоративная web-почта
Cloudmail - корпоративная web-почтаCloudmail - корпоративная web-почта
Cloudmail - корпоративная web-почтаЕлена Кузовкина
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureAndrew Mayorov
 
Starting with windows azure
Starting with windows azureStarting with windows azure
Starting with windows azurePavel Revenkov
 
ScaleIO: AGENT КРОК 00Scale. Внедрение
ScaleIO: AGENT КРОК 00Scale. ВнедрениеScaleIO: AGENT КРОК 00Scale. Внедрение
ScaleIO: AGENT КРОК 00Scale. ВнедрениеКРОК
 
1С-Битрикс - Веб-кластер
1С-Битрикс - Веб-кластер1С-Битрикс - Веб-кластер
1С-Битрикс - Веб-кластерAlexander Demidov
 
Что нового в ASP.NET 4
Что нового в ASP.NET 4Что нового в ASP.NET 4
Что нового в ASP.NET 4akrakovetsky
 
IaaS презентация
IaaS презентацияIaaS презентация
IaaS презентацияCTI2014
 
Резервное копирование виртуальных машин
Резервное копирование виртуальных машинРезервное копирование виртуальных машин
Резервное копирование виртуальных машинКРОК
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - ПроизводительностьAlexander Demidov
 

What's hot (20)

Сайфуллин Сравнение почтовых систем
Сайфуллин Сравнение почтовых системСайфуллин Сравнение почтовых систем
Сайфуллин Сравнение почтовых систем
 
ASP.NET MVC+ Windows Azure: step by step guide
ASP.NET MVC+ Windows Azure: step by step guideASP.NET MVC+ Windows Azure: step by step guide
ASP.NET MVC+ Windows Azure: step by step guide
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows Azure
 
Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...Новые возможности развертывания и масштабирования open source приложений в Az...
Новые возможности развертывания и масштабирования open source приложений в Az...
 
03 web server_architecture_ru
03 web server_architecture_ru03 web server_architecture_ru
03 web server_architecture_ru
 
Drupal Highload - Klera Vilenskaya
Drupal Highload - Klera VilenskayaDrupal Highload - Klera Vilenskaya
Drupal Highload - Klera Vilenskaya
 
2011 07-кластер
2011 07-кластер2011 07-кластер
2011 07-кластер
 
Дмитро Костюк “Хмарний хостинг для веб-розробника. Можливості та переваги”
Дмитро Костюк “Хмарний хостинг для веб-розробника. Можливості та переваги”Дмитро Костюк “Хмарний хостинг для веб-розробника. Можливості та переваги”
Дмитро Костюк “Хмарний хостинг для веб-розробника. Можливості та переваги”
 
Windows server 2012 r2 essentials rus
Windows server 2012 r2 essentials rusWindows server 2012 r2 essentials rus
Windows server 2012 r2 essentials rus
 
InfoboxCloud Обзорная презентация по IaaS и PaaS
InfoboxCloud Обзорная презентация по IaaS и PaaSInfoboxCloud Обзорная презентация по IaaS и PaaS
InfoboxCloud Обзорная презентация по IaaS и PaaS
 
Cloudmail - корпоративная web-почта
Cloudmail - корпоративная web-почтаCloudmail - корпоративная web-почта
Cloudmail - корпоративная web-почта
 
Roman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows AzureRoman Zdebskiy - Windows Azure
Roman Zdebskiy - Windows Azure
 
Starting with windows azure
Starting with windows azureStarting with windows azure
Starting with windows azure
 
ScaleIO: AGENT КРОК 00Scale. Внедрение
ScaleIO: AGENT КРОК 00Scale. ВнедрениеScaleIO: AGENT КРОК 00Scale. Внедрение
ScaleIO: AGENT КРОК 00Scale. Внедрение
 
1С-Битрикс - Веб-кластер
1С-Битрикс - Веб-кластер1С-Битрикс - Веб-кластер
1С-Битрикс - Веб-кластер
 
Что нового в ASP.NET 4
Что нового в ASP.NET 4Что нового в ASP.NET 4
Что нового в ASP.NET 4
 
IaaS презентация
IaaS презентацияIaaS презентация
IaaS презентация
 
Резервное копирование виртуальных машин
Резервное копирование виртуальных машинРезервное копирование виртуальных машин
Резервное копирование виртуальных машин
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - Производительность
 
Drupalconf12
Drupalconf12Drupalconf12
Drupalconf12
 

Similar to Интеграция сайта с облачным хранилищем (Александр Демидов)

Clouds NN 2012 Александр Демидов "Битрикс24 архитектура и опыт эксплуатации о...
Clouds NN 2012 Александр Демидов "Битрикс24 архитектура и опыт эксплуатации о...Clouds NN 2012 Александр Демидов "Битрикс24 архитектура и опыт эксплуатации о...
Clouds NN 2012 Александр Демидов "Битрикс24 архитектура и опыт эксплуатации о...Clouds NN
 
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Ontico
 
DUMP-2012 - Только хардкор! - "Архитектура и запуск облачного сервиса в Amazo...
DUMP-2012 - Только хардкор! - "Архитектура и запуск облачного сервиса в Amazo...DUMP-2012 - Только хардкор! - "Архитектура и запуск облачного сервиса в Amazo...
DUMP-2012 - Только хардкор! - "Архитектура и запуск облачного сервиса в Amazo...it-people
 
«Битрикс24»: архитектура и эксплуатация высоконагруженного облачного сервиса
«Битрикс24»: архитектура и эксплуатация высоконагруженного облачного сервиса«Битрикс24»: архитектура и эксплуатация высоконагруженного облачного сервиса
«Битрикс24»: архитектура и эксплуатация высоконагруженного облачного сервисаIT Weekend
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureAlexander Feschenko
 
Александр Киров — Acronis — ICBDA 2015
Александр Киров — Acronis — ICBDA 2015Александр Киров — Acronis — ICBDA 2015
Александр Киров — Acronis — ICBDA 2015rusbase
 
Приватный клауд на базе OpenStack
Приватный клауд на базе OpenStackПриватный клауд на базе OpenStack
Приватный клауд на базе OpenStackIlya Alekseyev
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Uptime Community
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Uptime community
 
Развитие баз данных в Dropbox. Путь от одной глобальной базы MySQL к 6000 шар...
Развитие баз данных в Dropbox. Путь от одной глобальной базы MySQL к 6000 шар...Развитие баз данных в Dropbox. Путь от одной глобальной базы MySQL к 6000 шар...
Развитие баз данных в Dropbox. Путь от одной глобальной базы MySQL к 6000 шар...Ontico
 
Основные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure WebsitesОсновные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure WebsitesArtur Baranok
 
Windows azure общий обзор
Windows azure общий обзорWindows azure общий обзор
Windows azure общий обзорMicrosoft
 
Частное облако как сервис
Частное облако как сервисЧастное облако как сервис
Частное облако как сервисSoftline
 
Облако Windows Azure для тестирования и разработки
Облако Windows Azure для тестирования и разработкиОблако Windows Azure для тестирования и разработки
Облако Windows Azure для тестирования и разработкиAlexey Bokov
 
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...ForkConf
 

Similar to Интеграция сайта с облачным хранилищем (Александр Демидов) (20)

02 1c-bitrix-cloud-storage
02 1c-bitrix-cloud-storage02 1c-bitrix-cloud-storage
02 1c-bitrix-cloud-storage
 
Bitrix24 (DevConf)
Bitrix24 (DevConf)Bitrix24 (DevConf)
Bitrix24 (DevConf)
 
Clouds NN 2012 Александр Демидов "Битрикс24 архитектура и опыт эксплуатации о...
Clouds NN 2012 Александр Демидов "Битрикс24 архитектура и опыт эксплуатации о...Clouds NN 2012 Александр Демидов "Битрикс24 архитектура и опыт эксплуатации о...
Clouds NN 2012 Александр Демидов "Битрикс24 архитектура и опыт эксплуатации о...
 
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
Проектирование высоконагруженного масштабируемого веб-сервиса в облаке на при...
 
DUMP-2012 - Только хардкор! - "Архитектура и запуск облачного сервиса в Amazo...
DUMP-2012 - Только хардкор! - "Архитектура и запуск облачного сервиса в Amazo...DUMP-2012 - Только хардкор! - "Архитектура и запуск облачного сервиса в Amazo...
DUMP-2012 - Только хардкор! - "Архитектура и запуск облачного сервиса в Amazo...
 
«Битрикс24»: архитектура и эксплуатация высоконагруженного облачного сервиса
«Битрикс24»: архитектура и эксплуатация высоконагруженного облачного сервиса«Битрикс24»: архитектура и эксплуатация высоконагруженного облачного сервиса
«Битрикс24»: архитектура и эксплуатация высоконагруженного облачного сервиса
 
В облаке AWS
В облаке AWSВ облаке AWS
В облаке AWS
 
Построение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows AzureПостроение высоконагруженных приложений на базе Windows Azure
Построение высоконагруженных приложений на базе Windows Azure
 
Александр Киров — Acronis — ICBDA 2015
Александр Киров — Acronis — ICBDA 2015Александр Киров — Acronis — ICBDA 2015
Александр Киров — Acronis — ICBDA 2015
 
Что нового в 11.0?
Что нового в 11.0?Что нового в 11.0?
Что нового в 11.0?
 
Приватный клауд на базе OpenStack
Приватный клауд на базе OpenStackПриватный клауд на базе OpenStack
Приватный клауд на базе OpenStack
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
 
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
Как жить в облаке почти без админов: мониторинг и эксплуатация сотен виртуаль...
 
Веб-кластер
Веб-кластерВеб-кластер
Веб-кластер
 
Развитие баз данных в Dropbox. Путь от одной глобальной базы MySQL к 6000 шар...
Развитие баз данных в Dropbox. Путь от одной глобальной базы MySQL к 6000 шар...Развитие баз данных в Dropbox. Путь от одной глобальной базы MySQL к 6000 шар...
Развитие баз данных в Dropbox. Путь от одной глобальной базы MySQL к 6000 шар...
 
Основные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure WebsitesОсновные аспекты управления веб-проектом в Microsoft Azure Websites
Основные аспекты управления веб-проектом в Microsoft Azure Websites
 
Windows azure общий обзор
Windows azure общий обзорWindows azure общий обзор
Windows azure общий обзор
 
Частное облако как сервис
Частное облако как сервисЧастное облако как сервис
Частное облако как сервис
 
Облако Windows Azure для тестирования и разработки
Облако Windows Azure для тестирования и разработкиОблако Windows Azure для тестирования и разработки
Облако Windows Azure для тестирования и разработки
 
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
(2 часть) 1С-Битрикс. Производительность проекта. Архитектура проекта «Битрик...
 

More from Ontico

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Ontico
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Ontico
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Ontico
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Ontico
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)Ontico
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Ontico
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Ontico
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)Ontico
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)Ontico
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Ontico
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Ontico
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Ontico
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Ontico
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)Ontico
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Ontico
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...Ontico
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Ontico
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Ontico
 

More from Ontico (20)

One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
 
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
 
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
 
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
 
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
 
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
 
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
 
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
 
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)MySQL Replication — Advanced Features / Петр Зайцев (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
 
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
 
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
 
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
 
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
 
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
 
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...100500 способов кэширования в Oracle Database или как достичь максимальной ск...
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
 
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
 
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
 

Интеграция сайта с облачным хранилищем (Александр Демидов)

  • 1. Интеграция сайта с облачным хранилищем Александр Демидов
  • 3. Безопасность и надежность Доступность – 99.99% Надежность – 99.999999999% ACL Версионность Шифрование (server-side, client-side)
  • 4. Зачем нам нужен cloud storage? Снижаем стоимость эксплуатации Можем использовать совместно с CDN Снижаем нагрузку на web-узлы «Легкий» сайт – легко переезжать и бэкапить Синхронизация контента между множественными web- узлами Ускоряем рендеринг страниц в браузере
  • 5. Amazon S3 Собственный CDN Разные типы хранилищ (наличие Reduced Redundancy Storage – RRS) Возможность использования BitTorrent SDK: Java, .NET, PHP, Ruby, iOS, Android S3tools, s3fs, сторонние клиенты
  • 6. Google Cloud Storage OAuth 2.0 Возможность использования Google account в ACL SDK (Google App Engine): Java, Python GSUtil, Google Storage FS, сторонние клиенты
  • 7. Windows Azure Storage Собственный CDN Windows Azure Drive SDK (Windows Azure): .NET, Node.js, Java, PHP Сторонние клиенты
  • 8. Rackspace Cloud Files / OpenStack CDN Akamai Развитие OpenStack SDK: PHP, Python, Ruby, Java, .NET ftpcloudfs, сторонние клиенты
  • 9. <img width="200" height="151" border="0" src="http://cs1.clodo.ru/v1/ html Посетитель CLODO_7f71c0228dfd469ad68f425520bac415/ upload-clodo/iblock/ a202296a71b9f16ccb502d8ada9298a/karasik.jpg" /> *.png; *.jpeg ... Веб-сервер Хранилище БД
  • 10. Поддержка в популярных CMS Плагины Внешние модули Медиа, бэкапы Медиа, бэкапы «StorageQloud for «CDN», «CloudFlare», «Backu WordPress», «BackWPup», «Am p and Migrate» azon S3 Uploads» Расширения Встроенный Медиа, бэкапы, статический модуль, поддержка на контент уровне ядра «JA Amazon Поддержка во всех модулях S3», «jomCDN», «XCloner-Backup Возможность and Restore» использования в сторонних модулях
  • 11. Сайт + cloud storage
  • 12. Как сделать правильно? API хранилища для «прозрачной» работы с файлами API для разработчиков (не используем стандартные функции для работы с файлами) Избегаем «диких» файлов Простое подключение хранилищ Правила для выбора при работе с несколькими хранилищами «Прозрачность» для всех модулей системы
  • 13. Как сделать правильно? Таблица с данными обо всех подключенных хранилищах Таблица со списком файлов, и указанием, где они хранятся (можно сразу хранить дополнительную информацию) Не используем file_size, getimagesize и т.п. – сохраняем все данные при аплоаде Отлов «диких» файлов через обработку 404
  • 14. Как сделать красиво? http://s3.amazonaws.com/bucket/file.ext http://bucket.s3.amazonaws.com/file.ext Используем CNAME Название бакета – в виде субдомена (files.domain.ru) files.domain.ru. IN CNAME s3.amazonaws.com. http://files.domain.ru/file.ext
  • 17. Использование нескольких хранилищ Одновременно можно хранить разные файлы в разных «облачных хранилищах». Например, все файлы «весом» больше 100 Мб перемещать в «облако» Google Storage, а все видео - в Amazon S3.
  • 18. Облачное хранилище в масштабируемом проекте HTTP / HTTPS Elastic Load Balancing Web 1 Web 2 … Web N CloudWatch + Auto Scaling
  • 19. Облачное хранилище в масштабируемом проекте Elastic Load Balancing Web 1 Web 2 … Web N S3 Web 1 Web 2 … Web N Датацентр 1 DB репликация DB Датацентр 2
  • 20. Веб-ноды – «расходный материал» На веб-нодах нет Сервер Новый обновлений образ AMI пользовательского контента Read only (возможно, кроме tmp) Обновления, аварии – убираем лишние Web 1 Изоляция пользователей друг от Elastic друга Web 2 Load Balancing Web N
  • 21. Создание нового аккаунта Новый IAM пользователь Получаем AccessKey, SecretKey Права внутри одной директории: PutObject GetObject DeleteObject
  • 22. Спасибо за внимание! Александр Демидов demidov@1c-bitrix.ru +7 (915) 201-1500 @demidov http://www.1c-bitrix.ru