一般,我们开发Web应用程序的时候,都需要IT运维人员准备Windows OS或Linux OS的Web Server,安装相应的Web组件,比如IIS, Tomcat等等。然后开发人员把相应的代码部署到Web Server上并进行配置。
对于IT运维人员来说,Web Server是IaaS,IT运维人员需要维护Web Server的操作系统等内容。而对于开发人员来说,Web Server是PaaS,开发人员只需要维护Web Application即可。运维人员关心操作系统OS层面的东西,开发人员关系自己的代码是否有bug即可。
那么,Azure Web Apps是什么呢,Azure Web App提供了一个PaaS服务。只需开发人员把开发的代码直接部署到Azure Web Apps,无需操作系统层面的管理,直接降低了管理的成本。实现了,我们现在说的去操作系统化,或者无操作系统层。
首先,需要注意的是:Azure Web Apps支持的开发语言包括:.NET, Java, PHP,Python
基本涵盖所有主流开发语言。
其次,Azure Web App能用来干啥呢?
它提供四种等级的服务,当然每个等级的收费也是不同的:
- 1. 免费(Free)
(1) 客户的计算资源是和其他用户共享的
(2) 每天仅有60分钟的CPU计算时间
(3) 最多能使用的存储大小为1GB
(4) 不支持横向扩展功能
(5) 没有SLA保障的
- 2. 共享(Shared)
(1) 客户的计算资源是和其他用户共享的
(2) 最多能使用的存储大小为1GB
(3) 每天仅有240分钟的CPU计算时间
(4) 支持横向扩展功能,且横向支持最多6个共享实例
(5) 没有SLA保障的
- 3. 基本(Basic)
(1) 客户的计算资源是独享的
(2) 可以创建无限多个类型为Basic的Azure Web Apps
(3) 最多能使用的存储大小为10GB
(4) 支持横向扩展功能,且横向支持最多3个独享的实例
(5) 支持99.9%的SLA
- 4. 标准(Standard)
(1) 客户的计算资源是独享的
(2) 可以创建无限多个类型为Standard的Azure Web Apps
(3) 最多能使用的存储大小为50GB
(4) 支持横向扩展功能,且横向支持最多10个独享的实例
(5) 支持99.9%的SLA
基于以上对Azure Web App的了解,那么它的劣势在哪呢?
- 1. 单个Web Apps实例大小
单个Azure Web Apps实例最大为Large,配置是4Core/7GB。如果读者开发的Web Application,单个实例需要运行的最小计算单元大于4Core/7GB,则这个Web Application不适合部署在Azure Web AppsPaaS平台。
- 2. 横向扩展能力
在Standard模式下,Azure Web Apps支持横向扩展功能,且横向支持最多10个独享的实例
- 3. 不支持安装软件
因为无法通过Windows Remote Desktop或者Linux SSH管理Azure Web Apps的操作系统,所以Azure Web Apps不支持自定义安装软件
- 4. 不支持Azure Virtual Network虚拟网络
在国内由世纪互联运维的Azure China,Azure Web Apps目前不支持加入到Virtual Network虚拟网络中,所以访问加入到Virtual Network的Azure VM虚拟机,必须通过Azure VM的公网IP或者DNS访问。为了保证安全性,还建议结合Access ControlList(ACL)设置一起使用。