Как стать автором
Поиск
Написать публикацию
Обновить
28.01

Облачные вычисления *

Концепция общего доступа к ресурсам

Сначала показывать
Период
Уровень сложности

Сорок мегабайт простоты

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров21K

Привет, Хабр!

Наконец-то я могу опубликовать статью, написание которой оттягивал, кажется, целую пятилетку. Ну, знаете, "можешь не писать - не пиши", да и повода особого не было... Но теперь повод появился - да ещё какой! - в свете которого не схватить перо было бы сущим преступлением.

Без лишних предисловий - найдено 52-ое известное простое число Мерсенна!

Какое-какое число?

Как применение кодов избыточности в SDS помогает Яндексу дёшево и надёжно хранить данные

Время на прочтение9 мин
Количество просмотров23K

Яндекс, как и любая другая большая интернет-компания, хранит много, а точнее очень много данных. Это и пользовательские данные из разных сервисов, и намайненные сайты, и промежуточные данные для расчёта погоды, и резервные копии баз данных. Стоимость хранения ($/ГБ) — один из важных показателей системы. В этой статье я хочу рассказать вам про один из методов, который позволил нам серьезно удешевить хранилище.




В 2015 году, как вы все помните, сильно вырос курс доллара. Точнее, расти-то он начал в конце 2014-го, но новые партии железа мы заказывали уже в 2015-м. Яндекс зарабатывает в рублях, и поэтому вместе с курсом выросла и стоимость железа для нас. Это заставило нас в очередной раз подумать о том, как сделать, чтобы в текущий кластер можно было положить больше данных. Мы такое, конечно, делаем регулярно, но в этот раз мотивация была особенно сильной.


Каждый сервер кластера предоставляет для нас следующие ресурсы: процессор, оперативную память, жёсткие диски и сеть. Сеть здесь — более сложное понятие, чем просто сетевая плата. Это ещё и вся инфраструктура внутри дата-центра, и связность между разными дата-центрами и точками обмена трафиком. В кластере для обеспечения надёжности применялась репликация, и суммарный объём кластера определялся исключительно через суммарную ёмкость жёстких дисков. Нужно было придумать, как обменять оставшиеся ресурсы на увеличение места. Кстати, если после поста у вас останутся вопросы, которые бы вы хотели обсудить лично, приходите на нашу встречу.


Читать дальше →

Учёт ресурсов в облаках

Время на прочтение7 мин
Количество просмотров4K
Слова «облако», «облачные вычисления», «облачный» используются для чего попало. Новое модное слово, buzzword. Мы видим «облачные антивирусы», «облачные блейд-сервера». Даже именитые вендоры сетевого оборудования, не стесняются выставлять коммутаторы с ярлыком «for cloud computing». Это вызывает инстинктивную неприязнь, примерно, как «органические» продукты питания.

Любой технарь, который попытается разобраться с технологиями, лежащими в основе «облака», после нескольких часов борьбы с потоком рекламных восторгов, обнаружит, что это облака — это те же VDSы, вид сбоку. Он будет прав. Облака, в том виде, как их делают сейчас — обычные виртуальные машины.

Однако, облака, это не только маркетинг и переименованные VDS. У слова «облако» (или, точнее у фразы «облачные вычисления») есть есть своя техническая правда. Она не такая патетичная и восхитительно-инновационная, как рассказывают маркетологи, но она всё-таки есть. Придумана она была много десятилетий назад, но только сейчас инфраструктура (в первую очередь, Интернет и технологии виртуализации x86) доросла до уровня, который позволяет реализовать её в массовом порядке.

Итак, сначала о причине, которая вообще породила потребность в облаках:

Вот как выглядит предоставляемая услуга для обычного VDS (на месте этого графика может быть любой ресурс: процессор, память, диск):


Обратите внимание: это недельный график. Существующие технологии временного увеличения лимита потребления ресурса (burst, grace period) не способны решить эту проблему на таких длинных интервалах. Т.е. машина недополучает ресурсы тогда, когда они ей больше всего нужны.

Вторая проблема — посмотрите на огромные интервалы (голубой цвет), когда ресурсы, фактически, пришлось оплатить, но использовать не удалось. Виртуальной машине ночью просто не нужно столько ресурсов. Она простаивает. И не смотря на это — владелец платит по полной.

Возникает проблема: человек вынужден заказывать ресурсов больше, чем нужно в среднем, для того, чтобы переживать без проблем пики. В остальное время ресурсы простаивают. Провайдер видит, что сервер не нагружен, начинает продавать ресурсов больше, чем есть (это называют «оверселл»). В какой-то момент, например, из-за пика нагрузки на нескольких клиентов, провайдер нарушает свои обязательства. Он обещал 70 человекам по 1Ггц — но у него есть только 40 (2.5*16 ядер). Нехорошо.

Продавать полосу честно (без оверселла) невыгодно (и цены нерыночные получаются). Оверселлить — снижать качество сервиса, нарушать условия договора.

Эта проблема не связана с VDS или виртуализацией, это общий вопрос: как честно продавать простаивающие ресурсы?

Именно ответом на эту проблему и стала идея «облачных вычислений». Слова хоть и модные, но своей основой уходящие во времена больших мейнфреймов, когда продавалось машинное время.

Облачные вычисления делают то же самое — вместо лимитов и квот, которые оплачиваются вне зависимости от реального потрбления, пользователям предоставляется возможность использовать ресурсы без ограничения, с оплатой реального потребления (и только того, что было реально использовано). Это и есть суть «облака».

Читать дальше →

Бесплатная YouTube-трансляция DevOps-конференции DevOops 2017

Время на прочтение5 мин
Количество просмотров13K
Если вы ранее видели мои посты, вы знаете, что мы в JUG.ru Group делаем большие технические конференции для IT-инженеров (разработчиков, исследователей, тестировщиков, сисадминов). И вот, пару недель назад я обратился к одному из ребят из сообщества с просьбой поддержать конференцию постом в блоге, на что получил категорический отказ. Мол, раз билеты платные, то вы находитесь на оси зла, не поддерживаете сообщество, не помогаете индустрии, а только развлекаете богатые корпорации и помогаете им еще больше «корпоратеть».

Тогда я ответил, что все видеозаписи докладов мы через несколько месяцев выкладываем на YouTube в общий доступ, делаем открытые JUG'и и вообще, деньги берем только за то, что мы делаем интересный для индустрии продукт, а не преследуем свои цели (как большинство крупных корпораций, которые собирают базы для отделов HR или отделов продаж): отбираем доклады, которые нужны людям и которые будут покупать, это наш козырь и наш хлеб.

Вот только я совсем забыл еще кое о чем: о бесплатных трансляциях наших конференций. Если покопаетесь в нашем блоге, вы поймете, что весь 2017 год мы делали открытые трансляции главных треков наших конференций.

20 октября 2017 в 9:30 утра (по московскому времени) начнется бесплатная онлайн-трансляция из главного зала конференции DevOops 2017! И не просто трансляция, а 2к трансляция, наконец-то ваши Retina и 4k мониторы окажутся нужны для чего-то полезного!


Читать дальше →

Общая теория и археология виртуализации x86

Время на прочтение37 мин
Количество просмотров49K

Введение


Авторский коллектив


Автор: Антон Жбанков (AntonVirtual, «BeerPanda. Органично недоразвитый DevOps»)
Со-авторы: Григорий Прялухин, Евгений Парфенов

Общие понятия виртуализации


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

Наверное, самым близким определением понятия “виртуализация” будет “абстрагирование” из объектно-ориентированного программирования. Или, если переводить на нормальный русский язык — это сокрытие реализации за абстрактным интерфейсом. Что, конечно, все сразу объяснило. Попробуем еще раз, но для тех, кто не изучал программирование.
Виртуализация — сокрытие конкретной реализации за универсальным стандартизованным методом обращения к ресурсам / данным.

Если попробовать применить на практике данное определение, то окажется, что оно вполне работает на совершенно неожиданных предметах. Скажем, часы. Вот были придуманы несколько тысяч лет назад солнечные часы, а в средневековье были придуманы механические. Что же там общего? Солнце и какие-то шестеренки? Бред какой-то. А потом кварцевые генераторы и все остальное.
Суть в том, что мы имеем стандартный интерфейс — стрелочный или цифровой указатель, который в универсальной стандартной форме указывает текущее время. Но имеет ли для нас значение как конкретно реализован этот механизм внутри коробки, если время указывается с достаточной для нас точностью?
— Позвольте, — можете сказать вы, — но я-то думал, что виртуализация про машины, процессоры там, и так далее!
Да, она и про машины, и про процессоры, но это лишь частный случай. Давайте рассмотрим более широко, раз уж статья смело претендует на общую теорию.
Читать дальше →

Анализ публикаций на Хабрахабре за последние полгода. Статистика, полезные находки и рейтинги

Время на прочтение3 мин
Количество просмотров18K
Давненько никто не собирал статистику о постах на Хабрахабре. Мы в Cloud4Y решили узнать какие изменения произошли за последние полгода. Нас интересовало:

  • В какой день недели и время суток лучше всего публиковаться?
  • Есть ли зависимость между числом подписчиков и популярностью постов?
  • Каких постов больше: обучающих материалов, переводов или прочих?

И многое другое…



Что мы сделали?


24 апреля 2017 года была собрана статистика по всем последним публикациям на Хабрахабре. Оказалось, что в период с 20 сентября 2016 года по 22 апреля 2017 года:
Читать дальше →

Будни разработки облака, часть первая

Время на прочтение6 мин
Количество просмотров1.7K
Серию официальных постов в блоге компании про то, как работать с облаком я ещё продолжу, но параллельно мне хочется рассказать про те проблемы, с которыми мы столкнулись во время адаптации Xen Cloud Platform под нашу модель работы облака. Эти посты будут чуток сложнее и предполагают, что читатель хотя бы в общих чертах знает, как работает Xen.

Когда концепция «оплата по потреблению» только-только оформлялась, а я судорожно искал «как считать», мне казалось, что процессор и память — это два самых простых ресурса.

Действительно, у нас есть xencontrol (библиотека управления гипервизором Xen), которая может точно сказать про каждый домен (запущенную виртуальную машину), сколько у неё есть памяти, сколько наносекунд времени было потрачено. Эта библиотека запрашивает информацию напрямую (через xenbus) у гипервизора и подвергает её минимальной обработке.

Выглядит эта информация примерно так (вывод биндинга xencontrol для питона):
{
    'paused': 0, 
    'cpu_time': 1038829778010L, 
    'ssidref': 0, 
    'hvm': 0, 
    'shutdown_reason': 0, 
    'dying': 0, 
    'mem_kb': 262144L, 
    'domid': 3, 
    'max_vcpu_id': 7, 
    'crashed': 0, 
    'running': 0, 
    'maxmem_kb': 943684L, 
    'shutdown': 0, 
    'online_vcpus': 8, 
    'handle': [148, 37, 12, 110, 141, 24, 149, 226, 8, 104, 198, 5, 239, 16, 20, 25], 
    'blocked': 1
}


Как мы видим, есть поле mem_kb, соответствующее выделенной памяти для виртуальной машины и есть поле cpu_time, содержащее какое-то умопомрачительное число (хотя на самом деле это всего лишь 17 минут). cpu_time считает с точностью до наносекунд (точнее, величина, которая тут хранится считается в наносекундах, реальная точность около микросекунды). Память, как понятно, в килобайтах (хотя внутренней единицей учёта, что гипервизора, что ядра линукс является страница — её размер по-умолчанию 4 килобайта).

Казалось бы «бери и считай», однако, дьявол кроется в деталях…

Извините за жёлтый заголовок ниже, но именно так звучал вопрос в полемике в ходе обсуждения одной из проблем:

Hyper-threading + Xen = воровство денег у клиентов


Читать дальше →

Чего боятся в облачных вычислениях?

Время на прочтение4 мин
Количество просмотров2.2K
Недавно был пост о том, что плохо в облачных вычислениях. Пост был не очень, но там прозвучало невысказанное.

Так что правильнее было бы поговорить, чего боятся в облачных вычислениях?

Сокращение персонала


Сейчас на обслуживание IT-инфраструктуры предприятия тратятся существенные ресурсы. 35-40 тысяч в месяц — это минимум. Обычно, суммы от 60 до 100+ тысяч. Это не только услуги связи, электричества, но зарплаты персонала. (разумеется, размер компаний разный, и у кого-то расходы могут быть миллионными). Персонал объективно ощущает, что если завтра все пересядут на хромос/ипады (или их наследников) и будут работать в гугльдоксах, то за что им будут платить деньги? Это подспудное ощущение, которое слегка кусает любого сисадмина. Скайп «каннибализирует» не только воип, но и навыки специалистов по астериску/офисным АТС. Гугльдоксы пока страшно выглядят, но стремятся к всё более приличному состоянию. Интернет становится всё доступнее, его всё меньше хочется заворачивать через прокси, системы контроля доступа, системы учёта трафика и все прочие признаки корпоративной сети. Компанию на 20 человек прекрасно обслужит SOHO-железяка, а возможно, и просто WiFi точка доступа с ноутбуками вокруг. Всего IT — один принтер, воткнутый в сетевой порт того же самого WiFi. На компьютерах скайп, гугльдоки и веб-почта.… Вы действительно думаете, что тут нужен сисадмин?

Страшно. Казавшиеся сложными и требовавшими Высоких Знаний технологии низводятся до уровня обычного домашнего пользователя… и работают. Active Directory, Exchange, sharepoint, офисы на локальных машинах, ISA, сервер WSUS, squd, собственный DNS-сервер, MX'ы, групповые политики…
Читать дальше →

Как реализуется отказоустойчивая веб-архитектура в платформе Mail.ru Cloud Solutions

Время на прочтение11 мин
Количество просмотров21K


Привет, Хабр! Я Артем Карамышев, руководитель команды системного администрирования Mail.Ru Cloud Solutions (MCS). За последний год у нас было много запусков новых продуктов. Мы хотели добиться, чтобы API-сервисы легко масштабировались, были отказоустойчивыми и готовыми к быстрому росту пользовательской нагрузки. Наша платформа реализована на OpenStack, и я хочу рассказать, какие проблемы отказоустойчивости компонентов нам пришлось закрыть, чтобы получить отказоустойчивую систему. Я думаю, это будет любопытно тем, кто тоже развивает продукты на OpenStack.

Общая отказоустойчивость платформы складывается из устойчивости её компонентов. Так что мы постепенно пройдём через все уровни, на которых мы обнаружили риски и закрыли их.

Видеоверсию этой истории, первоисточником которой стал доклад на конференции Uptime day 4, организованной ITSumma, можно посмотреть на YouTube-канале Uptime Community.
Читать дальше →

На облаке компании Amazon собрали суперкластер

Время на прочтение1 мин
Количество просмотров1.2K
image
В этот раз отличилась компания Cycle Computing.
Специально для вычисления одного из заданий фармацевтической компании Genentech было создан вычислительный кластер из 10 тыс. ядер на сервисе Amazon Elastic Compute Cloud.
На каждом из узлов кластера была установлена система CentOS. Для управления всей этой махиной использовалось программное обеспечение CycleCloud software, а также ПО Condor и Chef (open source)

В процессе подсчета белковых связей на даном кластере компания Genentech понесла очень небольшие затраты.
За восемь часов работы данного кластера она выплатила всего 8500 долларов (включены все выплаты Amazon и Cycle Computing).
Немного технических характеристик полученного кластера:
Быстродействие: ~66TFlops
Оперативная память: 8,75 Тб
Дисковое пространство: 2 Пт

Кластер состоял из 1250 физических машин, в каждой использовалось 8 ядер.

Создание облачного приложения

Время на прочтение3 мин
Количество просмотров8.6K
imageНачну с того, что вчера мне прислали приглашение на участие в тестировании Windows Azure.
И теперь я хочу поделиться своим первым опытом создания облачных приложений. Это будет простой хостинг изображений.

Тем, кто еще не знает, что такое Windows Azure, я предлагаю прочитать статью «What is the Azure Services Platform?» на английском или короткое описание в википедии на русском.

Итак, приступим.
Читать дальше →

Файлы уходят в облака. Выбираем облако

Время на прочтение4 мин
Количество просмотров127K

После недавних событий по массовому открытию новых облачных хранилищ ваш покорный слуга задался вопросом: «Какие есть сейчас хранилища и куда можно запихнуть свои жизненно необходимые файлы?»
Некоторое время рысканья по хабру/гуглу и прочим конторам привело к следующему списку хранилищ:

Baidu, Bitcasa, Box.net, Dropbox, Google Drive, Microsoft SkyDrive, SpiderOak, Wuala, Яндекс.Диск

В самом конце статьи ищите сравнительную таблицу.
А теперь кратко о каждом сервисе, предоставляемой халяве и клиентах под Windows и Android

Ближайшие события

Создатели SETI@Home запускают новый проект

Время на прочтение2 мин
Количество просмотров1.6K
image

Наверное, подавляющая часть хабрасообщества слышала о проекте SETI@Home, многие даже участвовали или участвуют в этой программе. Действительно, «прослушивание» космоса длится уже десятки лет, и последние несколько пятилеток все больше интернет-пользователей присоединяется к программе распределенных вычислений SETI@Home. Несмотря на то, что инопланетные цивилизации все еще не обнаружены (правда, некоторые считают WOW-сигнал доказательством присутствия братьев по разуму), проект дал очень многое человечеству, включая обнаружение редких классов космических объектов. Но вот, создатели SETI@Home собираются запустить новый проект.

Читать дальше →

Google Compute Engine теперь доступен для всех

Время на прочтение2 мин
Количество просмотров42K


Компания Google наконец-то открыла для всех желающих сервис облачных вычислений Google Compute Engine (GCE), анонсированный полтора года назад. Учитывая опыт компании Google в разработке масштабируемых решений, сервисов для разработчиков и самый большой в мире парк серверов, GCE вполне может составить конкуренцию EC2. Никому не будет плохо, если два гиганта-конкурента начнут демпинговать.

Ко дню премьеры приурочено ещё несколько приятностей:

  • снижены цены на инстансы на 10%;
  • поддержка 16-ядерных инстансов (до 104 ГБ RAM) для высокопроизводительных вычислений и баз NoSQL;
  • кроме Debian и CentOS с ядром от Google, теперь в виртуальных машинах можно запускать FreeBSD и любые дистрибутивы Linux с любыми ядрами и программным обеспечением, включая Docker, FOG, xfs и aufs.
Читать дальше →

Google App Engine (GAE) против Amazon Web Services (AWS)

Время на прочтение7 мин
Количество просмотров11K

Вступление:


Наиболее интересная часть разработки обычно приходится на первые 33% жизненного цикла проекта. А самое интересное — это создание чернового прототипа, демонстрирующего вашу идею. После этого момента возбуждение начинает постепенно снижаться по мере того, как вы начинаете высматривать, что бы подштопать, и стараетесь сделать ваше приложение достаточно масштабируемым, чтобы оно могло выдержать свою успешность. В настоящее время я — актёр-одиночка, так что с одной стороны у меня нет ресурсов, чтобы самому возиться с железом, а с другой — у моих проектов нет потребности в дата-центрах.

Цель моего анализа — сравнить двух основных игроков в мире облачных вычислений, Google App Engine (GAE) и Amazon Web Services (AWS). Оба неслабо разогнались за последние годы, но кто из них больше мне подойдёт? Давайте разбираться.
Читать дальше →

Стратегии деплоя: как мы пришли к использованию Argo CD

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров12K

Привет, Хабр! Меня зовут Егор Салиев, я DevOps-инженер в провайдере IT-решений Hilbert Team. Сегодня хочу затронуть тему, которую недавно обсуждали на Kuber MeetUp в Selectel, и которая будет интересна инженерам, занимающимся настройкой CI/CD и деплоем. Рассмотрим, как со временем менялась практика развертывания приложений в Kubernetes. Обсудим переход от ручного процесса к автоматизации и сравним две модели деплоя: push и pull.

В результате мы дойдем до современного подхода — GitOps с Argo CD. Такой метод помогает компаниям стандартизировать процессы, уменьшить количество ошибок и сбоев, ускорить вывод продукта на рынок, а также сократить расходы на инфраструктуру.
Читать дальше →

Яндекс запускает PaaS Cocaine

Время на прочтение1 мин
Количество просмотров23K
Яндекс релизнул PaaS (Platform-as-a-Service) на основе своего же продукта Cocaine — системы с открытым исходным кодом, позволяющей создавать аналоги Google AppEngine или Heroku.
В данный момент, поддерживаются C, C++, Python, и в разработке Perl и JavaScript.

В Cocaine используются LXC — Linux Containers, легковесное подобие виртуальных машин, для этого используется обертка Docker, написанная на Go.

Чтобы создать свое облако, нужно всего лишь запустить cocained на одной или нескольких машинах. Клиенты, которые подключаются к cocained, называются Cocaine Dealer, и имеют FastCGI-интерфейс, который просто прикрутить к любому веб-серверу.
Все приложения в облаке исполняются независимо друг от друга.

Cocaine уже используют в:
  • Яндекс.Браузере
  • Яндекс.Паспорте
  • Внутренней инфраструктуре Яндекса


Репозиторий Cocaine на GitHub

Отчёт о причинах сбоя Amazon EC2

Время на прочтение3 мин
Количество просмотров2.4K
Amazon наконец-то опубликовала подробный отчёт о причинах сбоя в четверг 21 апреля, в результате которого одна из зон доступности на восточном побережье США почти полностью не работала в течение двух суток, а другие зоны в том же регионе глючили некоторое время.

Итак, первопричиной сбоя стала ошибка в сетевых настройках кластера Amazon Elastic Block Store (“EBS”) во время обычной работы по изменению масштабируемости. Сетевые настройки должны были увеличить ёмкость основной сети. Одним из стандартных этапов этой процедуры является снятие трафика с одного из перегруженных маршрутизаторов, чтобы сделать апгрейд. Трафик должен пойти в основную сеть. Но из-за ошибки изменение маршрутизации трафика произошло некорректно: вместо основной сети он пошёл в сеть низкой пропускной способности (в EBS используется две сети: основная для трафика и вторая для коммуникации EBS-узлов в кластере между собой и репликации).
Читать дальше →

4 способа развернуть собственный аналог Dropbox

Время на прочтение2 мин
Количество просмотров59K
storage


Хотите получить облачное хранилище, но при этом иметь больше контроля над вашим сервисом, чем вы могли бы получить от Dropbox и его конкурентов? Здесь представлены несколько способов, чтобы создать ваше собственное хранилище в стиле Dropbox.
Читать дальше →

Вклад авторов