Developer Days 2011, Kharkov

  • 927 views
Uploaded on

16.03.2011, Developer Days 2011 at Kharkov

16.03.2011, Developer Days 2011 at Kharkov

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
927
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Приложения и хранилища данных
    Фещенко Александр
    .NET Team Lead
    http://feschenkoalex.blogspot.com
    feschenko.alex@gmail.com
    Developer Days 2011, Kharkov
  • 2. 1
    План презентации
    4
    Мотивация. Разновидности облачных сервисов
    Жизненный цикл. Разворачивание.
    2
    5
    Жизненный цикл. Проектирование.
    Windows Azure Storage Concepts
    6
    3
    Жизненный цикл. Разработка.
    Windows Azure Storage Blobs
    7
    Windows Azure Storage Tables
  • 3. Облачные вычисления. Что это?
  • 4. Облачные вычисления – этоэлектрификация 21-го века.
    % сгенерированного электричества
    1910
    1920
    1930
  • 5. Облачные сервисы
    Software as a Service
    Infrastructure as a Service
    Platform as a Service
  • 6. Облачные сервисы
    On-Premise
    PaaS
    IaaS
    SaaS
    Приложения
    Приложения
    Приложения
    Приложения
    Данные
    Данные
    Данные
    Данные
    Среда выполнения
    Среда выполнения
    Среда выполнения
    Среда выполнения
    Операционная система
    Операционная система
    Операционная система
    Операционная система
    Виртуализация
    Виртуализация
    Виртуализация
    Виртуализация
    Сервера
    Сервера
    Сервера
    Сервера
    Хранилища
    Хранилища
    Хранилища
    Хранилища
    Сетевая инфраструктура
    Сетевая инфраструктура
    Сетевая инфраструктура
    Сетевая инфраструктура
    Управляется Вами
    Управляется поставщиком
  • 7. Жизненный цикл. Проектирование.
  • 8. Все, что есть в Windows Azure, служит одной цели
    Чрезвычайной масштабируемости
    • Возможность запуска роли в нескольких экземплярах
    • 9. Набор «небольших» реляционных баз данных
    • 10. Секционированное хранилище данных
    • 11. Не зависящие от состояния роли
  • Жизненный цикл. Разработка.
  • 12. Локальная эмуляция облака.
  • 13. Жизненный цикл. Разворачивание.
    Staging
    Production
  • 14. Жизненный цикл. Разворачивание.
    Загрузка на Windows Azure
    *.cspkg
    Web Role
    *.cscfg
    Worker Role
    *.cscfg
    Windows Azure Fabric Controller
    LB
    *.cspkg
    Загрузка приложения напрямую из Visual Studio, что способствует повышению скорости разработки/разворачивания и тестирования
  • 15. Жизненный цикл. Разворачивание. Web Deploy.
    Актуально для Web-ролей, длительность разворачивания исчисляется секундами
  • 16. DEMO
  • 17. Windows Azure Storage.
    Реляционная модель
    Нереляционная модель
    Блобы, таблицы и очереди
    Классическая реляционная бд
    Нет механизмов проверки целостности данных
    Встроенные механизмы проверки целостности данных
    Поддерживают сложные запросы, включая джойны
    Как результат – высокая масштабируемость
    Масштабируемость значительно усложняется
    Поддержка целостности возлагается на разработчика
  • 18. Windows Azure StorageAccount.
  • 19. Windows Azure Storage. Предоставляемые сервисы.
  • 20. Blob Storage.Концептуальная схема.
    http://<account>.blob.core.windows.net/<container>/<blobname>
    Pages/Blocks
    Container
    Blob
    Account
    Pic1.jpg
    Images
    Block/Page
    Pic2.jpg
    Block/Page
    Test
    Videos
    Video.avi
  • 21. Blob Storage.Основные операции.
    • Основные операции:
    • 22. PutBlob
    • 23. GetBlob
    • 24. DeleteBlob
    • 25. CopyBlob
    • 26. SnapshotBlob
    • 27. LeaseBlob
    • 28. Ассоциация метаданных
    • 29. Наборы пар «имя/значение», до 8 Kb под каждый блоб
    • 30. Устанавливаются как часть операции PutBlobили независимо
    • 31. Доступ к блобам осуществляется по имени
    • 32. Имя может включать / или другие разделители
  • Blob Storage. Разновидности.
    Block Blobs
    Page Blobs
    Идеальны для стриминга
    Каждый блоб состоит из набора блоков. Каждый блок идентифицируется уникальным идентификатором
    Лимит в 200 Гб
    Идеальны для случайного доступа (чтение/запись)
    Каждый блоб состоит из последовательности страниц. Cтраница идентифицируется сдвигом от начала блоба.
    Лимит в 1 Tb
  • 33. Table Storage.Концептуальная схема.
    Entity
    Table
    Account
    Name = …
    Email = ….
    Customers
    Name = …
    EmailAdd = ..
    Test
    PhotoId = ..
    Date = …
    Photos
    PhotoId = …
    Date = …
  • 34. Table Storage.Основные операции.
    • Таблицы
    • 35. Create, Query, Delete
    • 36. Каждая таблица может содержать метаданные
    • 37. Сущности
    • 38. Insert
    • 39. Update
    • 40. Merge – частичное обновление
    • 41. Replace – обновление целой сущности
    • 42. Delete
    • 43. Query
    • 44. Групповые транзакции
    • 45. Множество CRUD операций в одной транзакции
  • Table Storage. Свойства сущностей.
  • 46. Queue Storage. Концептуальная схема.
    Message
    Queue
    Account
    CustomerId
    OrderId
    Jobs
    CustomerId
    OrderId
    Test
  • 47. Слабо связанные сценарии при помощи очередей
    Удобны для сценариев «поставщик-потребитель», позволяя организовывать асинхронную подсистему
    Worker-роль
    Web-роль
    Worker-роль
    Web-роль
    Queue
    Worker-роль
    Web-роль
    Worker-роль
  • 48. Queue Storage. Подробности.
    • Безлимитное количество сообщений
    • 49. 8 Kb – максимальный размер сообщения
    • 50. Допустимые операции:
    • 51. CreateQueue
    • 52. DeleteQueue
    • 53. Get/Set Metadata
    • 54. Clear Messages
    • 55. Допустимые операции над сообщениями:
    • 56. PutMessage
    • 57. GetMessages
    • 58. PeekMessages
    • 59. DeleteMessage
  • DEMO
  • 60. Как попробовать?
    • Для MSDN подписчиков
    • 61. http://msdn.microsoft.com/subscriptions/ee461076.aspx
    • 62. 30 дневная бесплатная подписка
    • 63. http://windowsazurepass.com/?campid=AA2D1C8A-FC44-E011-B3BB-001F29C6FB82
    • 64. Promo Code: CloudCover
    • 65. CPLS, Partners
    • 66. https://partners.microsoft.com/40118760
    • 67. Для всех остальных
    • 68. http://www.microsoft.com/windowsazure/offers
  • ?
    Фещенко Александр
    .NET Team Lead
    http://feschenkoalex.blogspot.com
    Twitter: FeschenkoAlex
    Developer Days 2011, Kharkov