Мне с детства нравится вопрос, который задавал про любой незнакомый предмет маленький полярный медведь Умка. Вопрос звучал так: «А что это такое и с чем его едят?». Коротко и по существу. Жаль, что многие люди, не будучи знакомые с каким-либо явлением, подобных вопросов не задают, а лишь важно кивают головами, когда начинаешь им о б этом рассказывать. Наверное, боятся показать свою неосведомленность про «известные слова». В последнее время стало очень модным слово SaaS. Его употребляют к месту и не к месту, по делу и просто так. И к сожалению, не всегда упоминающие его (особенно далекие от IT) люди действительно понимают, о чем говорят. Равно как не понимают они, в чем суть и почему это лучше/хуже или применимо/неприменимо в конкретной ситуации. Слово модное, потому и говорим про Cloud Compuing и SaaS. Но мы-то люди умные и хотим точно знать, кто есть кто.
Я беру на себя смелость рассказать, что такое «облака» и и с чем их «едят». Но не претендую на полное или исключительно верное мнение о данных технологиях. Это общий обзор определенных технологий в сфере IT, написанный простым человеческим языком.
Прежде чем говорить об облачных вычислениях, позволю себе сделать небольшой экскурс в устройство современных информационных систем. В самом нижнем по уровню абстракции слое лежит «железо». Холодное и мертвое, пока не включишь ток. Когда же мы с помощью рубильника вдыхаем в него жизнь, оно оживает и начинает слать во все стороны электрические импульсы, частью из которых мы вполне можем управлять. Чтобы железо стало вести осмысленное существование и позволило нам получать какой-нибудь (возможно даже общественно-полезный) эффект, нам нужна операционная система.
На уровне ОС мы можем выполнять простые действия, и, что самое существенное, она позволяет нам запускать наши родные приложения: «Сапер», пасьянс «Косынка» и прочие, безусловно, полезные в хозяйстве программы. Собственно, программы дают нам возможность бесцельно убивать время выполнять полезную работу. Но это еще не все. Чтобы убивать время работать не в гордом одиночестве, а в окружении коллег и друзей, нам понадобится связь между компьютерами. Не вдаваясь в лишние подробности, скажу, что за связь на базовом уровне отвечает ОС, а осмысленные данные передают наши приложения.
Вот здесь и находится краеугольный камень нашей, как ее любили одно время называть, информационной эры. Когда мы смогли обмениваться информацией быстро, просто и дешево, у нас стали появляться различные интересные социальные явления. В самом деле, перенос общественных макроструктур в сеть произошел настолько естественно и в то же время стремительно, что мы даже как-то не заметили процесс перехода, а сразу оказались в новой реальности. Но изменения в общественном сознании не смогли бы произойти без принципиального изменения сетей передачи данных. В самом деле, многие ли из вас сидели в Интернете с модема? А многие ли участвовали в социальных сетях во времена модемов? Так что изменения в технологиях идут рука об руку с изменением общественного сознания.
О чем это я? Да, собственно, о том, что с развитием сетей изменились наши отношения с Сетью. Мы стали много времени проводить в Интернете. Мы зачастую храним данные «в облаке», не особо задумываясь о том, что такое то самое облако и где же на самом деле находятся фотографии любимой кошечки. У большинства людей, далеких от IT, даже не возникает вопроса где «живет» их почта. Она работает, доступ всегда есть. Зачем вопросы задавать? Для обычных обывателей современные сервисы не чудеса инженерной мысли, а лишь реальность, данная в ощущениях. Такая же, как небо над головой. И о природе облаков в этом небе они задумываются так же часто, как и о природе облаков для SaaS.
На фоне таких «драматических изменений» постепенно стали рождаться новые концепции подходов к хранению и обработке данных, к доступности и защите информации, к возможности работать из любого наперед заданного места, лишь бы Интернет был. А всю инфраструктуру можно разместить там, где есть специально обученные люди. Вот пусть эти люди и гадают, где какие серверы ставить, как их соединять и как ими управлять. В этом и заключается суть концепции «Инфраструктура как сервис», она же IaaS.
Главное принципиальное отличие от размещения в ЦОДе собственной инфраструктуры для модели IaaS заключается в том, что вы арендуете у провайдера некоторые абстрактные вычислительные мощности, обычно масштабируемые на лету. То есть у вас столько мощности, сколько вам нужно в данный момент. Естественно, физические серверы и сети никуда не делись, просто теперь они стали проблемой провайдера, а не вашей. Вы же получаете в свое распоряжение всегда работающие виртуальные машины потребной вам мощности. А уж дальше можете делать с ними все, что вашей душе угодно, – от выбора операционной системы до работы вашего приложения.
Следующий логичный шаг – отдать тем же людям, которые занимаются инфраструктурой, не только базовую инфраструктуру, но дать им рулить и операционными системами и, возможно, даже какими-то частями приложений (обычно очереди передачи данных и прочие транспорты). Таким образом мы приходим к концепции «Платформа как сервис», оно же PaaS. Здесь мы уже не сможем контролировать операционную систему. Зато сможем заливать в платформу свои приложения. Для Вас это выглядит как несколько масштабируемо мощных компьютеров, на которые Вы ставите компоненты своей программы. А за все остальное отвечает невидимая рука администраторов. Вам же регулярно приходят отчеты и счета за ресурсы, которые потребило ваше приложение.
И на закуску осталась концепция «Приложение как сервис», также известная как модный SaaS. Здесь у вас еще меньше контроля. Контроль за всем вместе с ответственностью за все лежит уже на администраторах приложения, а вы лишь управляете только собственным аккаунтом (ну или группой аккаунтов). Что бы ни случилось, приложение должно работать. И вы должны иметь возможность им пользоваться. Для этого разработчики создают специальную архитектуру приложений, размещают компоненты на разных виртуальных машинах и т.д.
Собственно, все эти концепции представляют собой частные случаи так называемых «облачных вычислений», также известных под термином Cloud Computing. Это важное понятие, с которым путаются наиболее часто. Давайте посмотрим, что же такое облака, чем облачный подход принципиально отличается от традиционного и в чем преимущества облаков для клиента.
Облачный хостинг (по мнению NIST) соответствует следующим пяти ключевым характеристикам:
- On-demand self service – пользователю доступен любой объем услуг. Причем для «дозакупки» услуг пользователю не нужно прилагать усилий (он делает все из панели управления) и все происходит «мгновенно».
- Broad network access – принцип сетевой доступности. Облачное решение должно быть доступно с любого компьютера, с которого есть доступ в Интернет. Про Китай с его «великим китайским файерволом» не говорим.
- Metered use – принцип оплаты по факту. Как работал, так и заработал. Вернее, сколько потребил услуг, столько и заплатил.
- Elasticity – принцип гибкости закупки. Возможность потребления мощности небольшими квантами и произвольное время использования именно того объема услуг в течение того времени, которое хочет пользователь. То есть можно год использовать маленький серверочек, потом пару дней половину датацентра, а далее – снова родной маленький серверок.
- Resource pooling – принцип независимости от «железа». Пользователю неизвестно и неважно, на каком аппаратном узле облака и даже на каком континенте сейчас работают его виртуальные машины. Пользователь не должен ни при каких условиях зависеть от работоспособности какого-либо конкретного узла.
Фото в анонсе: Unsplash
Частное облако – мы используем вариант PaaS (Платформа как сервис) - это проще и правильнее для нас: виртуальная платформа из одного или нескольких виртуальных серверов с нашим приложением.
Тонкой клиент, который работает под Win и Linux / Unix, для наиболее распространённых браузеров ( Internet Explorer 6.0/7.0/8.0, Mozilla Firefox 1.5/2.0/3, Safari 3.1, Google Chrome 3.0, Opera 9.50)
Обновление для тонкого клиента, если появляется, автоматически скачивается с сервера, Поддержка мобильных устройств.- работаем.
4 и 5 - стандартные решения, которые апробированы на многих ИС, и не вызывают вопросов по безопасности и надёжности
3 - серверную часть и тонкого клиента запускали в тестовом режиме, для создания своего сервиса. Если интересуют возможности, то могу уточнить. А само приложение, которое будет стоять на сервере пока в разработке.
Если о потенциальных возможностях PaaS, то некоторые приложения на Win32, которые были разработаны раньше для обычной работы локально или в сети, можно после небольшой доработки установить на таком сервере и подключить к системе с помощью системной интеграции.
В другой дискуссии я Вам рассказывал, о подобной интеграции, когда ИС на Win32 работает в одном окошке нашей платформы на .Net - интерфейс общий. Интеграцию можно делать и на сервере. По поводу скорости работы с Win 32 - надо исследовать в каждом отдельном случае. но наш опыт интеграции показал, что вполне и работает. Мы как раз и дорабатываем подобную систему, которая одновременно защищает от обратного реинжиниринга кода серверной части программы на .Net.
По поводу 4 и 5 меня раньше мало интересовало, т.к. все эти части ПО хорошо отработаны.
Если Вы почитаете эту дискусиию, то увидите, что многие её участники в этом сомневаются, считая ''облачные'' технологии сырыми и неотработанными. Поэтому хотелось бы услышать про конкретные примеры реализаций.
''облачные'' технологии сырыми и неотработанными.
Интернет до сих пор работает и не заваливается, несмотря на все атаки. Я уже пояснил, что получить полную информацию о данных в нашем проекте можно только имея все компоненты (см. выше). Эту решение я Вам рассказал, чтобы могли использовать в своём проекте - а Вам всё мало :) Шучу. Клиентам мы всё рассказываем и даже собираемся исходники предоставлять и темплейты для изменеия проекта, уникальные для каждого автогенераторы ключей и пр. , чтобы каждое решение было уникальным. !!!
'' многие её участники в этом сомневаются.''
Я не агитирую именно за Дата-Центр или Облака, т.к. наши прикладные решения можно поставить и на обычный сервер, но если были в каком-нибудь достаточно серьёзном, то сразу поняли, что контроль там более прозрачный и удобный - всё на виду. И представьте себе крупную компанию с большой текучестью кадров, огромным числом пользователей, армией админов - кто из них скопировал вашу базу данных? - никогда не узнаете, т.к. копировалась она с компа ни в чём невиновного неопытного компьютерного пользователя, который записывает свой пароль на бумажке и наклеивает её на корпус своего монитора или на обратную сторону клавиатуры:(.
''!Вопрос 1 . ...''
- А какая собственно разница? Вы ставите Частное облако у себя в компании. Ваши клиенты заходят в это Облако, и это удобнее чем заставлять их писать собственные Web-сервисы.
Например, если зашёл аналитик компании клиента или специалист по логистике - предоставляете ему тонкого клиента с привычным ему интерфейсом типа Excel и все довольны, а он потом сохранит у себя на компьютере полученные таблицы или оставит на сервере. Если у специалиста будет выбор, он предпочтёт работать с Вашей компанией - удобнее. Другие варианты интерфейса есть - пожалуйста называйте?