Распределенное программирование в облаке

Начальный уровень
Средний уровень
Разработка
Учащийся
Azure

Узнайте, как создавать архитектуры сложных компьютерных программ для облака с помощью распределенного программирования.

Содержание этой схемы обучения:

  • Классификация программ как последовательных, параллельных и распределенных
  • Указание того, почему программисты обычно выполняют параллелизацию последовательных программ
  • Определение моделей распределенного программирования
  • Обсуждение проблем с масштабируемостью, взаимодействием, разнородностью, синхронизацией, отказоустойчивостью и планированием, которые возникают при создании облачных программ
  • Определение разнородных и однородных облаков и определение основных причин разнородности в облаке
  • Перечисление основных трудностей, связанных с разнородностью распределенных программ, а также описание некоторых стратегий решения таких проблем
  • Пояснения к необходимости синхронизации в облаке
  • Определение основного метода, который можно использовать для допуска ошибок в облаках
  • Описание разницы между планированием задач и планированием заданий
  • Пояснения относительно того, как разнородность и размещение могут повлиять на планировщики задач

В партнерстве с доктором Маджд Сакр и Университетом Карнеги Меллон.

Предварительные требования

  • Понимание темы облачных вычислений, в том числе знакомство с моделями и некоторыми поставщиками облачных служб.
  • Знание технологий, лежащих в основе облачных вычислений.
  • Представление о том, как поставщики облачных служб управляют оплатой и выставлением счетов за использование облака.
  • Знание понятия центров обработки данных и их назначения.
  • Знания в области настройки, поддержки и подготовки центров обработки данных.
  • Представление о том, как подготавливаются и измеряются облачные ресурсы.
  • Знакомство с понятием виртуализации.
  • Знание различных типов виртуализации.
  • Представление о виртуализации ЦП.
  • Представление о виртуализации памяти.
  • Представление о виртуализации ввода-вывода.
  • Знания различных типов данных и об их хранении
  • Знакомство с распределенными файловыми системами и принципами их работы.
  • Знакомство с базами данных NoSQL и хранилищем объектов, а также с принципами их работы

Модули, включенные в эту схему обучения

Узнайте о распределенном программировании и его преимуществах для облачной разработки, включая модели программирования, типы параллелизма и возможности симметричной и асимметричной архитектуры.

MapReduce стал прорывом в обработке больших данных, набрал большую популярность и был значительно улучшен. Узнайте, как работает MapReduce.

GraphLab — это инструмент обработки больших данных, разработанный в Университете Карнеги — Меллона для интеллектуального анализа данных. Узнайте, как работает GraphLab, и в чем заключаются преимущества этого инструмента.

Spark — это платформа кластерных вычислений с открытым исходным кодом и преимуществами MapReduce. Узнайте, как работает Spark.

С увеличением объема доступных данных выросло и количество непрерывных потоков данных в режиме реального времени, которые требуют обработки. Узнайте о различных системах и методах применения и обработки потоков данных в режиме реального времени.

Эти модули и схема обучения доступны в соответствии с международной лицензией Creative Commons Attribution-NonCommercial-ShareAlike.