
_START_ARTICLE_
Microsoft Azure
_START_SECTION_
基础建设
_START_PARAGRAPH_
Microsoft Azure是专为在微软建设的数据中心管理所有服务器，网络以及存储资源所开发的一种特殊版本Windows Server操作系统，它具有针对数据中心架构的自我管理（autonomous）机能，可以自动监控划分在数据中心数个不同的分区（微软将这些分区称为Fault Domain）的所有服务器与存储资源，自动更新补丁，自动运行虚拟机部署与镜像备份（Snapshot Backup）等能力，Microsoft Azure被安装在数据中心的所有服务器中，并且定时和中控软件Microsoft Azure Fabric Controller进行沟通，接收指令以及回传运行状态数据等等，系统管理人员只要透过Microsoft Azure Fabric Controller就能够掌握所有服务器的运行状态，Fabric Controller本身是融合了很多微软系统管理技术的总成，包含对虚拟机的管理（System Center Virtual Machine Manager），对作业环境的管理（System Center Operation Manager），以及对软件部署的管理（System Center Configuration Manager）等，在Fabric Controller中被发挥得淋漓尽致，如此才能够达成透过Fabric Controller来管理在数据中心中所有服务器的能力。_NEWLINE_Microsoft Azure环境除了各式不同的虚拟机外，它也为应用程序打造了分布式的巨量存储环境（Distributed Mass Storage），也就是Azure Storage，应用程序可以根据不同的存储需求来选择要使用哪一种或哪几种存储的方式，以保存应用程序的数据，而微软也尽可能的提供应用程序的兼容性工具或接口，以降低应用程序移转到Microsoft Azure上的负担。_NEWLINE_Microsoft Azure不但是开发给外部的云应用程序使用的，它也作为微软许多云服务的基础平台。
_START_SECTION_
Fabric Controller
_START_PARAGRAPH_
Fabric Controller 是管理微软数据中心的Azure 计算资源的中控管理系统，扮演心脏的角色，它负责自动化的管理数据中心内所有的实体服务器，包含由用户要求的Azure Guest OS 的部署工作，定时的Hotfix修补，机器状态回报，以及管理不同版本的VM部署影像的复制等重要核心工作，Fabric Controller 本身也具有高可用性，并且有一个管理Fabric Controller 的子系统（称为"Utility" Fabric Controller）来管理与监控Fabric Controller 的运作。_NEWLINE_Fabric Controller也处理虚拟机的健康管理（Health Management）工作，当Windows Azure Guest OS发生死机时，会由Fabric Controller自动选择不同的实体机器重新部署与引导。当应用程序提交即地更新（In-place upgrade）时，Fabric Controller也负责即地更新的协调工作，以保持应用程序在更新时仍可保持SLA所承诺的服务水准。
_START_SECTION_
RDFE
_START_PARAGRAPH_
RDFE (Red Dog's Front-End) 是 Azure 的前端接口，负责接取来自任何访问Azure 的应用程序的命令，它是一组可控制与管理Azure 服务的REST APIs，对外接受应用程序的要求并回应，对内则是扮演大脑的角色，Azure 资源的配置策略与方式均是由RDFE 所进行，包含虚拟机的Fault Domain (失效域) 与 Upgrade Domain (更新域) 的配置与计算都是由RDFE 处理。
_START_SECTION_
管理模式
_START_PARAGRAPH_
Microsoft Azure 早期开发时，使用的是以服务为主体的管理方式，称为服务管理模式(Azure Service Management, ASM)，其管理观点是依服务来区分，这个模式在当前的Azure Portal (2012年发布的管理接口) 以及 Azure PowerShell、Azure CLI 等都支持，也是 RDFE 一开始就支持的API，服务管理的好处是以服务为主体，其管理方式环绕着服务，在小型应用(使用的资源种类很少时) 相当方便，但当服务愈来愈多种，应用也愈来愈大(横跨多种服务的应用) 时，这样的方法反而会导致管理上的不便。_NEWLINE_为了改良服务管理模式的缺点，微软在2014 年提出了资源管理(Azure Resource Management, ARM) 的新模式，其管理观点是依资源来区分，应用程序的资源可组织在同一个或不同的组群，管理人员可以利用资源组群(Resource Group) 来组织资源以及使用资源的服务(例如虚拟机会使用到网卡、网络安全组群、公开IP、负载平衡器与虚拟网络等资源)。资源管理模式适当中大型的应用，但小型应用也同样适合。资源管理模式由Azure Ibiza Portal (2015年公开服务的新管理接口)、Azure PowerShell v1.0 起、Azure CLI v1.0 起适用。资源管理模式同时也引入了资源范本(Resource Template) 的概念，允许管理人员一次部署多种或大量服务与资源，微软也提供了Azure Quickstart Template 供入门的系统管理人员使用。
_START_SECTION_
服务
_START_PARAGRAPH_
Microsoft Azure 现已包含30 余种服务，以及数百项功能，针对云以及物联网与大数据等所需要的各类型服务提供。
_START_SECTION_
应用服务
_START_PARAGRAPH_
Microsoft Azure 为了要有效降低将应用程序移植到云所需的负担，微软在2012 年度的Spring Release 中首次发布了Azure Website 服务，支持 .NET 以及像PHP、Java、Python、Ruby、node.js 等非微软平台，成功吸引开发网站的Web 开发人员以及企业将其网站移转到Azure，Azure Website 为 Virtual Machine 以外最受欢迎的PaaS 服务。同年底，微软也发布了为移动应用程序(Mobile App) 提供后台支持的Mobile Service，以简单的管理机制与充份的SDK 支持吸引移动应用开发人员使用，这两个服务在2015 年时合并为Azure App Service，并加入了发展RESTful API 应用的API App 以及以可视化设置运行流程控制的Logic App。_NEWLINE_为了要支持大型应用程序的发展，微软在Azure 发布初期就提供了AppFabric 服务，包含 Access Control Service 以及 Service Bus 功能，Access Control Service 负责统一账户管理机制，后期也引入了Social Identity 的功能，可与Facebook, Google 等社群链接并共享其账户；Service Bus 则是提供了消息转送(Message Relay)、队列 (Queue) 与主题订阅(Topics) 的功能，随后也加入了Notification Hub 以支持对移动设备平台的消息发送功能。
_START_SECTION_
存储服务
_START_PARAGRAPH_
存储数据是一个平台服务最基本的要求，Azure 在开发初期就提供了基本的存储(Azure Storage) 与关系数据库(SQL Azure)，存储服务提供了Blob、Table 和 Queue 分别管理非结构化数据、结构化数据与消息通信，2014年新增File 服务，以支持在云虚拟机间的快速数据共享。_NEWLINE_数据库服务SQL Azure 为 SQL Server as a Service，提供大部分在地端的SQL Server 数据库的能力，2013 年微软将SQL Azure 正名为Azure SQL Database，以提升品牌识别度，2014 年新增依交易量计费的DTU 模式，以及新一代数据库引擎V12，强化数据库的功能与效率，2015 年更提出了许多数据库的企业级应用，如 Elastic Pooling、SQL Data Warehouse 与和SQL Server 2016 配合的SQL Database Strerch Database 功能，使 SQL Database 更适合企业的应用。2017 年将Database as a Service 扩大支持MySQL 与 PostgreSQL 等数据库系统，2018 年新增依虚拟核心数计费的vCore 模式，让用户更容易对应在原本服务器环境的硬件规格。_NEWLINE_Azure Search 是微软为提升云数据检索的功能而于2014 年提供，搭配 Azure DocumentDB 实现出的数据检索服务。_NEWLINE_Azure Redis Cache 为微软基于Redis 开源项目所发展的分布式缓存服务，用以取代2011 年的Azure Shared Cache 以及 2012 年提出的Azure Role-based Cache 服务，由于 Redis Cache 适用于许多平台与框架，使得 Azure Redis Cache 更容易被大众接受以作为分布式缓存基础建设。_NEWLINE_Azure Cosmos DB 是微软于Build 2017 所宣布的新型NoSQL 数据库服务，可同时支持键值对(Key-Value)、文件 (Document)、Column Family 与图形(Graph) 等数据结构，并同时支持Azure Table API, Mongo API, Cassandra API, DocumentDB SQL 与 Graph API 等不同的访问方式。
_START_SECTION_
网络服务
_START_PARAGRAPH_
网络服务是Microsoft Azure 对外通信与内部各类服务之间的数据通信基础建设，也是 Azure IaaS 的重要成员之一。_NEWLINE_Azure 虚拟网络可允许组织或企业在云建置自己的网络基础建设，包含子网、IP配置、负载平衡器与网络安全原则等，同时可以建置VPN 以串连企业网络与其他区域的虚拟网络，也可以利用P2S VPN 串接个人客户端与虚拟网络。_NEWLINE_为了要加速网络速度、隔离用户与Internet 网络环境，Azure 提供 ExpressRoute 给用户以支持专属性(Dedicated) 的 Azure 数据中心间通信。_NEWLINE_对于具全球性的大型服务，Azure Traffic Manager 可协助发展大规模的负载平衡解决方案，将用户导向到全球各地离其最近的数据中心，并且也可支持跨区域性的备援重导向。
_START_SECTION_
身份识别与访问管理服务
_START_PARAGRAPH_
Azure AD (Active Directory) 是 Microsoft Azure 上主要的身份识别与访问服务，是基于HTTP 之业界标准OAUTH 2.0 与 OpendID 协议的云身份验证服务，由于传统使用LDAP/Kerberos 验证协议的Windows Server Active Directory 不易用于互联网与移动设备环境上身份验证，因此微软提供Azure AD Connect 服务以处理Windows Server Active Directory <-> Azure Active Directory 的账户同步功能。Azure AD 也提供了多重要素验证 (Multi-Factor Authentication) 能力以支持需要多重方法验证的应用，Azure AD 的应用程序链接功能则提供了软件服务(SaaS) 集成所需的身份验证能力。_NEWLINE_Azure AD 提供 Azure AD B2C 服务让应用程序可以利用多种互联网上常用之身份验证机制(例如 Microsoft Account，Google ID ，Facebook ID 等) 来进行进行身份验证，也提供Azure AD 网域服务以减少企业在云Azure 环境内部署Windows Server AD 网域控制站成本。
_START_SECTION_
开发人员服务
_START_PARAGRAPH_
为支持Web App 与行动App 的记录、用户行为追踪与网络监控等需求，Azure 提供 Application Insights 可供开发人员实现所需的记录功能，Application Insights 也可作为协助监控网站存活的辅助服务。_NEWLINE_Azure DevOps 提供云的版本控制、自动化建造、自动化测试与部署等软件工程流程服务。_NEWLINE_Azure App Center 可协助处理行动App 内的用户回报，包含死机回报与用户意见反馈等。
_START_SECTION_
法规与规范认证
_START_PARAGRAPH_
Microsoft Azure 当前已经通过包含政府机构与产业标准数十项法规与规范的认证，以允许政府机关使用Microsoft Azure，或是认可Microsoft Azure 在信息安全上的努力。