4. ролей
•
экземпляров
•
Варианты ролей
Спроектирована для Спроектирована Спроектирована
обработки Web для поддержки
для произвольных
запросов
задач миграции
•
•
• Обработка ввода Запускается в
• от: Windows Server
Обработка входных • 2008 R2 VHD
данных через •
HTTP/HTTPS
Windows® Azure™ Platform
5. Масштабированное Доступное Различные
хранилище в через RESTful типы
облаке Web services хранилиша
• • •
• •
•
• •
•
Windows® Azure™ Platform
6. •
•
Windows Azure
•
•
•
•
•
Предприятие
Windows® Azure™ Platform
10. Text
XML
Graphics AppFabric Сервисная
Binary Data
Streaming Шина
NAT NAT
Firewall
Обмен сообщениями между
слабо связанными
композитными приложениями
Прямое взаимодействие
облегчено опосредованно
On-Premises через механизм Service Bus в On-Premises
том случае если это
наилучший коммуникативный
механизм доступа. Windows® Azure™ Platform
11. AppFabric Access
Control
Посетители
Приложение или
Данные Приложение Пользователь
Windows® Azure™ Platform
14. Эластичность, масштабируемость, безопасн Высокодоступный , масштабируемый, и
ость, высокая доступность самоуправляемый
автоматизированной сервисной платформы сервис распределенной базы данных
Access Control Service Bus
За операцию с сообщением За операцию с сообшением
$1.99/100k транзакций $3.99/месяц за коннекцию
Windows® Azure™ Platform
15. On и Off Быстрый рост
Compute
Compute
Inactivity On off
Period
Average Usage
Average Usage
Time Time
• •
• •
• •
Непредсказуемый Предсказуемый всплеск
всплеск
Compute
Compute
Average Usage Average Usage
Time Time
• •
• •
• •
Windows® Azure™ Platform
16. Решение на платформе
Шаблон загрузки Описание приложения
Windows Azure
“Unpredictable Bursting“ Branded marketing website with Windows Azure Вычисления
customer facing front end, hosting Windows Azure Хранилище
viewable media content Content Delivery Network (CDN)
Compute
Average Usage
Time
Составляющие Калькуляция цены Оценка стоимости
Instance Size: 2 to 4 (Small) $0.24 to $0.48 per hr $259.20
Windows Azure Storage: 10 GB $0.15 per GB $1.50
Data Transfer In: 7.5 GB $0.10 per GB $0.70
Data Transfer Out: 30 GB $0.15 per GB $4.50
Blob Transactions: 30,001 $0.01 per 10,000tx $0.03
Общая месячная стоимость потребления приложения: $265.93
TCO Tool Highlights: Derived On-Premises Costs* Cost of Ownership Comparison
Computing Costs: $1,513.50 92% 94%
Database and Storage Costs: $3.40 savings savings
Bandwidth Costs: $98.25
IT Admin Support $235.75 $3.2K
Other Costs: (Including Facilities $1,303.10
$266 $180
&Overhead; Setup & Delivery)
Total: $3,154.00 Hosted Windows Azure Development
Platform Accelerator Core
*Traditional server purchase costs, divided over 12 month period Windows® Azure™ Platform
17. Решение на платформе
Шаблон загрузки Описание приложения
Windows Azure
“Predictable Bursting“ Web-based payroll application add-on Windows Azure Compute
based in the cloud, with two connected Windows Azure AppFabric
SQL Azure web databases SQL Azure Storage
Compute
Average Usage
Time
Составляющие Калькуляция цены Оценка стоимости
Compute Instances: 2 to 4 (Medium) $0.24 to $0.48 per hr $259.20
Connections: 2 $0.15 per GB $1.50
SQL Azure Database: 2GB (2) $0.10 per GB $0.70
Data Transfer In: 18 GB $0.15 per GB $4.50
Data Transfer Out: 36 GB $0.01 per 10,000tx $0.03
Общая месячная стоимость потребления приложения: $633.48
TCO Tool Highlights: Derived On-Premises Costs* Cost of Ownership Comparison
Computing Costs: $1,651.23 85% 89%
Database and Storage Costs: $653.00 savings savings
Bandwidth Costs: $105.00
$4.5K
Other Costs: (Including Facilities & $2,045.77
Overhead; Setup & Delivery) $633 $475
Total: $4,455.00
Hosted Windows Development
Azure Accelerator
Platform Core
*Traditional server purchase costs, divided over 12 month period Windows® Azure™ Platform
18. Решение на платформе
Шаблон загрузки Описание приложения
Windows Azure
“On and Off “ Warehouse inventory content data-hub Windows Azure Compute
application that provides aggregate SQL Azure Database
Compute
and regional specific information on
Inactivity inventory levels to network of
Average
Period
Usage warehouse systems
Time
Составляющие Калькуляция цены Оценка стоимости
Windows Azure Compute: 2 (Small) $0.24 per hr 129.60
SQL Storage Database Size: 20 GB $99.99 per 10GB 199.98
Data Transfer In: 10 GB $0.10 per 1GB $1.00
Data Transfer Out: 10 GB $0.15 per 1GB $1.50
Общая месячная стоимость потребления приложения: $332.08
TCO Tool Highlights: Derived On-Premises Costs* Cost of Ownership Comparison
Compute $1,513.50
Database/Storage: $652.80
89% 90%
Bandwidth Costs: $172.34 $3.1K savings savings
Other Costs: (Facilities & $724.80
Overhead; Setup & Delivery) $332 $282
Total: $3,063.44 Windows
Hosted SQL Azure
Azure Development
Platform Accelerator
*Traditional server purchase costs, divided over 12 month period Windows® Azure™ Platform
19. Оценка IT
портфеля
Решение на платформе
Шаблон загрузки Описание цели
Windows Azure
“Growing Fast“
Growing business connectivity Windows Azure Compute
portal, consisting of 50 communication Windows Azure AppFabric
Compute
and organizational applications scaling Windows Azure Storage
Average Usage
up to 100 applications SQL Azure Database
Time
Составляющие 50 Требуемое количество EA Оценка
приложений стоимости
Compute Instances: 2 (Medium) 100 Individual Instances $13,860.00
Connections: 5 connections 250 Sets of 5 $432.83
SQL Storage: 10 GB 500 Sets of 250 $3,849.62
Blob Transactions: 500,000 2.5 million Sets of 1 million $2.31
Storage: 0 to 150 GB peak 7,500 Sets of 100 $8.66
Data Transfer In: 25 GB 1,250 Sets of 100 $1.13
Data Transfer Out: 75 GB 3,750 Sets of 100 $4.96
Общая EA месячная стоимость на 50 приложений: $18,159.51
Windows Azure Platform EA Monthly Costs Cost of Ownership Comparison
50 Applications 100 Applications
Total Cost for 50 Applications $18,159.51 56% 60%
Total Cost for 100 Applications $36,319.02 Savings Savings
90K
41K
TCO Tool Derived On-Premises Costs* 18K 36K
Hosted EA Pricing Hosted EA Pricing
Total Cost for 50 Applications $41,432.00
Total Cost for 100 Applications $90,193.00
*Traditional server purchase costs, divided over 12 month period Windows® Azure™ Platform
20. Windows Windows Azure AppFabric
Windows Azure SQL Azure
Azure мониторинг Service Bus и
Доступность Доступность
коммуникативной работающего Access Control
хранилища базы данных
связности экземпляра доступность
• Наш сервис • Все • Сервис • База данных • Service bus и
связанн и запущенные хранилища доступна access control
доступен через экземпляры будет через endpoints будут
интернет будут доступен интернет доступны извне
• Интернет роль постоянно • Запрос к • Все базы • Запросы на
будет иметь мониториться хранилищу будут обработку
возможность • Если экземпляр будет успешен постоянно сообщений
внешнего не запущен мы мониториться будут
идентифицируем обрабатываться
взаимодействия это и успешно
предпримем
корректирующие
дествия
>99.95% >99.9% >99.9% >99.9% >99.9%
Windows® Azure™ Platform
23. Web role Worker Role
Storage
Основные функции узлов системы:
WEB ROLE: Прием запросов от телефона или компьютера.
Взаимодействие с WORKER-ом через Queue.
STORAGE: Хранение информации, необходимой для работы
сервиса (набор конфигурационных таблиц, учетных данных
пользователей). Хранение контента клиентов. Организация
очереди заявок и на обработку WORKER-ом. Организация
взаимодействия WEB и WORKER ролей.
WORKER ROLE: Прием заявок на обработку книг, скачивание,
распаковка, конвертация, укладывание в STORAGE книг.
Проведение ежедневного биллинга, бекап критических
данных, блокирование или удаление пользователей,
синхронизация STORAGE. Windows® Azure™ Platform
24. - Реализация возможности чтения книг
- Возможность добавления закладок
- Навигация по книге
- Различные стили отображения страниц с
возможность создавать собственный.
- 6 размеров шрифта
- Поиск по ключевым словам
- Возможность скачивать книги из более
чем 10 популярных библиотек
- 3 языка интерфейса
- Просмотр расхода траифка
- Полный контроль над онлайн
библиотекой
- Сохранение состояния книг
- Автоматичская загрузка последней
читаемой книги при выходе из приложения.
Windows® Azure™ Platform
25. Для возможности метизации была реализована система
учета трафика клиентов по нескольким параметрам:
Количество закачаных/ скачаных байт или экземпляров.
Количество байт и экземпляров в онлайн хранилище
пользователя.
Количество обработанных ссылок для скачивания.
Время действия тарифного предложения в днях.
Тарифные предложения настраиваются в виде лимитов на
вышеперечисленные счетчики. При превышении лимита
одного из счетчиков, у пользователя перестает работать
часть функционала сервиса.
Например, у пользователя установлен лимит на скачивание,
загрузку файлов и на используемый объем хранилища:
При превышении лимита на загрузки файлов – функционал
загрузки файлов становится недоступным для
нользователя, но он может продолжать кешировать книги в
телефон. При перелимите объема хранилища – у
пользователя пропадает функционал наполнения своей
библиотеки.
Windows® Azure™ Platform
26. В качестве базовой единицы для расчѐта была
посчитана цена одного мегабайта хранилища для
пользователя исходя из следующих соображений:
- Для комфортного использования сервиса одна веб
роль и воркер роль должны обслуживать 200
клиентов.
- Один клиент тратит 1 ГБ трафика в месяц и
генерирует 100 тыс. транзакций.
- Комиссия платежной системы и уплата налогов.
- Полученная сумма умножается на 2.
Достоинства Azure для организации подобного
сервиса:
1) Дешевый storage
2) Относительная простота реализации для любого
.Net разработчика
3) Масштабирование сервиса в зависимости от
количества клиентов.
4) Azure Benefits для партнеров подписчиков MSDN
Windows® Azure™ Platform
27. Базовая архитектура
Client Web
Role
Worker Role
Основные функции узлов системы:
WEB ROLE: Прием запросов от клиента. Работа с данными в SQL Azure
SQL Azure: Хранение информации, необходимой для работы сервиса (набор
конфигурационных таблиц, учетных данных пользователей).
WORKER ROLE: Обработка фоновых задач по расписанию. Биллинг, бекап
критических данных, блокирование или удаление пользователей
Windows® Azure™ Platform
28. Управление Документооборот
финансами
• учет расходов и доходов с привязкой к документам (счета, акты, накладные)
• неограниченное количество денежных счетов, с актуальным состоянием и историей
движения средств
• система интегрирована с ПриватБанком
• широкие возможности анализа движения финансовых потоков
Windows® Azure™ Platform
29. Контрагенты Товары и Услуги
• любое количество позиций с историей поставщиков и розничных цен
• создание счетов, актов и накладных не покидая карточки товара или услуги
• ведение неограниченного количества складов
• формирование прайс-листов по множеству критериев
• отображение актуального баланса контрагента
Windows® Azure™ Platform
30. Всегда напомним о делах! Актуальные новости
• ведение собственного списка дел
• налоговый календарь
Windows® Azure™ Platform
31. Отчеты в налоговую и ПФУ
ЭЦП* от компании
сдать отчеты
не покидая системы!
* электронно-цифровая подпись
Windows® Azure™ Platform
38. SightPower Azure Geospatial Analysis (SAGA)
Spatial wisdom multiplied by the
power of
MS Azure
2011, Kharkiv
THE PLACE WHERE SPATIAL
DATA ENTHUSIASTS MEET
confidential
39. Spatial data is amongst the most demanded and ineffectively utilized
resources in the world
Areas of usage Problems with data usage
Navigation (GPS etc.) No single catalogue
Mapping Each vendor has own catalogue
Oil and Gas (Energy) Fragmented
Mining (Resources) Privatized
Infrastructure and utilities Unknown quality
Military Volatile
Tourism and architecture Voluminous
Security Time-consuming processing
Communication
Methods of collection -
Satellite imaging
Aerial photo and aerial laser scanning
Seismic
Borehole drilling
Bathymetry and RADAR Ineffectively used
confidential
40. The Team
Mature management team with 20+ years of business experience
About 15 top-notch developers
Over 100 years of software development experience in total
About 90 years of spatial data processing experience in total
Core part of the team has been working together for 8+ years
Hands-on skills with enterprise level system development
High educational level
Core part of the team successfully delivered projects to the first-tier world companies
Ongoing projects with industry leaders
confidential
46. Эффективное использование
инструментов разработки
Microsoft, редакции Visual Studio 2010.
Team Foundation Server 2010 – модель
ролевого использования и адаптация
продуктовых методологий: MSF, Scrum.
Денис Пасечник
MS Ukraine ISV DE
Certified Project Manager (IPMA Level B )
Certified IPMAAssessor
MSF Practitioner
a-denisp@microsoft.com
46
47. План доклада
• Редакции Visual Studio 2010
• Обзор функционаольных возможностей Visual
Studio 2010 Ultimate
• Управление проектом (продуктовые методологии)
• Командное взаимодействие (TFS)
• Управление требованиями (Work Items)
• Архитектурное проектирование UML диаграммы
• Тестирование и версионный контроль (TFS)
47
48. Существующие редакции с MSDN
• Visual Studio 2010 Professional
• Visual Studio 2010 Premium
• Visual Studio 2010 Ultimate
• Team Foundation Server 2010
(Поставляется со всеми редакциями Visual Studio 2010)
48
53. Управление проектом
• Обзор функционаольных возможностей Visual Studio
2010 Ultimate
• Управление проектом (продуктовые методологии)
• Командное взаимодействие (TFS)
• Управление требованиями (Work Items)
53
54. Возможности предоставляемые MS VS 2010
проектным менеджерам
• Планирование и оценка
• Эффективный механизм отслеживания проектов
• Управление рисками, контроль качества
• Повторяемость успеха
• Формирование наилучших практик
54
57. Выбор наиболее подходящего проектного
шаблона
Процесс MSF for Agile MSF for CMMI
Состояния Active Proposed
Workflow
Resolved Active
Closed Resolved
Closed
Планирование User Story Requirement
Продукта Product
Change Request
Planning
Workbook
(CMMI)
Управление Task (Agile) Task (CMMI)
беклогом Iteration
итерации Backlog
Workbook
Управление Bug (Agile) Bug (CMMI)
Bug беклогом Triage
Workbook
Управление Issue (Agile) Issue (CMMI)
проектом Issues Risk (CMMI)
Workbook
Review (CMMI)
Управление Test Case(Agile) Test Case (CMMI)
тестироваием
MSF for Agile Аудит Поддерживает Поддерживает
MSF for CMMI
57
58. Шаблон включает в себя следующие артифакты:
• Work Item Типы
• Sprint
• Product Backlog Item
• Bug
• Task
• Impediment
• Test Case
• Отчеты
• Release Burndown
• Velocity
• Sprint Burndown
• Build Success Over Time
• Build Summary
• Test Case Readiness
• Test Plan Progress
• SharePoint Проектный портал
MS Visual Studio Scrum 1.0
58
59. По словам Кена Швебера, Scrum – это не методология, это
фреймворк. А это значит, что Scrum не дает готовых
рецептов, что делать в тех или иных случаях.
Scrum
59
60. • Кому и какая
информация нужна
• Разграничение прав
доступа
• Рабочие элементы
WIs, как
универсальный
механизм
формализованной
постановки задачи
• Ролевая привязка к
шаблону процесса
• Проектный портал
Управление командными коммуникациями
60
61. • Интеграция с MS Project Server 2007,2010
• Интеграция с MS Project 2007, 2010, MS Excel
• Информация WI Fields
• Итерации
• Отчеты
Управление временем и бюджетом
61
62. Управление качеством
• Анализ кода и метрики кода
• Поддержка модели TDD,
• Юнит тесты, анализ покрытия кода
тестированием, нагрузочное тестирование
• Team Build
• Поддержка трассируемости между WIs, Tests,
Builds
62
63. • В зависимости от шаблона процесса мы можем создавать проект, в котором будем
иметь возможность использовать такие типы WIs:
• User Story, Requirement, Change Requests
• Отчеты такие как Remaining Work и Unplanned Work
Управление содержанием
63
64. Управление рисками
• Различная степень детализации Risk WI и WIF в зависимости от
методологии.
64
65. Корневой инструмент - Team Explorer 2010 (вся
основная интеграция)
• Доступ к Process Guidance
• Work Items и Work Item Queries
• Классификаторы (Areas и Iterations)
• Проектный портал
• Документы и SharePoint
• Отчеты
• Сборки
• Команда
• Уведомления
• Source Control
Анатомия Team Project
65
67. Разбиение историй на задачи
• User Story это нечто, что можно продемонстрировать, что представляет ценность
для product owner’а, а задачи либо нельзя продемонстрировать, либо они не
представляют ценности для product owner’a.
Абсолютно понятные истории разбивать на задачи
заранее так же легко, как и по мере их выполнения.
Такая разбивка часто позволяет выявить дополнительную
работу, которая увеличивает оценку, чем обеспечивается более
реалистичный план на спринт.
Такая предварительная разбивка заметно увеличивает
эффективность ежедневного Scrum’а.
Даже неточная разбивка, которая будет изменяться по ходу
работ, всѐ равно даѐт все перечисленные выше выгоды.
67
79. Инженерные практики
• Постоянная сборка и развертывание
• Ветвление как стратегический подход
• Раннее и частое тестирование
79
80. Постоянная сборка и развертывание
• Управление взаимозависимостями
• Continuous Integration в Visual Studio 2010
• Подготовка окружения
• Версионное хранилище
• Build (Сборка)
• Manual : участниками команды.
• Continuous : check-in на version-control branch.
• Rolling : Куммулятивный по завершению предыдущих сборок.
• Gated check-in : Check-ins принимается только если внесенные
изменения merge и build successfully.
• Scheduled : по рассписанию.
• Тестирование и Развертывание
• Проектная коммуникация и интеграция
• Настройка зависит от сложности проекта и требует планирования в
рамках первого Спринта
80
81. Раннее и частое тестирование
• Стратегия Тестирования
• Планирование тестирования
• Приемочное тестирование
• Модульное тестирование(Unit Testing)
• TDD и Раннее тестирование
• Ручное и Автоматизированное тестирование
• Отчетность по тестовым результатам
81
82. Стратегия Тестирования
• Что нужно учитывать когда вводится agile testing?
• Как управлять жизненным циклом тестирования?
• Как осуществлять Bug Fixing?
82
83. Планирование тестирования
• Создание тестового плана
для каждого спринта и для
проекта в целом
• Сформировать приемочные
тесты до спринта
• Выполнять unit tests в
течении спринта
• Фокусировка тестирования
на зонах наивысшего
уровня использования
• Отделение тестирования от
обработки и сохранения
данных
83
84. • С чего начать (Microsoft Test
Manager)
• Миграция от ручного
тестирования к
автоматическому
• Кто запускает (team, product
owner, customers)
• Определяйте приемочные
тесты в соответствии с user
stories
Приемочное тестирование
84
85. Совершенствование процесса
• Настройка VS 2010
• Настройки в рамках существующих проектов
• Структура шаблона процесса
• Редактор шаблона процесса.
• “Подрезка” руководства процессом
85
86. Work Item Queries
Source Code Control
Модификация Check-In Notes
Модификация Check-In Policies
Настройка существующих проектов
86
88. Редактор шаблона процесса
• Team Foundation Server Power Tools August 2011
• http://visualstudiogallery.msdn.microsoft.com/c255a1e4-04ba-4f68-8f4e-cd473d6b971f
88
91. Примеры правил
ALLOWEDVALUES Предоставляет список значений допустимых для поля. Можно определить
группу например [Project]Contributors, как список допустимых значений.
Если включить Expand Item check box, имя группы будет исключаться из
списка.
COPY Помечает что значение поле должно быть скопировано из system clock или
имя current user.
DEFAULT Определяет значение поля по умолчанию. Может быть получено из system
clock ( используется например для захвата времени, когда work item был
изменен, имя current user инициирующего изменение ( например поле
Changed By использует имя current user редактирующего work item ) или
просто значение.
MATCH Определяет формат содержимого строки в соответствии с определенным
шаблоном. В шаблоне допустимы вариации A, N, и X. Другие значения
будут представлены литерами. A – буквы алфавита. N - цифры. X -любые
символы. Для примера шаблон XXX-XXX-XXX позволит ввести 123-abc-r4g и
не позволяет ввести значение 123.455-23.
91
Windows Azure: operating system as an online serviceSQL Azure: relational cloud database solutionWindows Azure platform AppFabric: cloud middleware platformWindows Azure Marketplace DataMarket: information marketplace for data and web services Windows Azure™ is a cloud services operating system that serves as the development, service hosting and service management environment for the Windows Azure platform. Windows Azure provides developers with on-demand compute and storage to host, scale, and manage web applications on the internet through Microsoft® datacenters.Windows Azure AppFabricis a comprehensive middleware platform that enables building applications in the cloud or on-premises. This includes applications running on Windows Azure, Windows Server and a number of other platforms including Java, Ruby, PHP and others.Windows Azure Marketplace DataMarketis a new service allowing developers and information workers to easily discover, purchase, and manage premium data subscriptions in the Windows Azure platform.SQL Azure™ Database is a cloud-based relational database service built on SQL Server® technologies. It provides a highly available, scalable, multi-tenant database service hosted by Microsoft in the cloud.
Slide ObjectivesUnderstand Roles in generalUnderstand Web and Worker Roles at a high levelSpeaker NotesWindows Azure currently supports the following two types of roles:Web role: A web role is a role that is customized for web application programming as supported by IIS 7 and ASP.NET.Worker role: A worker role is a role that is useful for generalized development, and may perform background processing for a web role. A service must include at least one role of either type, but may consist of any number of web roles or worker roles. A worker role is started by a call to a well know managed code interface RoleEntryPoint. A worker role must extend this class and override the Start() methodA web role is a worker role with the addition of IIS being installed. i.e. it has all the features of and can do everything a worker role can do as wellNoteshttp://msdn.microsoft.com/en-us/library/dd179341.aspx#Subheading1
Slide ObjectivesIntroduction to Windows Azure StorageHigh availability via ReplicasStorage account introductionDiscussion of REST API and the managed code wrapperSpeaker NotesThe design point is for the cloud is availability of storage, there are 3 replicas of data, and we implement guaranteed consistency. In the future there will be some transaction support and this is why we use guaranteed consistency.Blobs, tables, and queues hosted in the cloud, close to your computation Authenticated access and triple replication to help keep your data safe Easy access to data with simple REST interfaces, available remotely and from the data centerAccess is via a storage account – you can have multiple storage accounts per live id.Although the native API is REST web service, there is a .NET storage client in the SDK that. This makes working with storage much easier from .NETThere are 4 types of storageTables = Key value storeQueues = a simple queuing mechanismBlobs = Binary file storage in the cloudDrives = A mechanism that allows a VHD in a blob to be mounted as an NTFS drive into a Compute roleNotes
Connect? Virtual Network???
Slide ObjectivesAffirm that SQL Azure is just a TDS server. Existing SQL Server consumers can connect to itSpeaker NotesConnecting to SQL Azure is simply a case of changing the connection string.The SQL Azure fabric ensures 3 transitionally consistent replicas of your data You will connect to a SQL Azure TDS gateway, this appears to be a SQL Server but will actually route your requests through to one of the three replicas stored in the DCAvoid injection attacks by using the SqlConnectionStringBuilder class. It is available from the .NET Framework to simplify creating the connection string. For more information, see Connection String Builders (ADO.NET).Carefully protect your connection string. A connection string presents a potential vulnerability if it is not secured. For more information, see Protecting Connection Information (ADO.NET).In order to completely secure your connection, especially when connecting to SQL Azure over the Internet, insure that the ADO.NET Encrypt and TrustServerCertificate connection parameters are set.For general considerations about connecting to databases in SQL Azure, see Guidelines for Connecting to SQL Azure Database.More on security of SQL Azure in Day 3Noteshttp://msdn.microsoft.com/en-us/library/ee336243.aspx
Slide objectives:Provide a visual representation of the Service Bus, and reinforce it’s purpose and value.Speaking points:The way I want you to think about the service bus is that it’s a communication fabric in the cloud; a connectivity and messaging fabric in the cloud.Take disconnected application and components that normally wouldn’t be able to talk to each other, and interconnect themTake your existing on-premises applications and services and extend them so that you can reach them through the cloud.Here in the picture you see App 1 – it could be anything, a service, and client application, etc. – and you want to connect it to the Service Bus to extend its reach.Then you have App 2 – it could also be a client application or service – and you want to connect it up to the Service Bus so that the two can start communicating.App 2 could belong to another company or organization – it doesn’t matter. So long as they have access to the Internet you can make this happen.NotesConnect distributed components to build composite applicationsExchange messages between loosely coupled applications without altering the network topologyNetwork Send/Receive from any Internet connected deviceTraverse NAT/FirewallMessage buffering for loosely connected applicationsFacilitate direct P2P ConnectionSpeaking points: Call out the following key pointsConnectivity through service bus relay in the cloudOutbound connectivity makes traversal of NAT/Firewall devices much easierDirect connection mechanism uses NAT probing- similar technology to that found in IM and VOIP clientsVariety of scenarios supportedSimple content and messages all the way through to full TCP/IP port forwardingNotes: Much in the same way that SQL Services is about extending SQL Server to the cloud, we are also extending key .NET capabilities to the cloud as services.We call these .NET Services. Some of you maybe familiar with previous codenames such as BizTalk Services.These services are really key components you would need for building distributed, connected applications. When we talk about connecting to your existing on-premises applications and enabling the composition of hybrid (Cloud + on-premises) applications – that is where .NET Services really comes in.There are currently two .NET Services: the Service Bus & the Access Control ServiceService Bus:The Service Bus is designed to provide a general purpose application bus, available on the internet at internet scale. You can really thin of the Service Bus as being similar to an Enterprise Service Bus that many enterprise organizations have today. However, we believe that when providing a Service Bus as a programmable service on the internet, there are a wider range of scenarios for many more types of organizations.Fundamentally, the .NET Service Bus is about connecting applications across network and application boundaries and making key message exchange patterns such as publish and subscribe messaging very simple.Access Control:The Access Control service is designed to provide rules-driven, claims-based access control for applications. Essentially, this allows you to define authorization rules for your applications using the claims-based approach that we are adopting within many Microsoft products and technologies and that is becoming adopted in the industry.Windows Azure has the .NET Framework built into it so thatyou can use those services within your application.But just like your application must be designed to scale out, the services that we have built into Windows over time in .NET also need to be designed and built in a way that can scale out naturally. We want to create services for you, and that's the purpose of .NET services, creating a pool of resources available to you to take advantage of and do things within your application very simply. So we're including a built-in, scale-out implementation of a service bus. The service bus lets you connect your on-premises systems securely into the cloud, into the Azure environment, while allowing your data and your information to traverse firewalls, solving a problem that is a bane of many application developments. Primary patterns today:Service remotingExpose an inside-the-firewall WCF service to clients in other organizations and in the cloud EventingAllow one-to-many event notification via the cloudProtocol tunnelingInterconnect applications that don’t communicate via Web servicesAll of these patterns are able to leverage secure communication and benefit from NAT and firewall traversal that the Service Bus brings.Service RemotingExtend web services to the cloudBroad support for WS-* protocolsEventingEfficient pub/sub style messagingHigh performance one way broadcastSupports disconnected modes through the use of short-lived message buffersTunnelingTunnel TCP sockets or raw named pipes right over the InternetCan tunnel complex protocols over simple protocols (i.e. tunnel SQL Server named pipes when only outbound HTTP is available)
Slide ObjectiveUnderstand the AppFabric Access Control service and the basics of claims based authSpeaker notesThis technology provides a cloud-based way for applications (on-prem or in the cloud) to easily accept diverse identities, including identities from enterprises, Windows Live ID, Google, Facebook, and others.NotesThe Windows Azure platform AppFabric Access Control (AC) service is a hosted service that provides federated authentication and rules-driven, claims-based authorization
Slide ObjectiveUnderstand that Microsoft has a long history in running data centres and online applications. Bing, Live, Hotmail etc….Understand the huge amount of innovation going on at the data center levelSpeaking Points:Microsoft is one of the largest operators of datacenters in the worldYears of ExperienceLarge scale trustworthy environmentsDriving for cost and environmental efficientlyWindows Azure runs in 3 regions and 6 datacenters todayData center innovation is driving improved reliability and efficiencyPUE = Power Usage Effectiveness = Total Facility power/IT Systems Power = Indication of efficiency of DCUnder 1.8 is very good, modern cloud DCs approaching 1.2Multi-billion dollar datacenter investment700,000+ square foot Chicago and the 300,000+ square foot Dublin, Ireland data centersMicrosoft cloud services provide the reliability and security you expect for your business: 99.9% uptime SLA, 24/7 support. Microsoft understands the needs of businesses with respect to security, data privacy, compliance and risk management, and identity and access control. Microsoft datacenters are ISO 27001:2005 accredited, with SAS 70 Type I and Type II attestations.Notes:http://www.globalfoundationservices.com/http://blogs.msdn.com/the_power_of_software/archive/2008/06/20/microsoft-s-pue-experience-years-of-experience-reams-of-data.aspxhttp://blogs.msdn.com/the_power_of_software/archive/2008/06/27/part-2-why-is-energy-efficiency-important.aspx
Slide ObjectivesProvide overview and detail on pricingDiscuss localization of pricingSpeaker NotesWindows Azure is charged per compute hour.Pricing is localized for global marketsDifferent VM sizes have a different number of CPUs and therefore are a multiple the single CPU rateCompute time, measured in service hours: Windows Azure compute hours are charged only for when your application is deployed. Remove the compute instances that are not being used to minimize compute hour billing. Partial compute hours are billed as full hours.Storage, measured in GB: Storage is metered in units of average daily amount of data stored (in GB) over a monthly period. Data transfers measured in GB (transmissions to and from the Windows Azure datacenter).Data transfers within a sub region are free. Transactions, measured as application requests to the REST serviceNoteshttp://www.microsoft.com/windowsazure/pricing/-----Slide ObjectiveUnderstand SQL Azure pricing. Understand the specifics of the no-prorated modelSpeaker notesSQL Azure is priced on a per database per month basisNoteshttp://www.microsoft.com/windowsazure/pricing/#sql ----Slide ObjectiveUnderstand the AppFabric Pricing modelSlide NotesAppFabric Service Bus is based on a per connection modelAppFabric Access control is based on a per transaction modelAppFabric Service Bus connections can be provisioned individually on a “pay-as-you-go” basis or in a pack of 5, 25, 100 or 500 connections. For individually provisioned connections, you will be charged based on the maximum number of connections you use for each day. For connection packs, you will be charged daily for a pro rata amount of the connections in that pack (i.e., the number of connections in the pack divided by the number of days in the month). You can only update the connections you provision as a pack once every seven days. You can modify the number of connections you provision individually at any time.For AppFabric Access Control transactions, customers will be charged the actual number of transactions utilized for the billing period (i.e., not in discrete blocks of 100,000 transactions), plus data transfers in or out.Always pay the data traffic costs that apply to your appNoteshttp://blogs.msdn.com/b/netservices/archive/2010/01/04/announcing-windows-azure-platform-commercial-offer-availability-and-updated-appfabric-pricing.aspx http://www.microsoft.com/windowsazure/pricing/
For WAPU: Now that we know how Windows Azure apps are built—from instances—we can sensibly talk about some of the most interesting cloud workload patterns. These are all made possible by adding and removing instances to a running application.Original Slide Notes---------------------------------------------------------------------------------------------------------------------------------Examples:3M needed a way to have its designers the ability to invoke complex algorithms that analyze 30 years worth of data, Riskmetrics, Lokad that does forecasting/modeling for retailers and e-commerce companiesKBB unpredicable burstingGrowing fast – any SaaS based solution that has no idea how much adoption will be (three Melons)Predicatable bursting – OCC Match that needed to be able to run job matching during certain times of day.
Key Points:Large application suites benefit from the Windows Azure environment because of the removal of capital infrastructure and many other opportunities.As the suite of migrated applications grows, EA pricing can be used for the suite’s cumulative resource needs to lower customer costs.Speaker Notes: This example is of a connected business suite applications which is the subject area of the IT Portfolio Assessment. This suite comprises of applications for email and mailbox storing, calendar and scheduling tools, video communication clients, online word processors, online presentation-creation tools, data repository and other business intelligence tools. The combined functionality helps the customer organization to communicate and operate on a global scale. Here we are starting off with 50 applications being migrated after an assessment was done. The application variables and pricing shown in the middle reflect an average application among a suite of different applications. Each individual application would likely have different needs and so may require increased capacity or speed in the compute instances or another variable. This suite of applications will continue to expand with new applications as the business grows and development in the cloud rolls on. The phased migration to the 100 application mark is also priced to show how this evolution would change over time and the price savings changing. The actual price would vary depending on the migration approach, seasonality, business drivers and other influencers.An enormous advantage of having these services hosted in the cloud is the removal of capital expenditures such as provisioning servers or maintaining and supporting a data warehouse for equipment storage and upkeep. Being able to streamline application operations is one of the key values of Microsoft’s Window Azure Platform. It provides organizations with the ability to move away from the physical data center environment and reduce the number of people that are required to maintain an IT infrastructure. This cost savings provides businesses with more resources that can go to achieve more strategic business objectives. Additionally, the transparency of the Windows Azure Platform makes it possible for customers to have a clear understanding of the cost and benefit of each application being used in the suite. This can help determine the value of an application and whether it may need to be redesigned to be more cost effective in the cloud. Through Windows Azure, Microsoft has created a support system that organizations can use to not only interface with the customer, but protect their data and free up resources on premises. Microsoft has provided customers with the ability to deploy enterprise level technologies at a fraction of the cost. In this example, the average application uses a enterprise agreement pricing levels and discounts. Enterprise Account pricing brings in a 20% discount on the normal compute and database commitment savings and 10% discount for other Windows Azure Platform services. Additionally, since this customer fits into tier 1 or level A thresholds, it will get an additional discount of 3.71%. The remaining excess Windows Azure Storage and outgoing data transfer is covered by consumption pricing. This comes to a savings of 56% for the 50 application level and then 60% for the 100 application level compared to a hosted solution, when calculated by the TCO tool.
Key point: There are multiple methods for monetizing cloud offerings….and they are not all mutually exclusive. Many cloud providers successfully combine several methods to arrive at a hybrid pricing model. Details for each pricing model are included belowFree models:Providing a basic level of service for free and then offering premium upgrades. There is much to be said in favor of incorporating this method into your pricing model since it significantly reduces any barriers customers may have in trying out your software. Once they have started to derive business value from it, they will quickly outgrow the limited number of features available to them and want to upgrade. Your challenge here of course is to package your features and functions in such a way as to increase the number of customers who are upgrading.Ad Based Revenue is a valid pricing method, though a tough one to successfully implement. Having said this, Google and Facebook have both generated significant revenues from advertising while providing their services free of charge for users. Other companies can also make this model work for them.Related Services charged – in this model the application is free but you may have to pay for some related service or virtual goods. Most commonly this is leveraged in free games where you can do micro transactions and in consumerwebsitesPer UnitPer Meter - this has applicability only in certain situations. It is good, for example for file sharing or backup applications. When it is applicable, it is often used in combination with other methods such as per user pricing. The growth goal in this scenario is to increase storage per customer.Per transaction pricing is also a common pricing method, but not applicable to every application where it may be hard to carve out discrete transaction units. The growth goal here, of course, is to increase the number of transactions per customer.Per User pricing is one of the most common pricing mechanisms. This may include number of seats or named users. Once again packaging your offering in such a way as to make premium upgrades available will help to ensure that you are providing a low end, easy point of entry for your customers and then quickly encouraging them to upgrade in order to have access to an expanded set of functions and features and/or additional users, thereby increasing your average revenue per customer.Payment typesA monthly subscription is one of the most common payment mechanisms though lack of robust billing systems means that this is often billed annually in commercial sales. Consumer sales however require the billing systems to be in place even before the service is offered.Revenue Share many services which are sold via a reseller require the ISV to take a cut of the revenues and share the rest. The share is most often higher for whoever owns the brand and customer relationship.Perpetual License Fee this is seen most often in companies that offer on-premise software and have not yet fully transitioned to the cloud business model.
Ask who knows their current Code Coverage.Ask who is currently managing their databases in VS 2008 Data Pro. Who is using it to deploy?
Ask how many people are doing Agile (or iterative development)? Are they doing iterative (or emergent) design? How to you keep your Arch & Design docs up to date? Arch. Explorer is a great mechanism for viewing the true architecture of an existing application.Plug Randy’s TFS Testing presentation.