【转】Azure应用部署方式对比

如图



azure环境应用托管方式对比

1. app service + serverless
azure的app service支持几乎所有语言开发的web app,既可以手动使用publish profile部署,也可以使用vsts创建一个(CDCI)持续集成。都非常方便。
而azure的function app可以用于创建定时执行的脚本,比如web hook,也可以把windows service逻辑搬到云环境,无需IDE。


优势:
pay as you go。使用才付钱,做POC(演示)的首选。比如是开发环境或测试环境,或者只是演示给客户看。这种方式比较高效。
不要求容器化部署,数据可以放在云端的应用(如果数据落地,可考虑混合云),都可以考虑使用。


缺陷:
容器化部署的话需要使用azure container service。


2. vm scale sets
azure 的IAAS(infrastructure as a service)基础架构即服务。就是创建一组虚拟机,自己管理维护。
优点:可以通过配置达到自动伸缩,可以自己管理虚拟机上的一切,比如子网。
缺点:
网络安全隐患,比如没有及时装安全漏洞的补丁。
成本很高。


3. azure 容器服务 (Azure container service)
适用场景:
azure container service更像是IAAS(infrastructure as a service)基础架构即服务的层面。如果希望在云环境自己管理维护docker容器可以考虑这种方案。


优点:
可以在云环境托管自己的docker镜像。
兼得docker镜像和云托管的好处。

缺点:
需要自己管理一切配置。如端口号需要映射从host到container,并要在最外部防火墙那里管理inbound outbound的规则。
docker中的容器通信,资源共享,可能需要借助storage account来解决,但有额外开销

4. 将docker部署在本地
优势:
可使用swarm或kubernate动态伸缩
节约托管成本,最大化利用硬件资源,单机就能托管多容器从而达到高可用
一次创建image可重复使用


弊端:
容器的创建完全动态并由swarm管理,应用的状态数据需要在存在容器外部
容器最好完全隔离。如果真需要通信,container之间通信需要创建bridge,跨节点通信需要创建overlay
容器的引入需要为持续集成环境配置额外的步骤,增加了devops的成本
container之间的共享资源需要额外处理

适用场景:
一定要本地部署并且要求docker。客户坚持需要把应用部署在本地,完全不用云。除了使用传统的多VM+负载均衡以外,可以使用docker。


结论。首选PAAS,就是azure app service + function app;如果需要容器化考虑azure container service(ACS);如果在本地部署,建议容器化;如果要传统的多vm+负载均衡也没问题,与docker比,只是硬件不能充分利用而已;不建议在azure上跑虚拟机 sets,开销太大还要自己维护。

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

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

相关文章

.Net下几种日志管理方法

.Net下几种日志管理方法 日志是应用程序中不可缺少的一部份,不仅可以记录应用程序的运行状态,还可以记录一些BUG,便于应用程序的更新与修改。在.Net有好几种方法可以对日志进行管理。1、数据库日志。2、文本日志。3、系统事件日志。 首先&…

c语言哪个方法称为程序大门,学会这8个经典小程序,就相当于跨入了C语言大门...

描述【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列。2.程序源代码&#x…

【转】无服务计算(Serverless Computing)核心知识

Serverless Computing概念 云原生计算基金会CNCF(Cloud Native Computing Foundation, CNCF)Serverless Whitepaper v1.0对无服务器计算作了如下定义: Serverless computing refers to the concept of building and running applications tha…

其他技术(Path)

其他技术-AV技术转载于:https://www.cnblogs.com/f4f16/archive/2006/08/27/487676.html

c语言中指数优化,西藏东财中证医药卫生指数C净值下跌1.96% 请保持关注

来源:金融界基金作者:机器君金融界基金08月07日讯 西藏东财中证医药卫生指数型发起式证券投资基金(简称:西藏东财中证医药卫生指数C,代码008552)公布最新净值,下跌1.96%。本基金单位净值为1.397元,累计净值…

PE文件结构详解(一)基本概念

(一)基本概念 PE(Portable Execute)文件是Windows下可执行文件的总称,常见的有DLL,EXE,OCX,SYS等,事实上,一个文件是否是PE文件与其扩展名无关,P…

把Excel文件中的数据读入到DataGrid中

使用Excel文件做为DataGrid的数据源是非常简单的,一旦数据被装载进来,就可以把数据再保存进SQL Server或XML中。我们只需要简单地使用OLE DB Provider 来访问Excel文件,然后返回DataSet即可。下面是要显示的Excel数据contact.xls:…

一行c语言代码,打钩的一行c语言代码解释一下,谢谢,详细解释绝对最佳

string strg Application.StartupPath.ToString();//F:\调试06\MrCy\MrCy\Data\mrcy.bak//获取当前启动位置strg strg.Substring(0, strg.LastIndexOf("\\")); //取得当前启动位置的上一级目录strg strg.Substring(0, strg.LastIndexOf("\\")); //取得当…

【转】.NET平台开发Mongo基础知识

NoSQL简介 NoSQL相关的技术最近越来越受欢迎,Mongo本身就是基于NoSQL实现的。关于NoSQL你需要了解 什么是NoSQLNoSQL和传统的关系型数据库有什么区别NoSQL的优缺点 这几个问题下面的文章有所介绍: http://www.runoob.com/mongodb/nosql.html http://…

web开发常用js功能性小技巧(转)

web开发常用js功能性小技巧 -------------------------------------------------------------------------------- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">; <HTML>; <HEAD>; <TITLE>; New Document </TITLE>…

android studio如何编译测试,Android Studio 进行单元测试完整教程

前言为了这个AndroidStudio的单元测试&#xff0c;从下午搞到晚上才搞明白咋操作。我学一个新知识总是那么坎坷&#xff0c;经历无数的错误路径&#xff0c;才可能找到正确的路在哪儿。我的AndroidStudio我的AndroidStudio是1.5.1版本&#xff0c;但是进行单元测试应该很早的版…

【转】算法导论学习笔记 一 分治算法

分治策略是一种常见的算法。在分治策略中&#xff0c;我们递归的求解一个问题&#xff0c;在每层递归中应用如下三个步骤&#xff1a; 1. 分解&#xff0c;将问题分解成规模更小但解决方案相同的子问题 2. 解决&#xff0c;递归的求解子问题&#xff0c;如果子问题足够小则停止…

android 对话框白色样式,Android 对话框(Dialog)样式大全以及简单实现

下面是几种对话框的效果图一&#xff1a;图二&#xff1a;图三&#xff1a;图四&#xff1a;图五&#xff1a;图六&#xff1a;图七&#xff1a;图1效果&#xff1a;该效果是当按返回按钮时弹出一个提示&#xff0c;来确保无误操作&#xff0c;采用常见的对话框样式。代码&…

【转】ABP源码分析二十一:Feature

Feature是什么&#xff1f;Feature就是对function分类的方法&#xff0c;其与function的关系就比如Role和User的关系一样。 ABP中Feature具有以下属性&#xff1a; 其中最重要的属性是name&#xff0c;用以表示feature的Identity,一个feature拥有一个name. 一个Feature可以有一…

巧克力情歌手---McKnight, Brian

巧克力情歌手&#xff0d;&#xff0d;&#xff0d;McKnight, Brian McKnight, Brian 1969年6月5日出生于美国纽约州的布法罗。Brian McKnight的哥哥Claude V. McKnight是福音音乐组Take 6的成员&#xff0c;Brian McKnight则是一名蓝调音乐歌手&#xff0c;他首先在布法罗及周…

android虚拟电话号码,为何安卓手机坚持虚拟按键?这才是原因

关于屏内虚拟按键设计的好坏&#xff0c;一直都存在很大的争议。围绕着屏内虚拟按键&#xff0c;支持者与反对者之间进行了长期的争论&#xff0c;至今仍未分出胜负。然而&#xff0c;当多功能前置指纹按键开始普及的时候&#xff0c;屏内虚拟按键似乎正在逐步走向边缘化。不过…

【转】ABP源码分析二十二:Navigation

MenuDefinition&#xff1a;封装了导航栏上的主菜单的属性。 MenuItemDefinition&#xff1a;封装了主菜单的子菜单的属性。子菜单可以引用其他子菜单构成一个菜单树 UserMenu/UserMenuItem&#xff1a;封装了用于显示给用户的菜单/以及子菜单集合。 ABP通过MenuDefinition/Me…

数据库调优都涉及哪些方面

面试时&#xff0c;经常被问及 “数据库调优”的事情&#xff0c;心想这不是DBA的事吗&#xff0c;但回答不好还是显得不够专业&#xff0c;查一下资料&#xff0c;许多还真是程序员的事情&#xff0c;下面总结一下&#xff0c;希望对大家有所帮助。方面以影响程度排序 D1 业务…

node.js android 聊天,Node.js实现简单聊天服务器

使用Nodejs是如此简单的实现了一个简单的聊天服务器实现代码如下&#xff1a;var net require(net);var chatServer net.createServer(),clientList [];chatServer.on("connection",function(client){client.name client.remoteAddress ":" client.r…

【转】ABP源码分析二十三:Authorization

Permission&#xff1a;用于定义一个Permission&#xff0c;一个permission可以包含多个子Permission. PermissionDictionary&#xff1a;继承自Dictionary<string, Permission>类&#xff0c;很明显是一个用于存储permission对象的字典。 IPermissionDefinitionContext…