100. Виртуализация вычислительных ресурсов. "Облачные" вычисления
Облачные вычисления (Cloud computing) – вид вычислений, в которых динамически масштабируемые и часто виртуализованные ресурсы предоставляются в виде услуги через сеть (чаще всего сеть Интернета). Под услугой (сервисом) подразумевается способ предоставления ценности заказчику, путем способствования получения заказчиком ценности без специфических вложений (напр. капитальных инвестиций) и рисков.
Сервера вычислений/приложений/хранения из собственных серверных переносятся в облачные. При этом оборудование для cloud используется по большому счету тоже, что уже используется в ЦОД: сервера, устройства хранения, сетевые и даже клиентские (возможно) устройства.
С технической точки зрения – сверху есть приложение в виде поиска/форума, оно через API получает доступ к определенным сервисам хранения/обработки данных, которые реализуются на облачной платформе. Платформа полагается на ряд технологий для реализациии виртуализации/пераллельной обработки и прочее (ниже подробнее).
Облачные вычисления имеют три основных компонента: облачная архитектура, облачные устройства и облачные сервисы:
Облачная архитектура – должна быть высокопроизводительной, надежной, безопасной, масштабируемой scale out (подробнее ниже)
Облачные устройства включают сервера (для обработки данных), СХД (для хранения данных) и сетевые устройства (как связующее звено). Устройства обладают теми же характеристиками, что и архитектура и при этом они должны быть дешевыми per device. Характеристики по устройствам:
сервера с большим количество памяти, высокоскоростная сеть и высокая скорость чтения/записи на диски
поддержка и реализация QoS на устройствах – даем гарантию на вычислительную мощность, сетевые каналы или объем данных по хранению.
устройства хранения поддерживают linked cloning, thin provisioning, snapshot и прочие функции
многопортовые и относительно дешевые коммутаторы, форвардящие трафик на L2 и поддерживающие некостыльный балансинг на L2 типо TRILL (TranspaRent Interconnection of Lots of Links), SPB (Shortest Path Bridging), CEE (Converged Enhanced Ethernet)/DCB (Data Center Bridging), MPLS (MultiProtocol Label Switching) (подробнее ниже)
Облачные сервисы включают платформу облака, используемое для виртуализации физических ресурсов в виртуальные (создание пулов ресурсов), функции диспетчера (scheduling), управления и платформу приложений, на которой хостятся приложения с доступом к ним через API платформы. За этим всем стоит ряд технологий, которые предоставляют Cloud/app платформы: Virtualization technology, Distributed storage, Automation (легкость внедрения и поддержки услуг, как в VPS/VDS через WEB), могут быть так же Application service API, Cloud capability service API, Cluster management, Parallel processing (например, для анализа Big Data).
МОДЕЛИ ОБЛАКОВ
Private cloud (частное облако) – все принадлежит организации. Отличается от обычного ЦОД внутри организации в легкости масштабирования.
Community cloud (групповое облако) – разделение ифраструктуры между несколькими компаниями для решения общих задач. Кейсы: общая безопасность, решение юридических/комплаенс вопросов, доступ к инфраструктуре для подрядчиков/поставщиков, образование, etc
Public cloud (публичное облако) – электронная почта, сервисы по хранению данных, cloud office и прочие сервисы.
Hybrid cloud (гибридное облако) – сочетание частного и публичных облаков.
ВИДЫ CLOUD УСЛУГ
Различают следующие виды cloud услуг/бизнес моделей:
SaaS (software as a service) – ПО как услуга. Мы арендуем CRM, email, games, instant message. Cloud провайдер отвечает за установку/конфигурацию/обновление всех ОС и приложений, которые необходимы для корректной работы софта. Примеры: Microsoft Office 365, Google Drive, Skype, облачная CRM Salesforce, разные облачные АТС, разные WEB хостинги
PaaS (platform as a service) – платформа как услуга. Мы арендуем емкость баз данных, средств разработки (java, .net), приложения разрабатываем/развертываем/обслуживаем сами. Пример: Microsoft Azure
DaaS (data as a service) – аренда пространства хранения
DBaaS (database as a Service) – аренда БД
DaaS (desktop as a service) – аренда десктопа в виде услуги (VDI)
IaaS (infrastructure as a service) – инфраструктура как услуга. Мы арендуем server, storage, network. ОС и приложения разрабатываем/развертываем/обслуживаем сами на основе наших потребностей. Пример: Amazon EC2, VPS/VDS хостинги
BaaS (bare-mated as a service) – реальные сервера как сервис (редкая услуга)
ЧТО ТАКОЕ ВИРТУАЛИЗАЦИЯ
Виртуализация предоставляет ОС разделяемые hardware ресурсы в виде виртуальных пулов (CPU/ОЗУ/HDD/etc), в результате чего ОС становится не привязана к конкретному hardware, а полагается на виртуальные ресурсы. По сути добавляется отдельная прослойка между ОС и аппаратными компонентами в виду уровня виртуализации.
КОМОНЕНТЫ ВИРТУАЛИЗАЦИИ
Система виртуализации состоит из:
Физической машины с hardware (host machine) на которой установлена ОС (host OS)
Виртуальных машин с виртуальным hardware (guest machine) на которой установлена ОС (guest OS)
Гипервизора (hypervisor) или VMM (Virtual Machine Monitor) – ПО, которое позволяет виртуализировать физ. ресурсы host machine для предоставления их guest machine
ВИРТУАЛИЗАЦИЯ HARDWARE
Виртуализация hardware в общем случае подразумевает возможность создания нескольких логических устройств (процессоров, сетевых карт, etc) на основе одного физического – т.е. нет привязки один к одному.
Виртуализация процессора – выделение части ресурсов CPU в пул для VM, причем можно регулировать, сколько ресурсов будет отдано каждой VM. VM взаимодействует с процессором через Virtual Machine Monitor (VMM). VMM (Hypervisor) принимает инструкцию от VM, снимает с нее привилегии (делает как в QoS BE – тут это Ring 3) и ставит ее в очередь к CPU.
Виртуализация памяти (как ОЗУ, так и ПЗУ) – выделение части ресурсов ОП в пул для VM, причем можно регулировать, сколько ресурсов будет отдано каждой VM. Последовательные блоки к которым обращается VM по факту не последовательные в памяти host-машины. VMM (Hypervisor) сохраняет соответствие адресов физ. памяти и виртуальной памяти, которая предоставляется (типо NAT). Дополнительный уровень из-за того, что адресация не может для каждой виртуальной машины начинаться с нуля, потому что существует только один адрес с номером 0. Кроме того нужно разграничивать доступ к памяти разных VM между собой.
Виртуализация GPU (Graphics Processing Unit) реализуется путем создания множества vGPU с отдельным vGPURAM на GPU, который поддерживает такое создание (NVIDIA GRID K1/K2). В результате каждая VM получает прямой доступ к ресурсам GPU, сопоставляя себе vGPU. Такая схема позволяет без проблем запускать на VM графически-требовательные приложения типа 3D игр, AutoCAD, ProE, Catia, из-за поддержки vGPU библиотек/технологий OpenGL, DirectX, DXVA, Aero effects.
Виртуализация сетевой карты
Существует три основных метода виртуализации сетевой карты: 1) Common vNIC – взаимодействие между VM и аппаратной сетевой только через гипервизор (dom0) -> большая нагрузка на CPU. Есть поддержка Live migration/snapshot. 2) VMDq iNIC – частичная виртуализация, своего рода QoS для VM (Virtual Machine Device Queues). В результате использования пакеты с данными передаются напрямую в очередь сетевой карты без участия гипервизора (dom0) -> небольшая нагрузка на CPU. Есть поддержка Live migration/snapshot. 3) SR-IOV – полная виртуализация. Нет поддержки Live migration/snapshot.
Виртуализация I/O периферии – так же как с памятью требует дополнительных прослоек:
для нахождения устройства VM: XenBus (драйвер паравиртуализации Xen) на VM взаимодействует с XenStore на Domain0 (Domain0 – это host машина) для получения информации об устройстве
для обмена: в виде front-end driver (blkfront, на стороне VM) и back-end driver (blkback, на стороне гипервизора) драйверов, взаимодействующих через интерфейс, созданный гипервизором, по протоколу Xen BLKIF. Картинка по работе драйверов blkback <-> blkfront (отсюда).
ВИРТУАЛИЗАЦИЯ ХРАНЕНИЯ
Виртуализация ресурсов хранения (storage virtualization) создает логический уровень хранения поверх физического уровня. В результате ресурсы хранения доступны через логическую прослойку виртуализации. Такая схема значительно упрощает масштабирование, резервирование, управление, увеличивает производительность.
Raw Device + Logical Volume – чистые устройства (SAN или локальные диски примонтированные к хосту) разделяются на блоки в 1GB, используя эти блоки создаются LUN. Плюсы: лучшая производительность R/W из-за простого пути I/O. Минусы: нет поддержки продвинутых фич.
Storage Device Virtualization – виртуализация устройства хранения. С этим типом виртуализации устройства хранения могут предоставить продвинутые фичи типа thin provisioning, snapshot, linked clone. Понравилась пометка: относится только к Huawei Advanced SAN и FusionStorage и в текущий момент не предоставляет много продвинутых фич :D. Плюсы: средняя поддержка продвинутых фич, средняя производительность R/W. Минусы: зависимость от аппаратного устройства.
Host Storage Virtualization + File System – виртуализация ресурсов хоста + файловая система (SAN или локальные диски примонтированные к хосту, хост создает на них файловую систему, VM создаются как файлы в этой ФС). Позволяет хостам управлять файлами на VM через файловую систему. Этот тип виртуализации позволяет предоставлять фичи, независимые от устройства хранения. В текущий момент это очень популярный тип виртуализации. Плюсы: самая хорошая поддержки продвинутых фич независимо от типа аппаратного устройства хранения. Минусы: плохая производительность R/W из-за сложного пути I/O.
ВИРТУАЛИЗАЦИЯ СЕТИ
Основные варианты:
Виртуализация сетевой карты (выше)
Классический стек – из нескольких коммутаторов делается кластер (Cluster Switch System).
Коммутатор гипервизора – гипервизор создает виртуальный коммутатор, который соединяется с физической сетью, предоставляя доступ к сети для VM, базовый пример можно посмотреть в статье VirtualBox.
Виртуализация аппаратных коммутаторов – физический коммутатор разделяется на разные логические коммутаторы внутри с разным управлением (Ericsson SmartEdge 600, Huawei CloudEngine 12800).
- 1. Процессы жизненного цикла систем (на основе гост р исо/мэк 15288).
- 2. Структура и функциональное назначение процессов жизненного цикла программных средств (на основе iso/iec 12207).
- 3. Модель качества и критерии качества программных средств (на основе iso/iec 9126 и iso/iec 25010).
- 4. Оценка зрелости процессов создания и сопровождения программных средств на основе методологии смм и cmmi (на основе iso/1ec 15504).
- 5. Система менеджмента информационной безопасности (на основе серии iso/iec 27000).
- 6. Модели жизненного цикла программного обеспечения. Классические и гибкие модели разработки программного обеспечения.
- 7. Требования к системе менеджмента качества (на основе гост р исо 9001-2015).
- 8. Требования к качеству готового к использованию программного продукта и инструкции по тестированию (на основе гост исо/мэк 25051).
- 9. Процесс оценки качества программного продукта (на основе гост р исо/мэк 25040 и гост р исо/мэк 25041).
- 10. Верификация и валидация программного обеспечения. Процессы менеджмента тестирования. Статическое и динамическое тестирование (на основе гост р 56920 и гост р 56921).
- 11. Программный продукт. Жизненный цикл программного продукта. Модели жизненного цикла программного обеспечения.
- V модель (разработка через тестирование)
- 12. Принципы и процессы сертификации программной продукции.
- 13. Классификация систем управления базами данных.
- 14. Основные этапы проектирования реляционных баз данных.
- 15. Поиск научно-технического информации. Цель, методы и формы представления результатов.
- 16. Научные документы. Виды, назначение и области применения.
- 17. Системный анализ. Цели, задачи, методы.
- 18. Системный анализ. Задачи и область применения вычислительного эксперимента в системном анализе.
- 19. Архитектура вычислительной системы. Определение, виды, условия выбора.
- 20. Архитектура «клиент – сервер». Определение, области применения, требования к программным средствам, рассчитанным на функционирование в архитектуре «клиент – сервер».
- 21. Открытая вычислительная система. Определение, области применения, модель взаимодействия открытых систем.
- 22.Стандартизация сетевых технологий. Сетевая модель osi.
- 23.Понятие протокола и стека протоколов. Сетевая модель и стек протоколов tcp/ip.
- 24.Понятие инкапсуляции и декапсуляции. Протокольные блоки данных (pdu).
- 25.Физические среды передачи данных.
- 26.Концепции беспроводных сетей.
- 27.Сетевой коммутатор. Сети на основе коммутаторов.
- 28.Виртуальные локальные сети. Протоколы ieee 802.1q и vtp.
- 30.Преобразование и трансляция сетевых адресов (arp и nat).
- 31. Понятие маршрутизации. Назначение, виды и принципы маршрутизации.
- 32. Статическая и адаптивная маршрутизация. Протоколы маршрутизации.
- 33. Протоколы транспортного уровня (tcp и udp).
- 34. Система доменных имен (dns). Назначение и принцип работы.
- 35. Прикладные службы tcp/ip. Протоколы http и https.
- 36. Понятие защиты информации. Основные характеристики защищаемой информации.
- 37. Понятие угрозы безопасности информации. Основные виды угроз.
- 38. Каналы утечки конфиденциальной информации.
- 39. Сущность системно-концептуального подхода к защите информации в компьютерных системах.
- 40. Сущность организационной защиты информации.
- 41. Правовое обеспечение информационной безопасности.
- 42. Средства информационно-технической защиты информации.
- 43. Программные средства защиты информации. Их достоинства и недостатки.
- 44. Требования к комплексным системам защиты информации.
- 45. Способы несанкционированного доступа к информации в компьютерных системах.
- 46. Способы аутентификации пользователей в компьютерных системах. Их достоинства и недостатки.
- 47. Искусственный интеллект. Определение, назначение, области применения.
- 48. Методы оценки размера программного обеспечения при управлении программными проектами.
- 49. Методы оценки трудозатрат, длительности и стоимости выполнения программного проекта.
- 50. Методы кодирования текстовой, графической и звуковой информации в эвм. Аналоговые, дискретные и цифровые сигналы.
- Разделы цос
- 51. История создания, принципы работы и основные сервисы сети Интернет.
- 52. Представление данных в эвм. Единицы измерения информации. Двоичные приставки по гост 8.417-2002 и iec 80000-13.
- 53. Принципы и архитектура фон Неймана.
- 54. Порядок обработки команд микропроцессором. Прерывания. Типы прерываний.
- 55. Поколения эвм, основные особенности.
- 56. Классификация запоминающих устройств в эвм. Современные реализации запоминающих устройств.
- 57. Алгебра логики. Основные законы алгебры логики. Применение алгебры логики в информатике.
- 58. Понятие алгоритма. Методы оценки алгоритмической сложности.
- 59. Понятие системы. Системный анализ. Применение системного анализа в информатике.
- 60. Теория формальных грамматик. Основные понятия и положения. Применение в информатике.
- 61. Теория вероятностей. Основные понятия и положения. Применение в информатике.
- 62. Математические методы оптимизации и их применение в информатике.
- 63. Понятие компьютерного моделирования. Вычислительный эксперимент.
- 64. Структурное программирование. Понятия и принципы.
- 65. Объектно-ориентированное программирование. Понятия и принципы.
- 66. Декларативные языки программирования и их сфера применения.
- 67. Событийно-ориентированное программирование.
- 68. Многопоточное программирование. Процесс и поток выполнения. Средства синхронизации потоков.
- 69. Основные алгоритмы и структуры данных применяемые в вычислительных системах.
- 70. Приёмы (шаблоны) объектно-ориентированного проектирования.
- 71. Теория графов. Основные понятия. Решаемые задачи.
- 72. Средства моделирования при разработке программного обеспечения.
- 73. Инструментальные средства разработки программного обеспечения.
- 74. Методологии разработки программного обеспечения. Классификация. Особенности применения.
- 75. Программные средства для организации совместной разработки программного обеспечения.
- 76. Программный продукт. Жизненный цикл программного продукта.
- 77. Отличие объектно-ориентированного программирования от процедурного.
- 78. Инкапсуляция как парадигма объектно-ориентированного программирования. Примеры использования.
- 79. Наследование как парадигма объектно-ориентированного программирования. Примеры использования.
- 80. Полиморфизм как парадигма объектно-ориентированного программирования. Примеры использования.
- 81. Принципы и архитектура эвм фон Неймана.
- 82. Архитектура вычислительных систем. Таксономия Флинна.
- 83. Методы повышения производительности микропроцессоров. Конвейеризация и суперскалярность. Hyper-threading.
- 84. Oltp и olap системы. Отличия Data Mining от других методов анализа данных.
- 85. Однородные линейные динамические системы, их решение с помощью характеристического уравнения.
- 86. Однородные линейные динамические системы, их решение с помощью операционным методом.
- 87. Точки покоя линейных динамических систем. Типы точек покоя для линейной динамической системы второго порядка.
- 88. Устойчивость решений линейных динамических систем. Условие устойчивости решений.
- 89. Равномерное распределение случайной величины.
- 90. Показательное распределение случайной величины.
- 91. Нормальное распределение случайной величины.
- 92. Понятие вариации. Необходимое условие существования экстремума функционала.
- 93. Уравнение Эйлера – Лагранжа для исследования функционала на экстремум.
- 94. Постановка задачи линейного программирования и основные методы решения.
- 95. Постановка задачи целочисленного линейного программирования и основные методы решения.
- 96. Бизнес-процесс. Средства анализа и моделирования. Автоматизация бизнес- процессов.
- 97. Архитектура вычислительной системы, разновидности.
- 98. Аппаратное обеспечение вычислительных систем.
- 99. Архитектура вычислительной сети
- 100. Виртуализация вычислительных ресурсов. "Облачные" вычисления
- 101. Способы реализации человеко-машинного взаимодействия.
- 102. Принципы защиты информации в информационных системах и телекоммуникационных сетях.
- 1.Правовые принципы защиты данных
- 2. Организационные принципы защиты данных
- 3. Принципы защиты информации от тср (технические средства разведки)
- 103. Операционная система. Понятие и основные задачи. Классификация операционных систем.
- 1) По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:
- 3) По разделяемому процессорному времени (Только для многозадачных ос).
- 5) По поддержке многонитевости систем:
- 104. Файловая система, принципы построения и основные функции.
- 105. Понятие машинного обучения и искусственного интеллекта. Решаемые задачи.
- 106. Центр обработки данных. Ключевые характеристики цод. Управление цод.
- 110. Виртуализация. Виртуальные ресурсы. Характеристики облачных вычислений.
- 2. Кластеризация компьютеров и распределенные вычисления.
- 3. Разделение ресурсов.
- 4. Инкапсуляция.
- 111. Облачные услуги и модели развертывания. Инфраструктура облачных вычислений.
- 112. Сетевые операционные системы. Сетевые службы и сетевые сервисы. Одноранговые и серверные сетевые ос. Домен.
- 113. Генетические алгоритмы. Основные понятия, принципы и предпосылки генетических алгоритмов. Достоинства и недостатки генетических алгоритмов.
- 114. Методы сжатия графической информации. Области применения различных методов.
- 115. Методы сжатия звуковой информации. Области применения различных методов.
- 116. Понятие виртуальной и дополненной реальности. Средства реализации.
- 117. Компьютерная графика. Различные методы и технологии реализации.
- 118. Системы управления базами данных, разновидности.
- 1) Файл-серверные:
- 2) Клиент-серверные:
- 3) Встраиваемые:
- 119. Принципы построения реляционных баз данных. Нормализация данных.
- 120. Распределенные базы данных. Принципы построения и решаемые задачи.
- 121. Понятие открытой вычислительной системы. Классификация. Принципы построения.
- 122. Методы анализа информационных систем.
- 123. Средства мониторинга сетевого трафика.
- 124. Метод Монте-Карло. Принципы построения моделей для анализа эффективности информационных систем (основа построения, достоинства и недостатки).
- 125. Методы управления сетью: коммутация каналов, коммутация пакетов.
- 126. Методы балансировки трафика
- 127. Локальные вычислительные сети (топология, методы доступа)
- 128. Методы повышения достоверности при передаче информации
- 129. Понятие качества обслуживания в компьютерных сетях. Средства обеспечения качества обслуживания.
- 130. Назначение и принцип работы интернет сети
- 131. Основные протоколы сети Интернет, их назначение.
- 132. Автоматизированные информационные системы.
- 133. «Облачные вычисления». Определение, назначение, особенности, области применения.
- 134. Встроенная (встраиваемая) вычислительная система. Определение, назначение, виды, области применения.
- 135. Техническое задание на программное средство. Назначение, роль в жизненном цикле, общая структура.
- 136. Системы автоматизированного проектирования (сапр).
- 137. Экспертные системы. Задачи и область применения.
- 138. Автоматизированные системы обработки информации и управления. Понятие, сферы применения.
- 139. Теория массового обслуживания. Основные принципы. Применение в информатике (основные модели и критерии оценки эффективности).
- 140. Информационные технологии в науке и образовании.
- 141. Прикладное программное обеспечение сетевых технологий (Сетевые операционные системы. Сетевые пакеты прикладных программ).
- 142. Принципы построения распределенных информационных систем. Промежуточное программное обеспечение для обработки сообщений.
- 143. Сервисно-ориентированная архитектура распределенных приложений. Основные протоколы.
- 144. Корпоративные информационные системы (класс erp). Разновидности. Решаемые задачи.
- 145. Новые информационно коммуникационных технологий как база становления информационного общества.
- 146. Модели жизненного цикла программного обеспечения.
- V модель (разработка через тестирование)
- 147. Основные принципы структурного анализа систем.
- 148. Консалтинг в области информационных технологий.
- 149. Методика проведения обследования объектов автоматизации.
- 150. Методы построения и анализа моделей деятельности предприятия.
- 151. Структурно-функциональные модели (sadt).
- 152. Модели потоков данных (dfd).
- 153. Модели «сущность-связь» (erd).
- 154. Нормализация модели данных.
- 155. Объектно-ориентированный язык визуального моделирования uml.
- 156. Методология rup: назначение и основные характеристики.
- 157. Диаграммы вариантов использования (use-cases diagram).
- 158. Диаграммы классов (class diagram). Основные объекты диаграммы.
- 159. Диаграммы деятельности (activity diagram). Основные объекты диаграммы.
- 160. Диаграммы последовательности (sequence diagram).
- Линия жизни (Life Line)
- Активация, фрагмент выполнения (Activation Bar, Execution Occurances)
- Сообщение, Стимул (Message, Stimulus)