Слайд 1Современные программные технологии
История технологий 1984-2008 г.г.
(Кристофер Эберт. Экскурс в историю программных
технологий, ОС,10, 2008)
Web-сервисы, SOA
SaaS, S+S, XaaS.
Слайд 2Что было 25 лет назад?
Билл Гейтс, 1981: «640 Кбайт должно хватить
каждому…»
М.Шоу, 1980: «Программная инженерия пока еще не стала настоящей дисциплиной, но имеет необходимый потенциал для того, чтобы ею стать»
Разработчики ПО и пользователи действовали изолированно
Отсутствие открытых стандартов
Слайд 3Группы программных технологий
Базовые технологии влияют на массовые тенденции и дисциплины, и
они применяются во всех областях и направлениях программной разработки.
Технологические концепции и методологии объединяют базовые методики, которые используются во многих различных отраслях и продуктах.
Консолидированные технологии опираются на концепции и предоставляют готовые технические решения.
Слайд 4Ключевые программные технологии 1984-2009 г.г.
Базовые исследования и краегоугольные концепции
Некоторые компании
и пользователи
Третья часть целевого рынка
Слайд 5Технологические концепции и методологии
Слайд 6Консолидированные технологии
Слайд 7Тенденции, характерные для эволюции программного обеспечения
развитие программных технологий теперь стимулируют не
отдельные компании, а экосистемы исследователей, поставщиков, потребителей и пользователей;
технологии должны пройти ряд апробаций с различной направленностью, прежде чем они будут признаны успешными;
каждая конкретная технология распространяется в разных отраслях с разной задержкой;
ориентированность на конкретную предметную область дает пользователям возможность адаптировать технологии к своим специфическим потребностям;
работа с процессами заменила создание методом проб и ошибок решений под конкретную ситуацию;
технологии, которые раньше были фрагментированными и изолированными, сейчас интегрируются.
Слайд 8Характер развития и влияние на продукты и отрасли
Отдельные компании определяют
развитие технологии, если эти технологии создавались и широко распространялись в отраслях.
Синусоидальный график переходя к широкому использованию.
Программные технологии полезны, если они широко используются.
Неравномерность распространения в разных областях
Замена универсальности на ориентированность на конкретную предметную область
Интеграция процессов, инструментов и людей ускоряет выпуск технологии
Слайд 910 правил, которые помогут оценить и прогнозировать перспективы новых программных технологий.
Не поддавайтесь шумихе. Большинство программных технологий никогда ее не вызывают — жизнь слишком коротка, а бюджеты слишком ограничены, чтобы кидаться за всем, о чем вам довелось услышать на конференции или прочитать в статьях.
Не влюбляйтесь в свою технологию. Постоянно спрашивайте себя, как можно улучшить ситуацию. Не ограничивайте себя в поиске приемлемых решений. Позволяйте своим клиентам заменять ваши продукты на более новые ваши же технологии. Если у вас их нет, то вместо вас их предложат ваши конкуренты.
Сначала подумайте, затем внедряйте новую технологию. Определите конкретные потребности и установите приоритеты, которые должны быть удовлетворены. Определите, кто в этом заинтересован среди руководства, и выработайте общую точку зрения. Держите в курсе этих людей, чтобы избежать внезапных противодействий или отказов.
Оцените пользу и установите конкретные, измеримые цели и этапы. Спокойно относитесь к небольшим убыткам при оценке технологий для того, чтобы время от времени добиваться большого выигрыша. Типичные критерии в этом случае — эффективность, денежные потоки и время до получения прибыли. Не все инновации заранее должны иметь точную отдачу от инвестиций, поскольку это убьет творчество. Однако в любой данный момент времени они должны приносить пользу или исчезнуть.
Слайд 10Избегайте шумных анонсов технологии. Не рискуйте крупно, рискуйте часто. Предлагайте технологии
постепенно и смотрите, как они распространяются на рынке через ваши продукты и сервисы.
Отделяйте функциональность (пользу для клиента) от программной технологии. Если вы выделите функцию из своей реализации, то сможете подумать о том, как реализовать ее кардинально иным способом.
Обучайте инженеров и менеджеров новым технологиям, не заставляя немедленно использовать продукт. Знание программных технологий имеет «период полураспада» менее двух лет, поэтому вам неизбежно придется интересоваться чем-то еще помимо того, что вы уже знаете.
Никогда не рассчитывайте на то, что ваша группа или коллеги обладают именно теми технологиями и навыками, которые вам нужны. Все это уже в прошлом. Набирайте людей со свежими мозгами и перемещайте людей с должности на должность, чтобы они не самоуспокаивались.
Подумайте об управлении изменениями. Новые технологии влияют на продукты, процессы и людей. Подготовьте план, описывающий, как будет представлена технология. Имейте запасную стратегию на тот случай, если эти обещания не будут выполнены.
Периодически согласовывайте свои портфели продуктов со своими технологическими планами. Определите сроки выпуска новых технологий и синхронизируйте их с потребностями рынка и разработкой продуктов. Имейте смелость отказаться от продуктов и технологий, если они не оправдывают возложенных на них ожиданий.
Слайд 11Service-Oriented Architecture, SOA
SOA - сервисная архитектура: из объектов-сервисов строятся сложные
сервисные системы:
Г.Гласс: «Web-сервисы» == «паутина сервисов»;
развитие распределенных вычислений
построения систем большого масштаба
Эволюция:
Слайд 12Концепция программного обеспечения как сервиса SaS
Меморандум Билла Гейтса, 2005. «Нарождающаяся «волна
сервисов» будет иметь разрушительный эффект — услуги, по самой своей сути масштабируемые на сотни миллионов пользователей, радикально изменят природу и стоимость решений, предоставляемых как крупному, так и мелкому бизнесу»
Смена парадигмы в индустрии ПО
1. Отказ от традиционной модели установки ПО у заказчика.
2. Браузер - единственное клиентское программное средство.
1990-е : Провайдеры услуг аренды приложений (Application Service Provider, ASP). Существенные отличия SaaS - разделяемый доступ множества пользователей, архитектура, большая клиентская база, отказ от лицензий
Слайд 13SaaS — это реализации ASP на качественно новом технологическом и деловом
уровне
ASP была в целом нацелена на крупных корпоративных клиентов. SaaS — в первую очередь на SMB (это стало во многом возможно благодаря широкополосному Интернету); ·
SaaS предоставляет клиенту не ПО, а реализацию бизнес-функций. В общем случае клиенту все равно, на каком ПО все это реализовано; ·
SaaS-поставщик помимо прочего должен решать вопросы интеграции своего сервиса в ИТ-систему заказчика; ·
иначе выглядят вопросы лицензирования (отношения с вендором базового ПО); ·
SaaS-поставщик заинтересован в повышении эффективности функционирования своего внутреннего хозяйства; ·
реализация SaaS непосредственно связана с использованием других архитектурно-технологических течений — SOA (как внутри SaaS-проекта, так и при стыковке сервиса с ИТ заказчика), виртуализация и пр.; ·
иначе стоит вопрос “монетизации” услуг. ASP — это чисто арендная плата. В SaaS большое значение играет рекламная составляюща
Слайд 14Четыре уровня зрелости SaaS:
Ad-Hoc/Custom (специальный). Каждый пользователь имеет собственную настроенную
под него версию приложения, используемого в режиме хостинга. Миграция традиционного приложения (в том числе клиент-серверного) в модель SaaS на этом уровне дает cнижение операционных затрат за счет консолидации аппаратных средств (серверов) и администрирования.
Configurable (конфигурируемый). Заказчик имеет возможность настраивать нужное ему ПО через метаданные, таким образом несколько пользователей работают с собственными экземплярами ПО, но с одним и тем же программным кодом. Это позволяет поставщику снизить свои затраты при удовлетворении потребностей разных клиентов.
Configurable, Multi-Tenant-Efficient (конфигурируемый, многоарендный). В отличие от второго уровня тут используется один экземпляр программы для всех пользователей. При этом существенно снижаются все эксплуатационные затраты (в том числе на аппаратные средства), но здесь имеются ограничения по масштабируемости.
Scalable, Configurable, Multi-Tenant-Efficient (масштабируемый конфигурируемый, многоарендный). В дополнение к третьему уровню добавляется масштабируемость за счет многоуровневой архитектуры ПО, балансировки нагрузок с использованием большого набора серверов. Мощность системы может легко изменяться путем подключения-отключения серверов, без внесения каких-либо изменений в ПО.
Слайд 15Распределение статей корпоративного ИТ-бюджета
Слайд 16Существенное сокращение сроков внедрения и снижение расходов на инфраструктуру (опрос заказчиков)
Слайд 17Преимущества и недостатки SaaS
Снижение финансовых рисков, начальных инвестиций
Смягчение проблемы интеграции приложений
Ускорение процесса внедрения
Сокращение цикл продаж
«Короткая» обратная связи с разработчиками
Решение проблемы пиратства
По истечении определенного времени расходы в сервисной модели оказываются выше, чем в традиционной
Прикладная система не собственность заказчика
Затруднена специальная настройка конфигурации
«Кому принадлежат наши данные?»
Обеспечение непрерывной доступность сервиса
выбор в пользу смешанной модели.
Слайд 18Мифы о SaaS
Невысокой надежности сервиса
Ориентация только на мелкий и средний бизнес
Узкий круг горизонтальных приложений
В каталоге SaaS-решений (www.saas-showplace.com) сегодня имеются все основные категории программных продуктов
Salesforce.com (1999) сегодня обслуживает более полумиллиона пользователей из 25 тыс. организаций, а ее годовой оборот вплотную приблизился к 500 млн долл.
2006 г. Четверть организаций на Западе уже использовали модель SaaS для работы с отдельными приложениями, еще около 10% находились на стадии пилотных проектов либо планировали их инициировать
Слайд 19Размывание границ между традиционными программными продуктами и приложениями по требованию
Слайд 20Экосистемы SaaS
Сообщества независимых разработчиков (Independent Software Vendor, ISV)
Экосистема AppXchange
(Apex) компании Salesforce.com объединяет более 300 ISV и около 500 программных продуктов
Платформа разработки приложений SuiteFlex (2006) фирмы NetSuite
А также IBM, Microsoft, Oracle, Progress Software и WebEx …