Бернард Голден: «Стройте облачные приложения, а не приложения в облаке»Специальным гостем форума «Мир ЦОД 2010», проведенного издательством «Открытые системы» в начале июня (см. также «'Мир ЦОД' — двери открываются», Computerworld Россия, № 18, 2010), стал Бернард Голден, эксперт в области вирутализации и облачных вычислений, глава американской консультативной компании HyperStratus. Организаторы представили Голдена как «гуру», отведя под его трехчасовой семинар по облачным вычислениям зал пленарных заседаний. Впрочем, пророков, хотя они и сообщают действительно ценную информацию, обычно слушает меньшинство; вот и на форуме многие его участники предпочли слушать более «приземленные» доклады на параллельных секциях.

Голден сделал введение в облачные вычисления, рассмотрел типы облаков с их преимуществами и недостатками, дал рекомендации по выбору приложений, подходящих для размещения в облаке, и по стратегии их помещения туда. Благодаря активности вендоров, дефицита информации о сильных сторонах облаков не наблюдается, поэтому имеет смысл остановиться на проблемах и ограничениях. Голден выделил четыре проблемы, присущие облачной обработке данных: ограниченная полоса пропускания, интеграция с приложениями вне облака, программное лицензирование и безопасность.

Проблему ограниченной полосы пропускания Голден называет проблемой «тонкой соломинки», через которую пытаются пить молочный коктейль. При разработке систем важно оценить текущие и перспективные объемы трафика, которые потребуется передавать в облако и назад, в особенности если это публичное облако и операторы взимают плату за трафик. Проанализировав архитектуру приложения, возможно, удастся разделить его на компоненты таким образом, чтобы компоненты, передающие и принимающие большие объемы данных, оставить вне облака. Главное — избежать ситуации, когда во внешнем облаке находится приложение с большим трафиком и требованиями к малой задержке передачи данных. Некоторые типы приложений из-за перечисленных ограничений вообще не подходят для внешнего облака, не стоит и пытаться их туда помещать. Если же требуется разовая пересылка больших объемов данных, то их можно отправлять на дисках почтой.

Говоря об интеграции, Голден предостерег от того, чтобы помещать в облака приложения, которые имеют четыре-пять точек интеграции с приложениями вне облака, а также указал на необходимость предварительного анализа интегрируемой системы. Нужно принимать в расчет разницу в порядке обращения к приложениям (например, обращение по локальному IP-адресу, которое работало в собственном центре обработки данных, в облаке действовать не будет) и в задержке при передаче данных. (В последнем случае могут помочь контроллеры доставки приложений.)

О лицензировании программных продуктов сейчас говорят немного, но эта тема станет одной из основных в ближайшие два года, заявил Голден. Во-первых, многие лицензии рассчитаны на использование физической инфраструктуры. Скажем, программа при установке может быть привязана к MAC-адресу конкретного сервера и не станет работать на другом. Как тогда ее перенести в облако? Во-вторых, лицензии часто предполагают длительную или бесконечно долгую эксплуатацию. Программа может быть нужна пользователю всего месяц, но он будет вынужден приобрести годовую подписку.

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

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

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

Еще одна из общих рекомендаций заключается в том, что нужно создавать приложения, рассчитанные на облачную архитектуру. Удивительно, но некоторые клиенты HyperStratus жаловались, что помещали свои приложения в среду Amazon EC2, а потом оказывалось, что если виртуальная машина «ломается», то программа перестает работать или же нет возможности динамически подключить новые ресурсы. Но простое помещение приложений в облака еще не придает им ни надежности, ни масштабируемости, подчеркнул Голден. Поэтому, например, если архитектор приложения хочет застраховаться от отказа виртуальной машины, он должен поместить копии приложения на двух виртуальных машинах, и вторая должна быть в любой момент готова к работе. Надлежащим образом должно быть реализовано управление сеансами (например, путем размещения информации о сеансе в общем сервере баз данных) и т.д. «Стройте облачные приложения, а не приложения в облаке!» — так сформулировал Голден требования к архитектуре.

Те, кто жалеет, что пропустил семинар Голдена, могут прочитать его блог по адресу www.cio.com/blog/index/topic/3112: там можно найти многи из высказанных им идей и рекомендаций.