【转】一键将Web应用发布到云-Azure Web App!

我们现在越来越多的传统应用,逐步向云端迁移,原先私有云的部署模式,逐步向云端PaaS IaaS转变。例如:

我们在云端Azure中申请VM虚拟机,将我们的Web应用部署到VM的IIS中,同时做云服务的高可用性集和NLB,实现Web应用的负载均衡和高可用性。

上面这是一种常见的云端部署模式(IaaS模式),我们需要不断运维这个VM、Web应用。有没有一种更简单的方式,一键将我们开发的Web应用直接发布到云上,自动实现负载均衡和高可用性。

答案是Azure的应用服务。

Azure 应用服务是一种全新独特的的云服务,使开发人员能够创建适用于任何平台和任何设备的 Web 应用和移动应用。 应用服务是一个集成的解决方案,简化重复编码工作、与企业和 SaaS 系统集成并自动执行业务流程,同时满足安全性、可靠性和可伸缩性的需要。

Azure的应用服务托管一下类型的应用:

  • Web 应用
  • 移动应用
  • API应用
  • Logic Apps

今天,我们重点研究Web应用,英文就是Web App。

Azure应用服务的 Web 应用 是一个完全托管的计算平台,适合用来托管网站和 Web 应用程序。

都支持哪些类型的Web 应用:.NET、Node.js、PHP、Python 和 Java实现的标准的Web应用和API。

Web应用有哪些功能:

  • 多种语言和框架 — 应用服务为 ASP.NET、Node.js、Java、PHP 和 Python 提供一流支持。 也可以在应用服务 VM 上运行 PowerShell 和其他脚本或可执行文件 。
  • DevOps 优化 — 使用 Visual Studio Team Services、GitHub 或 BitBucket 设置 持续集成和部署 。 通过 测试和过渡环境提升更新。 执行 A/B 测试。 在应用服务中,利用 Azure PowerShell 或跨平台命令行接口 (CLI) 来管理应用。
  • 具有高可用性的全局缩放 - 以手动或自动方式进行增大或扩大。 在 Microsoft 全球数据中心基础结构中的任意位置托管应用,并且应用服务 SLA 承诺高可用性
  • 到 SaaS 平台和本地数据的连接 - 从适用于企业系统(例如 SAP、Siebel 和 Oracle)的 50 多个 连接器 、SaaS 服务(例如 Salesforce 和 Office 365)以及 Internet 服务(例如 Facebook 和 Twitter)中进行选择。 使用混合连接和 Azure 虚拟网络访问本地数据。
  • 安全性和合规性 - 应用服务符合 ISO、SOC 和 PCI的要求。
  • 应用程序模板 - 从 Azure 应用商店 的大量应用程序模板列表中进行选择,使用向导安装流行的开源软件,例如 WordPress、Joomla 和 Drupal。
  • Visual Studio 集成 — Visual Studio 中的专用工具可简化创建、部署和调试工作。

 话不多说,直接show case...

1. 创建一个示例的MVC站点:FirstAzureWebApp

 

选择MVC项目模板,身份认证选择:不认证:No Authentication

新建完成后,Debug 浏览,看到熟悉的ASP.NET示例界面

 

2.  在Azure Portal中创建WebApp资源组,用于"存放" ASP.NET MVC站点

下载发布配置文件配置到指定的本机位置,这个发布配置文件主要用于一键将ASP.NET 站点发布到Azure时的身份认证

 

3. 一键将ASP.NET MVC 站点Publish到Azure

选择Import 导入,这里导入的是上一步骤中下载的发布配置文件

验证连通性,是可以联通的,说明可以连接到Azure中,直接Publish,即可。

看输出:Web App was published successfullu http://teld***.chinacloudsites.cn

此时,Edge自动弹出了:熟悉的ASP.NET 示例界面

很简单,微软的Azure还是非常方便快捷的,一键将ASP.NET MVC 站点发布到云端Azure上。

然后,我们继续,来点干货的。

我们将我们的应用发布到云端Azure后,如何配置管理,比如说:

.Net 版本、Php版本、Java版本、SSL、MIME、域名绑定、AppSettings、数据库连接串、主页等等。

放心,这些Azure全部提供:

 

周国庆

2017/7/6

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/437559.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

jvm详解、GC、堆内存参数调优

一些常见面试题: JVM的位置(运行在操作系统上,与硬件没有直接的交互) 一、jvm体系结构(记住背下来) 运行时数据区:有亮色的有灰色的,灰色的就是占得内存非常小,几乎不存…

【转】!Dynamics 365 Online通过OAuth 2 Client Credential授权(Server-to-Server Authentication)后调用Web API

微软动态CRM专家罗勇 ,回复332或者20190505可方便获取本文,同时可以在第一间得到我发布的最新博文信息,follow me! 本文很多内容来自 John Towgood 撰写的Dynamics 365 Online Authenticate with Client Credentials &#xff0c…

JMM(java内存模型)

这篇文章写得挺好的:https://blog.csdn.net/javazejian/article/details/72772461 在多线程环境下,线程之间的要通信,就不得不提JMM(java内存模型) 在JVM内部使用的java内存模型(JMM)将线程堆栈和堆之间的内存分开 jmm的承诺: 1.原子性 2.可…

【转】Postman 生成接口文档

引言 几个朋友想做一个前后端分离的项目,接口文档的重要性那是不言而喻的。生成接口文档的方法真的太多了,Yapi、Swagger等等。但是想公网上访问接口文档并修改的话,还得购买服务器,部署上去。穷码农,哪有钱购买服务器…

JVM的进阶学习(GC Roots、JVM调优与参数配置、)

1. GC Roots,可达性分析 从GC roots的对象作为起始点,从GC Roots对象开始向下搜索,如果一个对象到GCRoots没有任何引用链相连,则说明对象不可用。即给定一个集合的引用作为根出发,通过引用关系遍历对象图,能…

【转】图解phpstorm常用快捷键

转载自 https://segmentfault.com/a/1190000004225643 查询快捷键 CTRLN 查找类 CTRLSHIFTN 全局搜索文件 ,优先文件名匹配的文件 CTRLSHIFTALTN 查找php类名/变量名 ,js方法名/变量名, css 选择器 CIRLB 找变量的来源,跳到变量申明处 (CTRL 鼠标单击 也可以) CTRL…

HQL写topN、Spark写topN

HQL写topN用窗口函数rank() 、row_number()、dense_rank() 1、rank(),跳跃排序,假如第一第二相同,那么第三个就是3 select * from( select id, cn, score, rank() over(partition by id order by score desc)as ranks from top N ) A where ranks&…

【转】Dynamics 365 CRM 开发架构简介

目录 概览 名词解释连接到Dynamics 365 CRM Web APIOrganization service选择 - Web API vs. Organization service扩展服务端扩展应用端正文 Dynamics 365 CRM提供了多种编程模型,你可以灵活地按需选用最佳模式。 本文是对Dynamics 365 CRM编程模型的综述。 回…

查找算法-(顺序查找、二分查找、插值查找、斐波那契查找)

1)顺序查找或叫线性查找 就是顺序遍历匹配 2)二分查找 package search;public class BinarySearch {/*** 二分查找数组必须有序*//**** param arr 数组* param left 左边索引* param right 右边索引* param findVal 要查找的值* return 找到就返回&…

数据结构 - 哈希表(用数组+链表实现存储员工信息,添加增删查功能)

package hashtab;import java.util.Scanner;public class HashTabDemo {public static void main(String[] args) {//创建一个hashTabHashTab hashTab new HashTab(7);//写一个简单菜单来测试String key "";Scanner sc new Scanner(System.in);while (true){Syste…

数据结构 - 树(二叉树的 前序、中序、后序 遍历)

二叉树遍历(前序中序后序,主要是看父节点的输出顺序) package tree;public class BinaryTreeDemo {public static void main(String[] args) {//先需要创建一颗二叉树BinaryTree binaryTree new BinaryTree();//创建需要的节点HeroNode root…

【转】c# 操作webservice(经典入门教程+MSDN必胜)(有自己修改的部分)

Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件(服务),使用WSDL文件进行&#xff0…

数据结构 - 二叉树(前序中序后序查找)

public static int i 1, j 1, k 1;//编写前序查找方法public HeroNode preOrderSearch(int no){System.out.println("前序遍历"(i)"次");if (this.no no){return this;}HeroNode heroNode null;if (this.left ! null){heroNode this.left.preOrderSea…

数据结构 - 二叉树(删除节点)

因为二叉树是单向的,所以要判断当前节点的子节点(左或右)是否是被删除的节点 //递归删除节点//规定:如果是叶子节点就删除节点,如果非叶子节点就删除子树public void delNode(int no){if (this.left !null && this.left.no no){this…

【转】OData – the best way to REST–实例讲解ASP.NET WebAPI OData (V4) Service Client

一、概念介绍 1.1,什么是OData? 还是看OData官网的简单说明: An open protocol to allow the creation and consumption of queryable and interoperable RESTful APIs in a simple and standard way. 这是一个开放的数据查询和服务协议&…

数据结构 - 顺序存储二叉树(前序中序后序遍历)

就是逻辑上是二叉树,物理上是一个数组 需求 package tree;public class ArrayBinaryTreeDemo {public static void main(String[] args) {int arr [] {1, 2, 3, 4, 5, 6, 7};ArrayBinaryTree arrayBinaryTree new ArrayBinaryTree(arr);//arrayBinaryTree.preOrde…

【转】WCF Data Service 使用小结 (一)—— 了解OData协议

最近做了一个小项目,其中用到了 WCF Data Service,之前是叫 ADO.NET Data Service 的。关于WCF Data Service,博客园里的介绍并不多,但它确实是个很好的框架。可以很方便地通HTTP来访问数据库,如果你是做富客户端开发的…

数据结构 - 线索化二叉树(线索化与遍历)

!!(这里我debug很久才理解过来)** 这里8的前驱为null,所以8的leftType1,但是6是没有后继的或者说后继为null但是rightType为0(因为后继是在下一个节点来进行连接的,6没有下一个节点,所以不能实现后继的线索化,所以righ…

【转】WCF Data Service 使用小结(二) —— 使用WCF Data Service 创建OData服务

在 上一章 中,介绍了如何通过 OData 协议来访问 OData 服务提供的资源。下面来介绍如何创建一个 OData 服务。在这篇文章中,主要说明在.NET的环境下,如何使用 WCF Data Service 来创建OData服务。当然,对于 JAVA 或者其它平台&…

算法 - 堆排序(大顶堆、小顶堆)

用的是顺序存储二叉树,也就是数组实现的二叉树,遍历的时候按照的是二叉树的形式 代码实现 package tree;import java.util.Arrays;public class HeapSort {public static void main(String []args){int [] arr {4, 6, 8, 5, 9,-1,-1,2,4,5,6,88};heapS…