Обещанное этим летом облако Селектела, в котором оплачиваются только потреблённые ресурсы, наконец-то, готово.
На самом деле мы запустились ещё месяц назад, но решили не устраивать себе хабраэффект, а принимать клиентов по чуть-чуть. Благодаря этому мы смогли внимательно изучить возникающие затруднения и решать проблемы в очень индивидуальном порядке. Стратегия себя окупила, так как за время «полузапуска» нашлась одна неприятная опечатка в шаблоне у одной виртуальной машины, несколько мелких огрехов в интерфейсе. Заодно, спокойно, без предпусковой суматохи, были реализованы дополнительные функции управления виртуальными машинами.
Впрочем, хватит про рабочий процесс, про него я буду рассказывать позже.
Облако Селектел — это возможность платить только за те ресурсы, которые использовал сервер. А сами ресурсы предоставляются в том объёме, который нужен для быстрой и комфортной работы сервера. Автоматически. Потому у нас нет разных тарифных планов — у нас есть только цены на ресурсы, а итоговая стоимость определяется загрузкой сервера.
Впрочем, понятно, что даже простаивающий сервер будет потреблять ресурсы (ядру нужна память, диск с операционной системой должен где-то храниться). Упреждая вопросы: месячная цена самой компактной версии Debian с постоянным аптаймом и без значительной нагрузки стоит около 45р в месяц.
И да, вы можете выключить машину, и единственное, за что будете платить — это за хранение дисков, что для того же Debian Mini обойдётся в 3-5р в месяц. Срок хранения ограничен только суммой денег на балансе.
Не буду отвлекаться на цены, они есть на сайте [1].
Вместо этого расскажу про наблюдения о том, какие цифры получаются в итоге.
Во-первых, как бы ни было удивительно, процессорное время — наименее востребованный ресурс (ещё раз о том, что аренда атомов, которую мы недавно анонсировали, может быть вполне разумным выбором) — на него приходится всего 5% от суммы расходов (среднее потребление составило около 6 часов машинного времени в неделю на виртуальную машину — не надо недооценивать мощь современных Xeon'ов).
Во-вторых, самым затратным (и предсказуемым по потреблению во времени) является оперативная память — на неё приходится примерно 40% всех затрат.
Третьим в списке идёт хранение дисков, что так же вполне предсказуемо.
Мы считаем все ресурсы — и наибольшие вопросы вызывает учёт дисков; насколько я знаю, мы первые, кто для прямого дискового доступа (не webDAV или другое API) делает учёт дисковых операций.
Дисковая операция — любая просьба ОС о чтении или записи информации на диск. Дисковая операция может быть как маленькая, так и весьма большая (записать 4к или записать 1Мб — разница явно есть), так что мы разделили учёт дисковых операций на две составляющие, снизив цену каждой из них — отдельно считается количество операций, отдельно — объём записанных/прочитанных данных. Разумеется, кеш у ОС позволяет очень существенно снизить объём дисковых операций, так что далеко не любое обращение к веб-странице вызовет хоть какие-то дисковые операции. Ну и цены (мы сами ещё не уверены, что оно окупится при таких ценах) — это 3 рубля за миллион дисковых запросов, 10 копеек за гигабайт записи.
Исходя из общей концепции мы сделали интернет так же с оплатой по трафику. Да, эти слова вызывают травмирующие воспоминания о рубле за мегабайт и прочих ужасах зари Интернета. Какой платный трафик в эпоху развитого интернета и всеобщих анлимов. Но… Если входящий трафик будет стоить 20 копеек за гигабайт (исходящий 1р.), то это совсем другой разговор? Ведь если вы покупаете полосу, в неё неявно закладывается то, что вы её потребляете на некоем среднем уровне. Если вы потребляете её под потолок, то докупая полосу вы уже увидите настоящую стоимость полностью забитого канала. Если же вы её не выбираете и на 30%, то зачем вы платите за неё? А если у вас высокий исходящий трафик, то зачем вам неявно платить за входящий? Второй момент: какой канал вам нужно? 10 Мб? А если мало, если пики в отдельные моменты больше 100? Мы предлагаем гигабит — и возможность платить только за ту малую часть его, которую потребляете.
И ещё раз о памяти. Главная фича, о которой я писал много месяцев назад — это технология Memory on Demand — выделение памяти по потребности. На самом деле, там нет никакой магии, мы просто следим за тем, чтобы объём свободной памяти (кеш не учитывается) оставался более-менее постоянным, накидывая память, когда свободной памяти становится мало и отбирая память, когда её становится много. Таким образом каждая программа получает нужный ей объём памяти — и не более того. Разумеется, эта технология нужна только приложениям с переменным потреблением памяти (например, плодящиеся апачи). В случае Java/tomcat память нужно резервировать сразу же — и с вопросом «а нафига» лучше обращаться кSun Oracle.
Этот пост — анонс запуска. В следующих постах я расскажу про то, как это работает и почему именно так (краткий тизер: почему 2.6.34-xen, а не pv_ops, о том, как считается время процессора и память, о том, почему у нас нет debian lenny, как система устанавливается, почему зен 3.4, а не 4.01, почему XCP, а не xend).
Специально, чтобы завлечь вас в наши сети мы установили минимальную сумму для начала работы с облаком в 10р (однако, платёжная система ограничивает минимум для пополнения балланса в 100р, это не мы, честное слово). Десять рублей хватит примерно на три дня возни с системой. Плюс, в нашей модели оплаты не предусмотрена ситуация, когда клиент остаётся нам должен. После окончания средств мы 7 дней храним диски от машин, если клиент решает продолжить — он оплачивает хранение дисков. Если уходит — на нет и суда нет, мы удаляем диски и списываем себе в убытки их хранение. Другими словами, тест облака ни к чему не обязывает.
На самом деле мы запустились ещё месяц назад, но решили не устраивать себе хабраэффект, а принимать клиентов по чуть-чуть. Благодаря этому мы смогли внимательно изучить возникающие затруднения и решать проблемы в очень индивидуальном порядке. Стратегия себя окупила, так как за время «полузапуска» нашлась одна неприятная опечатка в шаблоне у одной виртуальной машины, несколько мелких огрехов в интерфейсе. Заодно, спокойно, без предпусковой суматохи, были реализованы дополнительные функции управления виртуальными машинами.
Впрочем, хватит про рабочий процесс, про него я буду рассказывать позже.
Облако Селектел — это возможность платить только за те ресурсы, которые использовал сервер. А сами ресурсы предоставляются в том объёме, который нужен для быстрой и комфортной работы сервера. Автоматически. Потому у нас нет разных тарифных планов — у нас есть только цены на ресурсы, а итоговая стоимость определяется загрузкой сервера.
Впрочем, понятно, что даже простаивающий сервер будет потреблять ресурсы (ядру нужна память, диск с операционной системой должен где-то храниться). Упреждая вопросы: месячная цена самой компактной версии Debian с постоянным аптаймом и без значительной нагрузки стоит около 45р в месяц.
И да, вы можете выключить машину, и единственное, за что будете платить — это за хранение дисков, что для того же Debian Mini обойдётся в 3-5р в месяц. Срок хранения ограничен только суммой денег на балансе.
Не буду отвлекаться на цены, они есть на сайте [1].
Вместо этого расскажу про наблюдения о том, какие цифры получаются в итоге.
Во-первых, как бы ни было удивительно, процессорное время — наименее востребованный ресурс (ещё раз о том, что аренда атомов, которую мы недавно анонсировали, может быть вполне разумным выбором) — на него приходится всего 5% от суммы расходов (среднее потребление составило около 6 часов машинного времени в неделю на виртуальную машину — не надо недооценивать мощь современных Xeon'ов).
Во-вторых, самым затратным (и предсказуемым по потреблению во времени) является оперативная память — на неё приходится примерно 40% всех затрат.
Третьим в списке идёт хранение дисков, что так же вполне предсказуемо.
Мы считаем все ресурсы — и наибольшие вопросы вызывает учёт дисков; насколько я знаю, мы первые, кто для прямого дискового доступа (не webDAV или другое API) делает учёт дисковых операций.
Дисковая операция — любая просьба ОС о чтении или записи информации на диск. Дисковая операция может быть как маленькая, так и весьма большая (записать 4к или записать 1Мб — разница явно есть), так что мы разделили учёт дисковых операций на две составляющие, снизив цену каждой из них — отдельно считается количество операций, отдельно — объём записанных/прочитанных данных. Разумеется, кеш у ОС позволяет очень существенно снизить объём дисковых операций, так что далеко не любое обращение к веб-странице вызовет хоть какие-то дисковые операции. Ну и цены (мы сами ещё не уверены, что оно окупится при таких ценах) — это 3 рубля за миллион дисковых запросов, 10 копеек за гигабайт записи.
Исходя из общей концепции мы сделали интернет так же с оплатой по трафику. Да, эти слова вызывают травмирующие воспоминания о рубле за мегабайт и прочих ужасах зари Интернета. Какой платный трафик в эпоху развитого интернета и всеобщих анлимов. Но… Если входящий трафик будет стоить 20 копеек за гигабайт (исходящий 1р.), то это совсем другой разговор? Ведь если вы покупаете полосу, в неё неявно закладывается то, что вы её потребляете на некоем среднем уровне. Если вы потребляете её под потолок, то докупая полосу вы уже увидите настоящую стоимость полностью забитого канала. Если же вы её не выбираете и на 30%, то зачем вы платите за неё? А если у вас высокий исходящий трафик, то зачем вам неявно платить за входящий? Второй момент: какой канал вам нужно? 10 Мб? А если мало, если пики в отдельные моменты больше 100? Мы предлагаем гигабит — и возможность платить только за ту малую часть его, которую потребляете.
И ещё раз о памяти. Главная фича, о которой я писал много месяцев назад — это технология Memory on Demand — выделение памяти по потребности. На самом деле, там нет никакой магии, мы просто следим за тем, чтобы объём свободной памяти (кеш не учитывается) оставался более-менее постоянным, накидывая память, когда свободной памяти становится мало и отбирая память, когда её становится много. Таким образом каждая программа получает нужный ей объём памяти — и не более того. Разумеется, эта технология нужна только приложениям с переменным потреблением памяти (например, плодящиеся апачи). В случае Java/tomcat память нужно резервировать сразу же — и с вопросом «а нафига» лучше обращаться к
Этот пост — анонс запуска. В следующих постах я расскажу про то, как это работает и почему именно так (краткий тизер: почему 2.6.34-xen, а не pv_ops, о том, как считается время процессора и память, о том, почему у нас нет debian lenny, как система устанавливается, почему зен 3.4, а не 4.01, почему XCP, а не xend).
Специально, чтобы завлечь вас в наши сети мы установили минимальную сумму для начала работы с облаком в 10р (однако, платёжная система ограничивает минимум для пополнения балланса в 100р, это не мы, честное слово). Десять рублей хватит примерно на три дня возни с системой. Плюс, в нашей модели оплаты не предусмотрена ситуация, когда клиент остаётся нам должен. После окончания средств мы 7 дней храним диски от машин, если клиент решает продолжить — он оплачивает хранение дисков. Если уходит — на нет и суда нет, мы удаляем диски и списываем себе в убытки их хранение. Другими словами, тест облака ни к чему не обязывает.