Теория и практика разработки управляемых приложений и...

52

Upload: faith

Post on 08-Feb-2016

88 views

Category:

Documents


1 download

DESCRIPTION

DEV305. Manageability -евангелист. VIA code. Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию. Роман Юферев. Кто я?. PM и Manageability -евангелист VIAcode Manageability и мониторинг Microsoft partner and vendor - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию
Page 3: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Кто я?

PM и Manageability-евангелистVIAcodeManageability и мониторингMicrosoft partner and vendor2010 – Microsoft acquisition (AVIcode)SQL teamSystem Center team

Page 4: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Вопросы...вопросы...

Кто наши программисты?Кто наши пользователи?Куда тратятся наши деньги? ?

Page 5: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Программисты

Кто мы?

О чем мы думаем?

Page 6: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

О чем мы думаем?

ФункциональностьПроизводительностьНадежностьМасштабируемостьСовместимостьТестируемость...

Page 7: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Кто наши пользователи?

Знаем ли мы это?Что мы делаем для того, что бы это узнать?

Page 8: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Куда тратятся НАШИ деньги

TCO

Page 9: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Косвенные затраты

1.Развертывание2.Конфигурирование3.Обновление4.Масштабирование5.Исправление ошибок ПО6.Сбои ПО и «железа»7....

Page 10: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

И это можетДОРОГО НАМ СТОИТЬ!

Page 11: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Суровая правда

Page 12: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

'96 '97 '98 '99 '00 '01 '02 '03 '04 '05 '06 '07 '08 '09 '10 '11 '12 '130

50

100

150

200

250

300Электроэнергия о охлаждение

Администрирование - виртуальные платформы

Администрирование - физические платформы

"Железо"

Затраты потребителей

Page 13: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Почему дорожает эксплуатация?

Системы становятся сложнееБольше пользователейНовые областиРазвитие мобильных

платформ…

Page 14: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Как мы пытаемся снижать эти расходы ?

Системы мониторингаITSM (ITIL, MOF)Configuration Management…

Page 15: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Этого не достаточно!

'96 '97 '98 '99 '00 '01 '02 '03 '04 '05 '06 '07 '08 '09 '10 '11 '12 '130

50

100

150

200

250

300Электроэнергия о охлаждение Администрирование

"Железо"

Page 16: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

$25B

1996 год от Р.Х.

Page 17: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

$150 000 000 0002011 год от Р.Х.

Page 18: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Давайте еще раз...

15 летРешаем проблему TCO

Системы Мониторинга Configuration ManagementITSM (ITIL)…

…Затраты на администрирование выросли в 6 раз...

Page 19: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Что мы делаем не так?

Page 20: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Как писать управляемые приложения?

Мониторинг!

Page 21: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Пример №1 – «Обновление магазина»

Page 22: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Как это будет...

выявление самого факта отказалокализация точки отказа ошибка или отказ?определение причины отказапоиск решения для устранения причины отказаприменение и контроль решения

Время решения - От часов до дней!

Page 23: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Мониторинг с научной точки зрения

Page 24: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Отказ...

...

...

Отказ...

......

Модель здоровья

Отказ...

......

BI

DB

Backup

WorkflowReporting

WWW

Page 25: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Сценарий отказа – Failure Mode

Отказ

Симптомы

РецептСущность

Page 26: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Модель здоровья приложения

Page 27: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Пример отказа

«Критическое заполнение базы данных MyDB»Симптом (через DMV): P(database) < 20%Рецепт: «...выделение дополнительного объема на диске,...включение AutoGrow,…и т.д.»

Page 28: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Примеры отказов

Сервис MSSQL DBEngine остановленОтсутствие места в базе данныхКритическое количество подключений к сервисуКритическое заполнение внутренней очереди запросовПереполнение внутренней очереди запросовПредельный объем использованной оперативной памяти (или процессора)...

Page 29: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Пример – «Интернет-магазин»

Сервис оплаты не может подключиться к OLTP-сервису AlfaBank – отказ в доступе

Симптомы:...

Рецепт:...

Page 30: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Разработка модели здоровья

Пост-фактум (сейчас)Проектирование статической диаграммы модели здоровьяИдентификация сущностей моделиОпределение возможных сценариев отказаАнализ доступной инструментацииСвязь доступной инструментации и сценариев отказаРеализация модели здоровья на платформе мониторинга

Page 31: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Например – Microsoft SCOM

Discovery – поиск и дентификацияМониторы – диагностика отказовRecovery and DiagnosticДанные статистикиОтчеты

Operations Manager

Page 32: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Только одна проблема...

Page 33: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

...и еще одна вещьСимптомы:

Достаточные

Однозначные

Ориентированные на проблему

Page 34: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Популярные ошибкипри разработке manageable приложений

Page 35: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Пример кода

…SqlConnection conn = null;//open DB connection and get some data…

Симптомы:• Достаточные• Однозначные

Page 36: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Пример кода…SqlConnection conn = null;try{

//open DB connection and get some data…

} catch (SqlException sEx){

//log exception EventLog.WriteEvent(…42,…); ...

} catch (InvalidOperationException ioex){… Симптомы:

• Достаточные• Однозначные

Page 37: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Ошибка №1 – неточные симптомы

Реальное событие В чем проблема?

C:\ is FULL!!!

Page 38: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

База данных ... недоступна

EventID=10069

...

...

Отказ в доступе...к базе...при

выполнении...

EventID=10068

...

...

А как правильно?

…SqlConnection conn = null;try{

//open DB connection and get some data…

} catch (SqlException sEx){

//login failureEventLog.WriteEvent(…10068,…);//connection timeoutEventLog.WriteEvent(…10069,…);//t-sql errorEventLog.WriteEvent(…10078,…);

} catch (InvalidOperationException ioex){

Page 39: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Ошибка №2 – множественные симптомы

UI

try { call_middle_Tier(params) } catch (exception e) { WriteEventLogEvent(102, E_ExceptionWeb)

... }}

Бизнес-логика

try { call_DAL(params) } catch (exception e) { WriteEventLogEvent(101, E_ExceptionDB) throw; }}

DAL

Page 40: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Ошибка №3 - Событие vs Состояние

Симптомы для перехода в рабочее состояниеНеобходимость непрерывного контроля логаДанные для вычисления состояния

Page 41: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Ошибка №4 - Экзотическая Инструментация

Текстовые/xml логиНе те протоколы

HTTP (WCF)CLU

Локальные механизмыSecurity

Page 42: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Диагностическая Инструментация

EventLog (Crimson!)RegistryADWMIPowershellDatabaseSNMPPerformance Counters

Windows Management Framework 3.0

Page 43: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Управляемые приложения

Реальные примеры

Page 44: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Пример Manageable Приложения

Модель здоровья с SQL Server 2000Качественная инструментация:

RegistryEvent LogPerformance CountersPowerShell APIDMV

On-line рецепты

Page 45: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Manageable решения – не только soft!

Microsoft Database Consolidation Appliance

IaaS Private CloudОптимизированное для MS SQL ServerМасштабируемое

Manageability Inside!SCOM + Модель Здоровья!SCVMM SCCMSCSM

Page 46: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Microsoft Database Consolidation Appliance

Page 47: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Разработка Manageable приложений - итоги

Зачем заниматься manageability?

Page 48: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Разработка Manageable приложений - итоги Manageability – новый тренд!Необходимо делать приложения manageableМы знаем о популярных ошибкахМы познакомились с теорией и

конкретными практикамиMicrosoft – поддерживает

manageability!

Page 49: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Все в Manageability!

Спасибо!

Спасибо!

Page 50: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Обратная связь

Уважаемые участники!Ваше мнение очень важно для нас!В блокноте, который находится в инфопаке участника, вы найдете анкету для оценки докладовПожалуйста, оцените доклад и сдайте анкету при выходе из зала модераторуДля участия в конкурсе заполненных анкет, отметьте в анкете номер, который указан на вашем бейдже

Спасибо!

Page 51: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию

Вопросы

DEV305Роман Юферев

VIAcode Manageability-евангелистryuferev@viacode.coma-jail.blogspot.comx-ability.blogspot.comwww.viacode.com

Вы сможете задать вопросы докладчику в зоне Microsoft в зале №17 в течение часа после завершения этой сессии

Page 52: Теория и практика разработки управляемых приложений и снижения затрат на эксплуатацию