Azure: Web App 构建网站或API,适合单体式应用

简介

使用Web App服务,用户只需要上传代码到Web App里面,不需要管理底层的操作系统,就可以很轻松地部署一个网站。Web App更加专注于网站或API,适合单体应用,如果要部署比较复杂的应用的话,应该将其微服务化,使用AKS或Service Fabric微服务平台。Web App最终在虚拟机上运行,当你创建app service plan(实际是一个WEB集群)的时候,即指定了虚拟机的物理资源(比如CPU,内存),如果用户使用到app service plan的基本版及以上版本的话,app service plan里的虚拟机都是独享,用户需要为它付费,但用户无法接触到虚拟机。

  • Web App 是没有防火墙的的,它只开通了http80、https443端口,以及ftp(s)地址。
  • 我们在使用Web App的时候,是无法接触到虚拟机的,我们只能接触到部署服务器,即只是一个FTP的地址。所有的代码会部署到WEB集群里面,但真正的代码是保存在文件服务器里面的,使用云存储的方式做冗余;只需要上传一份代码到部署服务器,由多个计算结点来访问一个文件服务器来实现横向扩展。
  • 多个APP可以在一个app service plan里面,这些APP共享一个app service plan里面的物理资源,比如CPU,内存。
  • app service plan 创建了就会收费,不管里面是否有网站。
  • Web App架构中,Web App中有两层负载均衡器,Azure Load Balancer是一个四层的负载均衡器,基于原IP和原端口号;第二部分有一个IIS ARR的七层的负载均衡器,Web app天然支持七层Load Balancer,所以它能做会话的保持;

We App概念-应用服务计划

应用服务计划:托管应用服务的物理资源集合,相当于Web 应用集群。

Web App限制

  • 单个Web App实例最大计算单元是4Core/7GB

  • Azure Web Apps支持最大的横向扩展20个节点

  • 只支持开放80端口和443端口

通过Portal创建一个Web App

创建的过程相对简单,这里就不截图了,下面是创建成功的截图。

直接访问上面的网址,就可以访问到它默认的网站内容了。

部署方式

点击上面的Deployment Center, 会发现里面有很多种部署方式(包括github,Azure Repos, GIT,FTP等)。

(1)FTP部署

点击FTP后,它要求你输入密码,然后在你在上图的右侧找到FTP地址和用户名,就可以找开FTP的文件夹了,把编译过后的代码放在里面的/site/wwwroot/文件夹下就可以运行起来了。下面是编辑过后的代码。

下图是可以正常访问的网址

 

(2) Visual Studio部署

通过Visual Studio可以实现增量部署,它比上面的FTP全量部署好得多,可在第一图中的overview中,点击get publish profile 下载这个profile文件,然后部署的时候导入些文件,直接进行部署,这里就不演示了。

(3) GitHub部署

使用它可以实现DevOps,依然很简单这里就不再演示了。

部署槽(Delopyment slots)

使用部署槽,可以让你的应用程序在stage环境和prod环境,快速的切换,减少生产环境的downtime。假如你有一个新版本v2要发布,先放在stage槽里测试,通过后,可以快速地将它与prod环境的版本v1切换,将v2部署到 prod环境,之前在prod环境的 版本v1就切换到stage槽了。如果你发现新版本v2上线后有BUG,也可以切换回来,还原来的版本v1到prod环境。

应用程序设置讲解(Application settings)

Managed service identity

备份(Backups)

自定义域名(Custom domains)

证书绑定(SSL settings)

Scale up(纵像扩展)

Scale out(水平扩展)

WebJobs

跨域(CORS)

参考代码及链接

博主生活艰难,支付宝扫如下二维码救助,十块八块都行。

猜你喜欢

转载自blog.csdn.net/wucong60/article/details/83894809