Ежедневно в мире появляется огромное количество новой цифровой информации. Компаниям необходимы надежные сервисы, чтобы размещать конфиденциальные данные и не беспокоиться об их безопасности. В этом помогут облачные хранилища. Рассказываем, как пользоваться облаком и в чем его особенности.
Что такое облачное хранилище и зачем оно нужно
Облачное хранилище — это место на сервере, предназначенное для загрузки файлов. Доступ к облаку предоставляет клиентское приложение: пользователь устанавливает его на свое устройство, регистрируется и помещает свои файлы в облако.
При стабильном доступе в интернет через приложение вы сможете:
- просматривать, редактировать, обновлять, удалять данные;
- делиться информацией — файлами или ссылками на них;
- организовывать совместную работу.
При этом вы можете не беспокоиться за сохранность файлов и изменений в них — в облаке предусмотрено автоматическое резервное копирование и сохранение старых версий.
Что такое облачное хранилище
Преимущества и недостатки
Достоинства облачных хранилищ:
- Экономия места и быстрый доступ. Вы сможете освободить пространство на винчестере, съемных жестких дисках или флешке и работать с файлом онлайн в любой момент.
- Безопасность. Вы можете случайно повредить носитель — восстановить информацию в таких случаях не всегда возможно. Серверы же располагаются в надежно охраняемых дата-центрах.
- Надежность. Облачные хранилища обслуживают профессиональные инженеры — они выпускают обновления, поддерживают стабильную работу программы.
- Защита доступа. У хранилищ надежное шифрование и жесткие настройки прав доступа.
- Экономия денег. Многие хранилища бесплатны. Если же вы выберете платный тариф, то его стоимость будет рассчитываться в соответствии с потребляемыми вами ресурсами.
- Доступность. Файлами можно управлять через пользовательский интерфейс приложения, API или консоль.
В числе недостатков:
- Доступ в режиме онлайн. Без стабильного интернета вы не сможете работать с файлами. Однако у некоторых сервисов, например, Dropbox и Google.Диск предусмотрен офлайн-доступ.
- Медленная загрузка. Если данных слишком много, система будет справляться хуже.
- Риски взлома и потери данных. Ни одна система не застрахована от сбоев и хакерских атак. Однако в современных облачных хранилищах такие риски стремятся к нулю.
Типы хранилищ
Файловое хранилище. Система с иерархической структурой данных: есть корневой файл, в котором хранятся каталоги, в них — файлы с их атрибутами. Принцип применяется в ПК и в самых популярных сервисах, таких как Dropbox, Google.Диск, Яндекс. Диск.
Это простой и интуитивно понятный вариант для пользователей и небольших компаний. Однако у файловых хранилищ плохая масштабируемость: чем больше информации, тем медленнее работает система. Для хранения большого количества «тяжелых» файлов они не подойдут.
Блочное хранилище. Его структура похожа на файловое хранилище, но вся информация делится на блоки с уникальными идентификаторами. Система формирует каждую клиентскую среду — к ней обеспечивается отдельный быстрый доступ. Популярный сервис — Amazon Elastic Block Storage.
Производительность блочных систем выше, они подходят для хранения корпоративной информации. Однако такая архитектура создает большую нагрузку на базы данных. Оплачивать нужно весь объем памяти, даже свободный.
Объектное хранилище. Универсальный тип для хранения любой информации. Его пространство состоит из множества объектов со своими идентификаторами и метаданными. Данные не иерархизируются, как в в файловой и блочной системах, а существуют сами по себе. Пример — Amazon Simple Storage Service.
Такие хранилища работают с огромными объемами информации. Однако у большинства из них нет интерфейса для загрузки данных и управления ими — с этими хранилищами работают через API.
База данных. Это информационная структура, которая содержится на сервере или в облаке. У нее почти неограниченный объем хранения, возможность проводить любые операции с данными и автоматизировать типовые процессы, например, выставление счетов. Информацией управляют с помощью СУБД (системой управления базами данных), например, MySQL, Oracle.
Это максимально надежные и функциональные системы, но их создание и эксплуатация — дорогие. Без владения СУБД работать с базой данных невозможно.
Как выбрать сервис
При выборе облачного хранилища отталкивайтесь от возможностей компании и ваших целей. Рассмотрим критерии, на которые стоит обратить внимание.
Размер и условия бесплатного использования
Для хранения легких файлов — текстовых документов, таблиц Excel, небольшого количества изображений — подойдет облако размером 10 Гб. Чтобы размещать видео и другие громоздкие файлы, выбирайте максимальный объем памяти — от 1 до 5 Тб. Обратите внимание на возможность расширить объем хранилища, разные тарифные планы.
Популярные сервисы (Google, Яндекс, Мейл.ру) предлагают бесплатные хранилища небольшого размера.
Функциональность внутри хранилища
Многие сервисы позволяют:
- выдавать и ограничивать права доступа сторонних пользователей к файлам;
- обмениваться разными объемами данных;
- интегрировать хранилище с разными сервисами, базами данных;
- поддерживать разные протоколы;
- настраивать интерфейс программы, изменять ее.
Степень защиты данных
Для всех облачных хранилищ предусмотрено шифрование — сложный алгоритм защиты данных. Лучше, если информация шифруется на каждом этапе передачи и хранения.
Другие способы защиты:
- Надежный пароль. Система не позволяет использовать комбинацию, содержащую менее 8 различных символов — цифр, букв верхнего и нижнего регистра.
- Многофакторная аутентификация. Пользователь авторизуется с помощью логина, пароля, СМС и другими способами.
- Непрерывный мониторинг. Некоторые провайдеры предоставляют услугу постоянного обнаружения вторжений, DDoS-атак.
- Безопасный API. Для передачи данных по API используют защитное шифрование Secure Socket Layer/Transport Layer.
Русификация
У популярных сервисов есть возможность настроить язык интерфейса. В русскоязычной версии проще освоить все возможности программы.
Наличие приложения
У хранилища должно быть ПО для компьютера или смартфона. Так вы сможете самостоятельно управлять данными и предоставлять доступ к ним. Если приложения или программы нет, без наличия профессиональных навыков вы не справитесь.
Дополнительные возможности
Вам могут пригодиться дополнительные функции:
- автозагрузка файлов в облако со смартфона;
- индексация в поисковых системах документов с общим доступом;
- сканирование документов;
- распознавание файлов по фото.
Как пользоваться
У большинства сервисов одинаковый принцип использования:
- Скачивание программы или приложения (для Яндекса, Google, Мейл.ру это необязательно), регистрация.
- Выбор тарифного плана и оплата месячного или годового использования. Можно ограничиться бесплатным функционалом.
- Загрузка документов, настройка доступа.
После размещения документов в хранилище вы можете просматривать, редактировать и удалять их, открывать и закрывать доступ для пользователей, делиться ссылками. Особенности функционала зависят от конкретного сервиса.
Топ облачных сервисов
У каждого облачного хранилища свои преимущества — разнообразные функции, максимальный уровень безопасности или демократичные цены. Выбирайте сервис, исходя из специфики бизнеса и ваших приоритетов.
Яндекс.Диск
Хранилище объемом 10 Гб по умолчанию. Вы можете оформить подписку Премиум:
- 199 руб/мес — 200 Гб;
- 399 руб/мес — 1 Тб;
- 799 руб/мес — 3 Тб.
При оплате за год предоставляется скидка.
Облаком можно пользоваться в почтовом аккаунте Яндекса в браузере или скачать диск на ПК. Возможности сервиса:
- предоставление общего доступа к данным;
- возможность отправить ссылку на файл;
- галерея для просмотра изображений, создание фотоальбомов, сканирование, автозагрузка файлов с телефона;
- редактирование/перемещение папок и файлов.
Google Drive
Диск с бесплатным объемом памяти 15 Гб. Есть разные тарифные планы:
- Basic — 100 Гб за 139 руб/месяц;
- Standard — 200 Гб за 219 руб/месяц;
- Premium — 2 Тб за 699 руб/месяц.
За годовую подписку предоставляется скидка 17%.
- возможность совместного редактирования документов, настройка общего доступа;
- поисковая индексация общедоступных файлов;
- возможность работать с сервисами Google — Документами, Таблицами, Формами.
Dropbox
Сервис с бесплатным тарифом Basic на 2 Гб дискового пространства. Предложения для бизнеса:
- Professional — 19,99$/месяц;
- Standard — 18$/месяц за 1 пользователя;
- Advanced — 30$/месяц за 1 пользователя.
За годовую оплату предусмотрена скидка до 20%.
Пользоваться облаком можно в мобильном приложении или программе для ПК. Специальные возможности:
- синхронизация документов, работа без доступа к интернету;
- общий доступ и создание рабочей группы;
- добавление электронной подписи и водяного знака;
- программа для записи экрана;
- сканер документов;
- интеграция сервисов Microsoft, Google, Adobe, Zoom.
Сервис предоставляет 8 Гб бесплатно при регистрации аккаунта. У него множество платных тарифов — от 128 Гб за 149 руб/месяц до 4 Тб за 2 690 руб/месяц. За годовую оплату предоставляются скидки.
- возможность редактировать документы;
- общий доступ и обмен файлами;
- автозагрузка фото, синхронизация;
- интеграция в сервисы VK.
Internxt
Хранилище с бесплатным объемом памяти до 10 Гб. Тарифные планы:
- 20 ГБ — 0,89 €/месяц;
- 200 Гб — 3,49 €/месяц;
- 2 Тб — 8,99 €/месяц.
У сервиса нет русифицированного интерфейса и возможности совместной работы, но есть нужные бизнесу функции:
- высокий уровень безопасности, защита на основе технологии блокчейн;
- программа для ПК и мобильное приложение;
- интуитивно понятный дизайн;
- возможность делиться ссылкой на файл.
Icedrive
Облачное хранилище с бесплатным объемом памяти в 10 Гб. Его преимущество — в пожизненных тарифных планах с разовой оплатой. Платное использование начинается с 1,67 $/месяц, диск можно увеличить до 5 Тб.
Возможности сервиса ограничены, но у него есть свои преимущества:
- надежное шифрование и строгая политика конфиденциальности;
- удобный пользовательский интерфейс.
Sync
При регистрации сервис предоставляет 5 Гб для хранения файлов. Платные тарифы начинаются от 5$/месяц, вы можете получить до 2 Тб памяти.
- максимальные безопасность и конфиденциальность — сервис не собирает персональные данные, расшифровать информацию вы сможете только самостоятельно;
- функции поиска и фильтров;
- доступ по протоколу HTTP.
Что важно запомнить
- Облачные сервисы нужны для безопасного и надежного хранения файлов, а также для совместной работы.
- Виды облачных хранилищ различаются по архитектуре и способу управления. У файловых и блочных систем есть понятный пользовательский интерфейс, объектными сервисами и базами данных управляют с помощью программных запросов.
- Большинство хранилищ доступны только в режиме онлайн.
- Все сервисы бесплатно предоставляют небольшой объем памяти — 5–10 Гб.
- При выборе облака стоит обратить внимание на функционал, способы защиты данных, максимальный размер диска, качество приложения или программы для ПК.
Источник: www.mango-office.ru
Облако — что это и зачем?
Недавно мы запустили сервис ABBYY Cloud OCR SDK, работающий на облаке Windows Azure и попутно набрали 100500 опыта. Например, узнали, что многие используют слово «облако» и слышали, что «облака – это модно», но очень немногие понимают, что такое облако и главное – зачем делать сервис именно в облаке. Слово «облако» повсеместно используется и, похоже, начало обрастать городскими легендами.
Посмотрите, например, вот это видео:
Не много потеряете, если просто сосредоточитесь на том, что блондинка хорошо выглядит и у нее приятный голос.
Рассмотрим подробно, что такое публичное облако, зачем может иметь смысл использовать его для работы ПО и правда ли, что «скоро все будет в облаках».
Невиданные возможности для ваших клиентов
Для начала – чем для клиента сервис «в облаке» отличается от сервиса «не в облаке».
Считается, что «облачный» сервис обладает уникальным свойством – доступностью для любых пользователей. Облака тут ни при чем. Наш сервис работает в облаке, выглядит для пользователя как обычный веб-сайт (часть запросов даже выдает обычные на вид веб-страницы), в нем, например, есть пользовательский кабинет, который выглядит как обычные веб-страницы.
Для сравнения посмотрите на Stack Exchange (наиболее известен благодаря сайту Stack Overflow) или Яндекс.Почту – они для пользователя выглядят точно так же. Они тоже доступны любым пользователям и откуда угодно. Там тоже веб-сервер, который тоже принимает запросы по HTTP, там тоже все равно, какая операционная система у клиента, какая архитектура у его машины, на каком языке написаны его программы.
Можно встретить утверждения, что благодаря облачности сервиса «данные пользователей доступны им откуда угодно». Да, пользователи сервиса могут закачивать изображения на наш сервис откуда угодно и получать результаты тоже откуда угодно. Кстати, пользователи Stack Exchange или Яндекс.Почты тоже могут работать с этими сервисами откуда угодно – задавать вопросы, получать ответы, отправлять и получать письма.
Функционально облачный сервис не отличается для пользователя ничем. Что в облаке, что не в облаке, на каком-то IP-адресе стоит сервер (обычно веб-сервер), который принимает и обрабатывает запросы. Если нет настроек, ограничивающих доступ к серверу с конкретных диапазонов IP-адресов и клиент сам не сидит за параноидальным фаерволом, то сервис доступен откуда угодно и с какого угодно устройства. Облачность тут никак не сказывается.
Облачные сервисы для облачных сервисов
Также считается, что сервис в облаке делают для того, чтобы с ним могли взаимодействовать другие сервисы в облаке – что-то из серии «для использования разработчиками облачных сервисов», как недавно написали авторы одного пресс-релиза. В особо бредовых презентациях можно встретить картинки с утыканным колышками наивно схематичным облаком – это облако, в нем сервисы, и они там взаимодействуют.
Посмотрим на это с точки зрения нашего сервиса. Цель разработки нашего сервиса – предоставить программно доступный из любой точки мира сервис – чтобы сторонние разработчики, которым в их программах не хватает оптического распознавания текста, могли разработать ПО, которое использует наш сервис для распознавания.
Например, программу для смартфона, которая фотографирует чек, извлекает из него данные и сохраняет их в программу для бюджетирования на том же смартфоне. Капитан Очевидность подсказывает: смартфон не в облаке. Наш сервис не только для «разработчиков облачных сервисов», он для разработчиков любых программ, которые готовы использовать сторонний сервис для распознавания текста. В облаке те программы работают или нет – не имеет принципиального значения, а нашему сервису просто все равно.
Считается, что облачный сервис – это обязательно сервис для обслуживания многочисленных внешних запросов. Обычно да, но не обязательно. Никто не мешает вам запустить на вашем сервисе разложение простых чисел на множители, исходные данные для него хранить где-нибудь снаружи, чтобы сервис их сам оттуда брал, а результаты заливал на внешний ftp-сервер.
Облачная архитектура облачных сервисов
Далее – считается, что сервис, работающий в облаке, принципиально по-другому устроен, его разработка требует принципиально другой архитектуры по сравнению с сервисом, работающим не в облаке. Некоторые отличия действительно есть, но они второстепенны.
Представьте, что вам нужно сделать веб-сервис, который принимает от пользователя изображения, складывает их в очередь на обработку (потому что распознавание занимает некоторое время), обрабатывает, после обработки дает пользователю ссылку на скачивание результата. Как бы вы сделали его? Скорее всего, вы бы создавали во внутреннем хранилище (скорее всего, базе данных) «задание» для каждого принятого изображения, давали ему уникальный идентификатор, отдельным потоком или отдельным процессом распознавали изображение, потом на очередной запрос «как дела у задания такого-то» возвращали ссылку на результат. Это совершенно очевидная архитектура для такого сервиса, и облачность тут тоже ни при чем.
Считается, что в облаке используется «облачная операционная система». Обычно это просто допиленная «обычная операционная система». В Windows Azure это Windows Server 2008 R2 со слегка перетянутыми гайками (например, временная папка очень маленькая). Вся «облачность» в такой среде создается дополнительными сервисами – например, долговременным хранилищем данных, не привязанным к машине, на которой работает пользовательский сервис.
Некоторое время назад мы рассказывали, что теперь FineReader Engine поддерживает работу в Windows Azure. Эта доработка не потребовала полного переписывания всего FRE, просто учли ограничения платформы, немного под них доработали, протестировали, обновили документацию, взяли на себя обязательство дальше поддерживать. Кропотливая и важная работа, но не более того.
Беспрецедентная надежность
Еще считается, что облачный сервис непременно более надежен, потому что там же есть облачный провайдер облачного облака, предлагающий много девяток после запятой. Тут девятки отдельно, надежность отдельно.
Прежде всего, нужно читать мелкий шрифт в соглашении о девятках (SLA – Service Level Agreement). Там указано точно, что эти девятки означают, какие конкретно свойства сервиса они затрагивают, какова ответственность провайдера.
Обычно ответственность провайдера не больше, чем те относительно небольшие деньги, которые вы ему заплатили, а пока ваш сервис не работает, ваша компания может терять гораздо большие деньги и нести ущерб репутации. Да, провайдер ответит, но вам от этого может не полегчать.
Похожий пример из жизни: в среднем раз в год в здании на секунду отключается электроснабжение, так что перезагружаются компьютеры. С точки зрения поставщика электроэнергии – это жалкая секунда в год (сколько там девяток?), а с вашей точки зрения – это потеря нескольких минут работы каждым сотрудником, потому что ему нужно будет ждать, пока загрузится ОС, запустятся все программы, потом вспоминать, на чем он остановился. Девяток много, а вам от этого не легче.
Соглашение может гарантировать доступность каких-то конкретных сервисов (например, что виртуальные машины, на которых работает ваше ПО, будут работать и подключены к сети) – может возникнуть ситуация, когда надолго откажет, например, второстепенный с виду сервис управления этими виртуальными машинами – они будут продолжать работать, а запустить новые или перенастроить их вы не сможете. Вам-то как раз надо было увеличить пропускную способность сервиса в сто раз, чтобы принять пиковую нагрузку от очень важной и щедро оплаченной только что начавшейся рекламной кампании. Провайдер даже соглашение не нарушил, потому что в соглашении об этом второстепенном на вид сервисе ничего не говорится.
От размещения в облаке сервис не становится гарантированно более или менее надежным. Риски никто не отменяет, просто риски становятся другими.
Так что это?
Теперь, когда мракобесия стало меньше, вернемся к вопросу, что такое публичное облако. Это сервис с дистанционным управлением, который предоставляет вам вычислительные мощности и хранилища данных с оплатой по мере использования. Вы используете мощности для работы вашего ПО (вашего сервиса), а хранилища – для хранения данных, с которыми это ПО (ваш сервис) работает.
У вас может быть разный уровень контроля над предоставляемыми мощностями. Например, вам могут выделить виртуальную машину с конкретной ОС и закрепить ее за вами и дать вам к ней удаленный доступ, чтобы вы сами настроили ее как вам нужно и дальше оставить ее в вашем распоряжении. Или (как в Windows Azure) вы можете загрузить специальный архив с исполняемым кодом вашего сервиса и конфигурационный файл, в котором указано «запустить вот это на 5 машинах по 2 ядра каждая», служебная инфраструктура облака сама найдет подходящие виртуальные машины, развернет, запустит и настроит на них ОС, потом развернет там ваш архив и передаст управление в точку входа (фиксированная функция типа main()), и будет следить, не сломалось ли что, в случае чего перезапустит ваш сервис на той же или (при сбое машины) на другой машине. В первом случае вы больше контролируете, во втором у вас больше дополнительных плюшек.
В чем прибыль?
Прибыль в гибкости и делегировании обязанностей. Вам нужно увеличить число машин, на которых работает ваш сервис? Несколько щелчков мышью, ожидание в районе 10 минут – и вам уже нашли новые виртуальные машины, запустили на них ваш сервис. Надо убавить? То же самое.
То же самое с хранилищем. Нужно хранилище – несколько щелчков мышью, и вам его предоставили и дали адрес и ключи доступа к нему. Хранилище обычно резиновое, оплата зависит от реально используемого объема.
Провайдер может, например, предоставлять сервер баз данных – тоже «где-то» и тоже с оплатой по используемому объему. В Windows Azure это SQL Azure, основанный на специально настроенном и допиленном SQL Server 2008.
Нужно попробовать новую фичу и есть риск сломать сервис? Можно сделать так. Создаете еще одно хранилище и еще одну базу данных. Настраиваете ваш сервис на новое хранилище и новую базу, разворачиваете на дополнительно выделенных виртуальных машинах. Попробовали, освободили машины, если в хранилище и базе много данных, можно их тоже удалить, чтобы не платить за них.
У нас автоматическая сборка в конце разворачивает наш сервис прямо в облако на специально выделяемую для этого виртуальную машину и выполняет там тесты. При каждой сборке машина выделяется заново, после сборки освобождается, так что в выходные и ночью, когда правок кода нет, мы за нее не платим. Код тестируется в точно таком же окружении, в каком он будет потом работать.
Такая гибкость очень удобна. Это светлая сторона облака, за которую оно в первую очередь и ценно. Надо – берете в аренду, не надо – прекращаете аренду, и то, и другое требует нескольких щелчков мышью (или программного запроса) и не очень долгого ожидания.
Это удобно для компании любого размера. Не надо проводить через бухгалтерию закупку каждой железки, не надо закупать оборудование про запас, можно добиться гораздо меньшего простоя мощностей и гораздо большей гибкости в управлении.
Плюс вы перекладываете часть обязанностей на провайдера. Сервера вы больше не покупаете, стойки не собираете, электрическим подключением не занимаетесь, место под оборудование вам не нужно, вы можете даже ОС не настраивать (зависит от облака). Обратите внимание, речь именно о перекладывании обязанностей, но не ответственности, об этом подробнее ниже.
Как обычно, есть и темная сторона
Темная сторона облака в том, что на многие вещи нельзя повлиять. Если верить блогу команды Stack Exchange, их сервис работает не в облаке, а на собственном оборудовании, именно потому, что их не устраивает уровень контроля, который предоставляется провайдерами облаков.
Например, виртуальные машины стандартные и вы можете даже не знать характеристик реального железа. Скорее всего, когда в Windows Azure вы разворачиваете сервис на одном одноядерном узле, вам на самом деле дают виртуальную машину, которая работает в каком-нибудь 16-ядерном сервере под HyperV. Может быть, можно там что-нибудь подкрутить и на ровном месте получить 15-процентный прирост производительности, но вы ничего не можете с этим сделать.
Если вы параноик или связаны жесткими требованиями закона или договора, вас может не устраивать, что вы вообще очень мало контролируете железо. Например, вы закачали туда документы с коммерческой тайной, они скопировались на кучу жестких дисков, вы никак не можете повлиять на их гарантированное удаление. Да, провайдер вам обещает, но вы не сможете это проверить.
То же самое касается надежности. Вы не можете быть уверены, что стойки в один прекрасный момент, например, не зальет конденсатом из оторвавшейся трубки системы кондиционирования. Если бы ваш сервер был в офисе или в colocation, то вы могли бы сделать что-нибудь, пусть даже на вид безумное, типа отвода воды из пространства над вашим оборудованием. Здесь вы ничего сделать не сможете – вы не контролируете, где стоит оборудование, хорошо ли оно там закреплено и не бегают ли по нему мыши. Все безумные события, которые вы могли бы предусмотреть (или не предусмотреть и чувствовать угрызения по поводу плохо сделанной работы), теперь полностью вне вашего контроля.
Безумные события бывают самые разные. Вот примеры реальных сбоев в датацентрах.
FAIL. Автомобиль врезался в опору ЛЭП рядом с датацентром, оборвались и упали на землю провода высокого напряжения перед подстанцией, питающей датацентр. Начался переход на резервное питание. От проводов, лежавших на земле, ток стекал в землю, в датацентре защитные схемы среагировали на утечку тока в землю и отключили весь датацентр.
Другой FAIL. Предположительно из-за удара молнии вышел из строя трансформатор, питающий датацентр, начался переход на резервное питание. По какой-то причине не удалось синхронизировать генераторы (скорее всего, не было питания на оборудовании, выполняющем синхронизацию), датацентр не смог перейти на резервное питание, все оборудование отключилось.
Обратите внимание, мы знаем об этих случаях потому, что они затронули сотни и тысячи пользователей облаков. Сколько аналогичных событий происходит с серверами, стоящими в офисах, мы просто не знаем.
Конечно, что-то подобное может произойти и с серверами в офисе, но в таком случае в этом будет доля вашей вины – могли предусмотреть, а не предусмотрели. Вам будет стыдно за плохо сделанную работу. В случае, когда оборудование стоит «где-то там», таких возможностей нет, вы вынуждены верить провайдеру.
Это не плохо, просто нужно это четко понимать. Размещая сервис в облаке, вы передаете провайдеру значительную часть обязанностей, но не ответственность за жизнеспособность вашего сервиса. Облачный не значит автоматически более надежный и не значит автоматически менее надежный. Вам все равно нужна оценка рисков, для критически важных сервисов понадобится дублирование в разных датацентрах и перераспределение нагрузки. Очень может случиться, что когда вы учтете все расходы на дублирование и синхронизацию данных между датацентрами, ценник вас расстроит.
Снова облачная архитектура облачных сервисов
Напоследок – об особых требованиях к облачным сервисам. Такие требования есть – нужно быть готовым, что в любой момент что угодно может сломаться. Если вы любите крайности, то можете как Netflix сделать сервис, который в произвольные моменты ломает что-нибудь в вашем сервисе. Особенно нужно быть готовым к эпизодическим кратковременным сбоям. Например, иногда будет ненадолго пропадать связь с SQL Azure – ваш код должен не паниковать и не ломаться, а подождать немного и попробовать еще раз.
Просто вспомните, что обычно раздражает пользователей в программах – всевозможные «не удалось найти сервер, вот 18 пунктов, которые стоит проверить» в распределенной системе абсолютно нормальны, ваш сервис должен пробовать сам с этим справиться, потом пробовать еще несколько раз. Пользователь после сообщения браузера «нет ответа сервера» обычно нажимает F5, так и ваш сервис должен просто попробовать повторить действие. Для этого важно, чтобы повторное выполнение любого действия не наносило вреда – это называется умным словом идемпотентность. Если вы не учтете эту особенность, то ваш сервис будет в самый неподходящий момент выходить из строя из-за какой-нибудь ерунды.
Аналогично сервис должен быть готов к тому, что его могут в любой момент остановить – на всех узлах или на некоторых – и затем запустить снова, при этом не должно происходить повреждения данных, потеря самых новых данных должна быть минимальной, после перезапуска сервис должен быть в состоянии продолжить работу как будто ничего не произошло. Такое происходит, например, при автоматической установке обновлений ПО в Windows Azure – узлы по очереди останавливаются, затем сервис запускается на узле с уже обновленным ПО.
Требования существенные, но выполнимые, просто Мерфи будет чаще приходить к вашему сервису. От вас зависит, превратится ли небольшой FAIL в былинный отказ.
Облако – это не куча слов «масштабируемое», «доступность», «миграция», «производительность», «тенденция», употребленных в произвольном порядке в маркетинговом тексте. Это просто модель владения вычислительными мощностями. В определенных случаях эта модель очень удобна.
Кстати, у нас есть сервис для разработчиков, работающий в облаке.
Дмитрий Мещеряков,
департамент продуктов для разработчиков
- облачные вычисления
- ит-инфраструктура
- городские легенды
Источник: habr.com
Облачные сервисы: что такое, какими бывают и кому полезны
А‑а‑аблака — белогривые лоша‑а‑адки. Cloud-платформы последние лет десять тоже мчатся без оглядки. Разбираемся в типах и функциях облачных сервисов.
Фото: Rahman Roslan / AFP / Getty Images
Редакция «Код» Skillbox Media
Онлайн-журнал для тех, кто влюблён в код и информационные технологии. Пишем для айтишников и об айтишниках.
Август Вилакия
Ведущий бэкенд-разработчик мобильного приложения «Альфа-Банка».
Ссылки
Про облака говорят все, даже компании, которые традиционно не воспринимались как цифровые. Причём говорят про них настолько часто, что само слово «облачный» стало чем-то вроде штампа без конкретного содержания. И, чтобы вы в следующий раз могли произносить этот термин абсолютно осознанно и со знанием дела, я расскажу подробно, что же он означает.
Что такое облачный сервис
Облако (cloud, облачный сервис). В этом случае компания или человек пользуется вычислительными ресурсами и программами, которые расположены не на локальных, а на удалённых серверах и доступны через интернет. Каждый из нас пользуется ими постоянно: «Google Документы», Dropbox — всё это примеры облачных приложений.
Но и компании не брезгуют переводить свою инфраструктуру в такие облака. Типичный пример — хостинг сайтов или платформы вроде Amazon Web Services (AWS), Microsoft Azure, Yandex Cloud.
Когда мы говорим об облаках, неизбежно появляется такое понятие, как облачный провайдер — это компания, которая владеет дата-центром с серверами, на которых и развёрнуты облака. Другие компании покупают небольшой кусочек её вычислительных ресурсов и инфраструктуры. Это позволяет получать в пользование готовые вычислительные мощности и практически бесконечно их масштабировать, не заморачиваясь с покупкой, настройкой и поддерджанием своей инфраструктуры.
В облачных системах используется технология виртуализации. Один физический сервер («железо») логически делится на несколько виртуальных серверов, каждый из которых для пользователя облака выглядит отдельной «машиной». Это похоже на разбивку жёсткого диска на несколько разделов: вроде бы железяка одна, а дисков в системе отображается несколько. Благодаря виртуализации облачный сервис доступен большому числу пользователей.
Самые известные зарубежные облачные провайдеры — это AWS (Amazon), Microsoft Azure, Google Cloud Platform, из российских игроков больше всего на слуху Yandex Cloud, SberCloud и VK Cloud.
Типы облачных сервисов
Если зайти в тот же Yandex Cloud, то можно увидеть более 380 различных облачных сервисов, поэтому давайте посмотрим, на какие типы они делятся. Это поможет не запутаться в их многообразии.
IaaS (infrastructure as a service) — инфраструктура как сервис. Такие сервисы относятся к низкоуровневым и являются самыми популярными. Пользователю предоставляется «железо» в виде серверов, сети и памяти. Всё это клиент получает в готовом виде, без необходимости заморачиваться насчёт обновления и поддержки. Более того, клиент получает полный контроль над инфраструктурой благодаря специальному пользовательскому веб-интерфейсу или CLI (command line interface, командная строка).
PaaS (platform as a service) — платформа как сервис. Это уже настраиваемая среда выполнения, которая содержит всё необходимое для разработки, тестирования и управления приложением, но всё так же без необходимости управления «железом». PaaS автоматически обновляет программное обеспечение, а также позволяет гибко настраивать политики безопасности через специальный интерфейс, автоматически масштабировать систему, использовать готовый API для взаимодействия с сервисом.
Приведу простой пример PaaS. Допустим, вам нужна база данных. В таком случае у вас есть два варианта: если выбрать путь IaaS, то вы покупаете сервер у облачного провайдера, при необходимости подключаете к этому серверу дополнительные жёсткие диски, устанавливаете операционную систему, ту базу данных, которая вам нужна, потому вручную настраиваете систему бэкапов, ограничиваете доступ к серверу по внешней сети, а если вырастает нагрузка, докупаете ещё один сервер или меняете его на более мощный и проделываете всё те же действия.
Альтернативный вариант (то есть уже PaaS) — подключить Managed Service for PostgreSQL в Yandex Cloud, Amazon RDS в AWS или аналогичный сервис другого облачного провайдера. Теперь всё, что вам нужно, — выбрать необходимую базу данных и настроить её под себя. Остальное будет менеджериться провайдером, никаких заморочек с «железом» у вас уже не будет — вы даже не заметите, что ваше приложение перенесли на другой сервер или подключили к нему другие жёсткие диски.
SaaS (software as a service) — программное обеспечение как сервис. В этом случае вы просто получаете облачное программное обеспечение в пользование. Это может быть сервис для рассылки имейлов, анализа поведения пользователей приложения, офисный пакет и так далее.
Основное отличие от использования обычных приложений в том, что вы работаете с сервисом в веб-интерфейсе, а всё остальное для вас скрыто. У облачных провайдеров SaaS чаще всего распространяется через маркетплейсы. Существуют и партнёрские программы, когда каждый производитель ПО может распространять его через маркетплейс облачного провайдера.
DRaaS (disaster recovery as a service) — аварийное восстановление как сервис. DRaaS помогает улучшить показатели целевой точки восстановления (RPO — recovery point objective) и целевого времени восстановления (RTO — recovery time objective). Для DRaaS существуют различные стратегии и наборы сервисов. Например, сервисы бэкапов и автоматического восстановления или зеркала с полной копией вашего приложения, но на более слабом «железе». Если основной сервер перестаёт работать, зеркала переключаются на более мощные серверы и весь пользовательский трафик начинает идти на них.
BaaS (backend as a service) — бэкенд как сервис. Такие сервисы имитируют работу бэкенда и реализуют базовую функциональность приложений. Регистрация пользователей, вход через социальные сети, рассылки на электронную почту в ответ на действия пользователя, профиль пользователя, отправка уведомлений — вся эта функциональность универсальна для большинства приложений, а значит, её можно не разрабатывать самостоятельно, а отдать на управление BaaS-сервису.
Типы облаков
Существуют не только разные типы облачных сервисов, но и разные типы самих облаков. Перечислим их.
Публичное облако. В этом случае все облачные сервисы управляются провайдером, а доступ к ним предоставляется через интернет большому количеству пользователей. Это самый распространённый сценарий: вы просто переходите на сайт AWS, Google Cloud или Yandex Cloud и начинаете использовать имеющиеся у провайдера сервисы.
Частное облако. В этом случае облачные сервисы используются только для нужд одной организации. Она приобретает у провайдера изолированный сервер, на котором нет виртуализации и разделения ресурсов между разными клиентами. Конечно, такие решения дороже, а их настройки менее гибкие. Однако их есть смысл использовать при работе с чувствительными данными.
Гибридное облако. В этом случае происходит взаимодействие частного и публичного облаков. Часто такое сочетание облачных сервисов возникает во время миграции на облачную инфраструктуру или если взаимодействие с чувствительными данными происходит только в одной части приложения, которую можно отделить от остального приложения.
Кому полезны облачные сервисы
Выгоду от использования облаков могут ощутить как крупные компании, так и стартапы.
Если же говорить о ситуации в России, то проблемы с поставками «железа» будут сохраняться в ближайшие годы. За последнее время импорт серверного оборудования для дата-центров в нашу страну упал в несколько раз, а серверное оборудование отечественного производства подорожало в полтора раза. В таких условиях самый логичный выход — миграция в облако.
Однако переход на облачные сервисы даёт преимущества не только для компаний, но и для IT-специалистов: это и новые специализации, и возможность прокачивать экспертность, чтобы повысить конкурентоспособность на рынке труда. Выпуская тот или иной сервис, российские облачные провайдеры стараются сделать его похожим на уже существующие решения западных компаний, проверенные временем и востребованные среди клиентов (легко можно провести параллели между разными сервисами: SberCloud, «Яндекс Облака» и VK Cloud).
Единожды научившись работать с сервисами одного облачного провайдера, вы сможете применить эти знания в работе с любым другим, даже зарубежным облаком — нужно будет просто немного разобраться в особенностях конкретного провайдера.
Плюсы и минусы облаков
Преимущества облачных сервисов:
- Невысокая цена облачных решений. Вы платите только за те ресурсы, которые фактически используете. В среднем работа над проектом в облаке сокращает расходы на 37% по сравнению с работой со своей инфраструктурой.
- Скорость выхода решения на рынок. Вы можете запускать новые серверы или выводить их из эксплуатации за считаные секунды, что позволяет ускорить разработку и тестирование.
- Большая гибкость. Вы можете быстро увеличить количество серверов или необходимой памяти без инвестиций в физическую инфраструктуру. Аналогичным образом можно быстро сократить количество используемых серверов или других ресурсов, если они не используются, — и это тоже ничего не стоит, а лишнее оборудование не будет пылиться на складе.
Однако облачные сервисы — это не панацея, и у них тоже есть недостатки:
- Возможные проблемы у провайдера. Проблемы с доступностью у вашего облачного поставщика могут стоить вам денег. Как пример, отключение одного сервиса AWS стоило его клиентам сотен миллионов долларов.
- Вендор-лок, или зависимость от поставщика. Ситуация, когда стоимость перехода к другому поставщику слишком высока из-за привязки уже написанного кода к сервисам конкретного провайдера (платформозависимый код), вынуждает клиента оставаться с прежним поставщиком, даже если условия уже не устраивают.
- Потеря данных из-за форс-мажорных ситуаций на стороне провайдера. В 2021 году разработчик игры Rust потерял данные миллионов пользователей из-за пожара у облачного провайдера.
Airbnb, Pinterest и Netflix — примеры компаний, которые получили возможность быстрого развития, так как не были ограничены технологическими ресурсами. Если им нужны новые серверы, память для хранения информации или база данных для Юго-Восточной Азии, то они просто добавляют это всё по клику мышки. И в этом их конкурентное преимущество. А ещё возможность вести разработку в облаке и там же выкатывать свои технические решения открыла миру много новых бизнес-моделей.
- Облачные технологии, кибербезопасность и удалённая работа в Microsoft
- «Вместо бензина изобретут новое топливо, а информация всегда будет ценным ресурсом»
- Что такое модель OSI и зачем она нужна: препарируем слоёный пирог интернета
Источник: skillbox.ru