范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

从云计算到云原生从概念到落地

  云计算最近几年已经火得不行, 云原生 (Cloud Native)这个概念又来了,如果上云不"原生",那就等于白上云。究竟什么是云原生?云原生有何优势?怎么从"不原生"一步一步做到云原生?本文将给出切实可行的云原生落地指南。
  我们先从云计算说起 。在云计算普及之前,一个应用想要发布到互联网,就需要企业自己先买几台服务器,找一个IDC机房,租几个机架,把服务器放进去。接下来就是装Linux系统,部署应用。我们就假定用Java写了Web应用,怎么部署上去呢?先配置Tomcat服务器,在把编译好的war包上传到服务器,有用FTP的,安全意识高一点的会选SCP,然后配置Nginx、MySQL这些服务,最后一通调试,把应用跑起来,就算齐活。
  这种物理机配合自搭网络环境、自搭Linux、自配环境的方式,有很多缺点,但最主要的问题有这么几个: 扩容和维护难,因为是物理机,需要先采购后跑机房,遇到双十一业务量猛增是来不及扩容的,用行话讲就是计算资源缺乏弹性; 安全性太差,熟悉Linux的运维工程师本来就少,精通SELinux的更是凤毛麟角,而且,系统安全性仅仅是一个方面,应用部署的权限、流程造成的安全漏洞更大; 部署流程不规范,开发、测试和运维脱节,缺少自动化测试和部署,无法快速迭代业务。
  解决方案是上云 。上云不能解决所有问题,但部分解决了前两个问题: 云服务商提供的是虚拟机,比起物理机,虚拟机的创建、维护、销毁比物理机简单了太多,且随时可以扩容,很大程度上解决了"弹性计算"的问题,至于弹性程度有多大,还得看应用的架构和设计水平; 和绝大多数中小企业相比,云服务商在网络和服务器安全方面要强若干个数量级。只要选择合适的官方镜像,配合防火墙规则,系统级别的安全问题大大减少,可以将重点放到应用本身的安全性上。
  但是如果仅仅满足上云,把物理机换成虚拟机,把物理网换成虚拟专用网(VPC),是远远不够的。这些是计算资源和网络资源层面的简化。应用方面,如果延续旧的一套开发、测试、部署流程,做不到快速迭代。
  要做到快速迭代,敏捷开发,就需要DevOps,即开发运维由一个团队负责,开发阶段,就要把部署、运维的工作考虑进去,而不是发布一个war包或者jar包后扔给运维不管了。
  重开发、轻部署,直接后果就是缺少自动化发布流程。想要把部署规范化,就需要整体考虑一系列问题。
  还是以Java应用为例,如果是手动部署,那么就上传war包到服务器,覆盖原有的版本,重启Tomcat,再测试。如果发现有严重问题要回滚怎么办?把老版本再传一遍,然后重启Tomcat。
  手动部署,每次部署都是一次生死考验,所以最好不要安排在半夜,以免手抖敲错了命令,本来中断10分钟的服务,变成了灾备恢复,中断3天。
  稍微靠谱一点的是写脚本部署,但各家写出来的脚本都有各家特色,不通用,不易维护,所以更好的方式是用成熟的部署方案,比如Ansible,把脚本标准化,比如做成蓝绿发布,把服务器分组,比如A、B两组,先把流量切到B组,升级A组服务器,有问题就回滚,没问题了,再把流量切到A组,升级B组服务器,最后,恢复正常流量,整个部署完成。
  但是回滚这个事情,远没有那么简单。做过开发的同学都知道,升级新版本,一般要加配置,改配置,如果回滚到旧版本,忘了把配置改回去,那旧版本可能也不能正常工作。
  上云,除了物理变虚拟,简化运维外,最重要的特点——弹性计算,一定要充分利用。
  理论指导实践,实践完善理论。如果我们分析大多数基于互联网的应用,可以看到,一个应用,通常用到的资源如下: 存储资源,通常对应着一个或多个数据库,例如MySQL、Oracle、PostgreSQL等; 计算资源,以Java应用为例,就是一个或多个Web应用,跑在Tomcat,或者通过SpringBoot自带嵌入式服务器; 网关,通常是Nginx之类的服务器,对外作为统一的服务入口,对内提供反向代理; 其他支撑业务的组件,例如,为提升应用性能采用的Redis集群作为缓存,应用内部各组件通信使用的消息系统如Kafka等,以及随着业务不断扩大增加的ES集群、日志分析和处理的集群等。
  上云后,云服务商通常都提供托管的数据库,以及大规模存储系统(S3),可解决存储资源问题。通过云服务商提供的负载均衡(Load Balancer),也无需自行部署Nginx等网关,免去了运维的问题。各种标准的业务组件如Redis、Kafka等,均可直接租用云服务商提供的资源。
  我们重点讨论计算资源,也就是云上的虚拟机资源。对于应用来说,可以设计成有状态和无状态两种。一个应用在一台虚拟机内跑着,如果有本地文件的修改,它就是有状态的。有状态的应用既不利于扩展,也不利于部署。反过来,如果一个应用在运行期数据总是存在数据库或者缓存集群,本地文件无任何修改,它就是无状态的。
  无状态的应用对应的虚拟机实际上就是不变的计算资源。这里的"不变"非常重要,它是指,一台虚拟机通过一个固定的镜像(预先内置好必要的支持环境,如JRE等)启动后,部署一个应用(对应一个war包或者jar包),该虚拟机状态就不再变化了,直接运行到销毁。
  有的同学会问:如果给这台虚拟机重新部署一个新的应用版本,它的状态不就发生了变化?
  确实如此。为了确保虚拟机的不变性,一旦启动后部署了某个版本,就不允许再重新部署。这样一来,对虚拟机这种计算资源来说,就具有了不变性。不变性意味着某个虚拟机上的应用版本是确定的,与之打包的配置文件是确定的,不存在今天是版本1,明天变成版本2,后天回滚到版本1的情况。
  计算资源不变,能确保启动一台虚拟机,对应发布的应用版本和配置是确定的且不变的,对于运维、排错非常重要。
  那么如何在保持计算资源不变的前提下发布新版本?
  我们以AWS的CodeDeploy服务为例,假设一组正在运行的某应用v1集群包含3台虚拟机:
  现在,我们要把应用从v1升级到v2,绝不能直接把现有的3台虚拟机的应用直接升级,而是由CodeDeploy服务启动3台新的一模一样的虚拟机,只是部署的应用是v2。现在,一共有6台虚拟机,其中3台运行v1版本,另外3台运行v2版本,但此刻负载均衡控制的网络流量仍然导向v1集群,用户感受不到任何变化:
  v2集群部署成功后,做一些自动化冒烟测试和内网测试,如果有问题,直接销毁,相当于本次部署失败,但无需回滚。如果没有问题,通过负载均衡把流量从v1集群切到v2,用户可无感知地直接访问v2版本:
  稳定一段时间(例如15分钟)后,销毁v1集群。至此,整个升级完成。
  上述的蓝绿部署就是CodeDeploy的一种标准部署流程。CodeDeploy也支持灰度发布,适用于更大规模的应用。
  把计算资源不可变应用到部署上,实际上是充分利用了弹性计算这个优势,短时间创建和销毁虚拟机,只有上云才能做到,并且针对云计算,把部署流程变得更加简单可靠,每天发几个版本甚至几十、几百个版本都变得可能,DevOps能落地,有点"云原生"的味道了。
  说到AWS的CodeDeploy,最早我使用AWS时,对于它的计费采用Reserved Instance预付模型感到很不理解,租用一台虚拟机,按国内阿里云、腾讯云包年包月预付享折扣不是更直观吗?如果仅仅把上云变成租用虚拟机,那就完全丧失了弹性计算的优势,相当于租用了一台虚拟机在里面自己折腾。AWS的Reserved Instance计费并不绑定某一台虚拟机,而是一种规格的虚拟机。
  我们还是举例说明,如果我们有1台2v4G规格的虚拟机,并购买了1年的Reserved Instance,那么,我随时可以销毁这台虚拟机,并重新创建一台同样规格的新的虚拟机,Reserved Instance计费会自动匹配到新的虚拟机上,这样才能实现计算资源不变,频繁实施蓝绿部署,真正把部署变成一种云服务。最近阿里云终于推出了节省计划的付费模式,有点真正的云计算的付费味道了,但是腾讯云、华为云还停留在包年包月和按量付费这两种原始租赁模型。
  讲了这么多自动化部署,实际上一个指导思想就是如何充分利用云的弹性计算资源。从充分利用云的弹性资源为出发点,设计一整套开发、部署、测试的流程,就是云原生。弹性资源利用得越充分,云原生的"浓度"就越高,就越容易实施小步快跑的快速迭代。
  那么虚拟机是不是弹性最好的计算资源呢?从应用的角度看,显然容器是一种比虚拟机更具弹性,更加抽象,也更容易部署的计算资源。
  容器和虚拟机相比,它实际上是一种资源隔离的进程,运行在容器中的应用比独占一个虚拟机消耗的资源更少,启动速度更快。此外,容器的镜像包含了完整的运行时环境,部署的时候,无需考虑任何额外的组件,比其他任何部署方式都简单。使用容器,开发部署流程就变成了开发,生成镜像,推送至Docker Hub或云服务商提供的Registry,直接启动容器,整个过程大大简化。
  使用容器比使用CodeDeploy部署还要更加简单,因为CodeDeploy需要在虚拟机镜像中预置Agent,由于没有统一的发布标准,还需要配置CodeDeploy,告诉它去哪拉取最新版本,这又涉及到一系列权限配置。而容器作为标准的部署方案,连发布系统都以Registry对各个镜像版本进行了有效管理,所以部署非常简单。
  容器作为一种弹性计算资源,也应遵循计算不变性,即不要给容器挂载可变的存储卷。一组不变的容器集群才能更容易地升级。容器的运行方式本身就遵循了不变性原则,因为通过一个镜像启动一个容器,在运行过程中,是不可能换一个镜像的。容器本身也强烈不建议应用写入数据到文件系统,因为重启后这些修改将全部丢失。
  容器的启动和销毁非常容易,不过,容器的管理却并不简单。容器的管理涉及到创建、调度、弹性扩容、负载均衡、故障检测等等,Kubernetes作为事实上的容器编排标准平台,已经成为各个云服务商的标配。
  如果要直接使用K8s,在云环境中首先要有一组虚拟机资源作为底层资源,然后搭建K8s环境,定义好容器编排并启动容器。云服务商几乎都提供托管的K8s服务,但直接管理K8s仍然需要非常熟悉K8s的工程师。
  还有一种更简单的使用容器的方式,即完全将底层虚拟机和K8s托管给云服务商,企业客户只需关心如何部署容器,底层的K8s和虚拟机对企业不可见或者无需关心。AWS的Elastic Container和阿里云的弹性容器均为此类服务。对于中小规模的应用来说,计算资源直接使用容器,再配合云服务商提供的负载均衡,托管的数据库、消息系统、日志系统等组件服务,应该是目前最"云原生"的一种方案。
  最后,我们总结一下云原生的特点:
  所谓云原生,就是在上云的过程中,充分发挥云平台的弹性计算、弹性存储的优势,尽量把应用设计成适合云计算的架构,把部署设计成简单易用的流程,这样才能实现业务快速上线,快速迭代。
  云原生是一个大方向,在上云的过程中,逐步改造应用架构和部署流程,从手动往自动转,逐步增加计算资源的弹性,就能把云原生一步步落地。

杨毅爆料霍华德让台妹怀上了,台妹要钱,火花不给也不怕!杨毅爆料霍华德让台妹怀上了,台妹要钱,火花不给也不怕!火花已经有五个了,多你一个不多!杨毅有一个知名的节目,是一个播客节目,他在节目里和身边的友人聊天时,就有人爆出了这么大的一个猛国足创历史!时隔九年重返亚洲杯八强!在3月9日的比赛中,国足U20男足与吉尔吉斯斯坦经过90分钟的激烈竞争,以1比1的比分打成平局。这是国足U20男足在男足亚洲杯中时隔9年再次闯入八强。他们在小组赛中获得一胜一平一负最新动态!湖人官宣拉塞尔哈登欧文有望火箭重聚勇士三连败头条创作挑战赛北京时间3月10日,NBA常规赛继续进行。刚刚结束的比赛中,勇士客场110131不敌灰熊遭遇三连败湖人今天官方宣布,拉塞尔将会以首发的身份出战对阵猛龙的比赛,率队全力现代感十足!宁德时代创新实验室最新进展记者了解到,截至2月底,宁德时代创新实验室建设项目(一期)1工程已投用2工程2食堂宿舍楼已竣工投产,办公楼(综合楼)已竣工3工程楼正进行主体施工,预计4月初可封顶2研发楼预计3月份喜讯!巴西豪门核心携手葡超锋霸新赛季确定驰援泰山队,值得期待日前,山东泰山队正在少帅郝伟的带领下,为新赛季中超和亚冠全力冲刺。郝伟这段时间最发愁的事情,就是球队多名外援迟迟不归队。泰山队外援只回来了两位,分别是贾德松和孙准浩。贾德松和孙准浩人品太差!阿根廷世界杯夺冠污点证实,大马丁公开道歉太蠢了!卡塔尔世界杯已经过去几个月了,但是如今大家想到这届赛事时,总会下意识想到阿根廷门将马丁内斯夺冠后的争议举动,为此,不仅很多法国人被激怒联名要求世界杯决赛重踢,许多中立球迷也议论纷纷扳扳手指,几乎一支中国男排国家队都在海外打球,就算花钱也值得北京时间3月9日,正在征战波兰超级联赛的中国男排主攻张景胤又传佳音。继上周替补出场拿到23分和单场MVP,他再次替补上场获得全场第二高分18分。波兰男排现世界排名第一,波兰超级联赛公司坦言面临10大风险!老乡鸡IPO最新进展公布2023年3月1日,安徽老乡鸡餐饮股份有限公司(下称老乡鸡)主板IPO获上交所受理,本次拟募资12亿元。本次拟募资用于老乡鸡华东总部项目新增餐饮门店建设项目数据信息化升级建设项目。CBA本赛季转投他队后重获新生的4位球员一常林本赛季是常林CBA的第11个赛季,此前的10个赛季,常林都是北京队球员(其中有一年租借到了江苏队,在江苏队场均15分)。在北京队的9年,常林场均得分最高的是10。2分,其他就名记称轮休多的责任不在球员!沃尔一个月来首次推特回复直播吧3月10日讯此前被火箭裁掉的约翰沃尔一个月来首次更新了个人推特,他回复了名记ZachLowe有关球员负荷管理过多的解释。本月初巴克利在节目中表示现在的球员动不动就轮休,已经成中国股市,黑色天鹅引发股市巨震,现在有了最新情况,分享如下今天是3月10日星期五,中国股市收盘!一觉醒来,倍感惊讶,又十分坦然,在全球股市遭遇黑天鹅的情况下,中国股市雪上加霜,走出了极端行情,让人大失所望。但是,我对这种行情是不害怕的,因
Theshy加盟WBG内幕首曝!Bin和SOFM产生分歧,焕峰曾出现心理问题前言天不生我姜承禄,LPL上单万古如长夜!作为改变了LPL格局的上单选手,THESHY在这个转会期离开IG,加盟了WBG战队,没能和ROOKIE继续打兄弟LOL。在THESHY和R缅甸穷游,1000元人民币兑换缅甸元22万,在缅甸能做什么?在缅甸旅游1000元人民币就可以兑换22万缅甸元,如果准备3000元人民币的话,可以在当地兑换67万缅甸元,瞬间就成了百万富翁,这笔钱可以在当地游玩,哪些旅游项目呢?(此处已添加小Steam冬季特卖10款史低游戏推荐,方块方舟金字塔里还有木乃伊Steam的冬季特卖活动预计会在1月6日落下帷幕,不知道大家有没有把握住这次机会买到自己喜欢的游戏?由于游戏种类众多,让人眼花缭乱,有些玩家可能无所适从,不妨来参考一下以下这十款史光遇五把雨伞盘点,夏日伞是冤大头?透明伞500多更离谱光遇五把雨伞盘点,夏日伞是冤大头?透明伞500多更离谱前言大家好,我是林克。每日分享游戏电竞情报攻略玩法等。一直以来,我们认为雨伞,只不过是用来挡雨,适用于萌新玩家,在跑雨林时,心建议腾讯跟进!海外吃鸡手游严厉打击外挂抓到直接拉黑设备点击右上方关注,第一时间获取科技资讯技能攻略产品体验,私信我回复01,送你一份玩机技能大礼包。12月28日消息,91Mobiles报道,印度版吃鸡手游BattlegroundsMo你想要来的新疆2022年是这样的看到问题我脑海中快速闪出两个字新疆,还是新疆,别在问了还是新疆!你问我为什么!因为去新疆不需要理由,理由都是多余的想法!有人问登山者为什么去登山?登山都回答山就在那里!有人问徒步者铜雕大师为游戏点卡注入灵魂,非遗和游戏联动还能这么玩?剑网1归来作为剑侠情缘网络版的手游版本,自从上月公测以来,一直都有着极高的讨论度。现在在各大平台上面都能看到这款游戏的身影,那么究竟是什么原因让这款游戏有着这么高的热度呢。剑网1归连地壳都挖不穿的人类,怎么会知道地球核心的温度超过了6000?相信大家都知道,地球有一个炽热的核心,其温度超过了6000,不过如果要问地球核心的温度是怎么测出来的,估计很多人就不太清楚了。实际上,人类迄今为止在地球上挖得最深的位置,也就是地下在注入崭新的灵魂后,vivoS12Pro的体验还会有着哪些惊喜?如果说现阶段手机圈内热议的话题有哪些?那么vivoS12Pro必然是其中之一。作为一个备受年轻用户群体喜爱的机型系列,vivoS系列的设计师总会率先察觉到用户的痛点需求,进而将需求原神2。4版本抽卡建议,新玩家建议钟离,老玩家决定先歪个刻晴我已经有过一次旅行。所以,你也要像我一样抵达终点,才能在自己的眼中,留下这个世界的沉淀。大家好,我是boyue,感谢打开这篇原神游戏文。boyue会经常分享一些原神资讯与攻略给大家iPhoneSE比mini更mini的mini,不如改名叫SESE吧说起iPhoneSE,相信关注数码产品的各位肯定都不陌生,曾经是小屏党人手一只的宝贝,现在也吸引着很多人买它当备用机,我就是如此,早在45年前我刚接触数码那会儿就对这只手机充满了热日照旅行,安静的的海边小城,吃住行玩攻略前段时间去日照玩了一趟,深深感受到了这座城市的热情好客和美丽迷人,真的好舍不得离开。抽时间给大家整理了这篇攻略,希望大家在日照也能收获满满的快乐赶海拾贝李家台赶海园赶海园日照有很多全网扎堆敦煌飞天,国家首席舞者唐诗逸却聚焦唐朝,演绎第一美女我们国家历史悠久,拥有着无数灿烂的文化,比如说最近很火热的敦煌飞天。前有水下飞天惊鸿夺目,后有国家歌剧舞剧院首席舞者唐诗逸演绎的飞天舞蹈,一瞬间带火了这古老的文化,满屏都是优雅飞天CBA奇葩一幕!翟晓川抗议裁判不吹自己犯规,丛明晨三分杀人诛心10395,辽宁男篮在关键之战击败北京首钢实现了复仇。本场比赛的核心主角毫无疑问是砍下36分9个篮板8次助攻的郭艾伦,但是整场比赛来说辽宁队还是赢下了杜锋所说的让人流口水的阵容厚度暗黑风新游尝鲜十三月美式风的泡菜游戏十三月由韩国LINEGames开发,运营,是一款基于PCiOS安卓多平台的角色扮演游戏。游戏将于2022年1月13日公测,不需要激活码,喜欢的小伙伴可以去尝试下。下面就随小氪看看游任天堂社长表示Switch明年年初可能依旧缺货昨日(12月27日),任天堂社长古川俊太郎在社交平台上发布消息称,Switch掌机的供应可能在2022年初停滞,造成这一现象的主要原因为全球半导体短缺和物流业的混乱。据悉,早在今年暗黑破坏神不朽暴雪的设计功力发挥的淋漓尽致自从2018年公布不朽的消息至今,经历了或者正在经历着的测试一共有三次。就目前游戏的本体来讲,可以说是几近完备。后续剩下的工作,可能除了针对于一些话题性比较强的关键点进行优化外,再游戏王游戏王魔偶甜点卡狐,猫,连锁除外,假面变化,叹息風卡威风妖怪狐(4星阶)九尾狐,是中国日本印度神话传说中的生物。九尾狐最先出现在原始宗教的图腾信仰中。春秋战国时代编纂的山海经南山经云青丘之山,有兽焉,其状如狐而九尾。汉代把九尾之各省份元旦旅游成绩单出炉两地收入破百亿多省游客量下降伴随着2022年的第一个小长假的结束,全国各省份元旦假期的旅游成绩单相继出炉。新旅界(LvJieMedia)统计发现,截至1月5日,全国已有至少16个省(市自治区)公布了当地的元旦辽篮连胜!赵继伟引热议,3人被冷落,0分3分4分,不如郭艾伦一人4日,辽篮和深圳队碰面,三节领先25分,末节,第11分15秒,赵继伟3分投进,辽宁队再次扩大分差,随后,丛明晨控球急停跳投得分,此后,萨林杰赢球迎着吴昌泽抛投,打成21,萨林杰加罚央视名嘴宋世雄和妻子56年风雨相伴,儿女定居国外晚年也有泪提起中国体育,也必然会提起一个人,那就是宋世雄,他用自己出色的才华和能力,将体育文化带到大众身边,转播解说的体育赛事数不胜数,给观众带来深深的代入感,仿佛身临其境。如今宋世雄已经8张常宁正在康复中,李盈莹要迎接最强帮手了?很多球迷看到中国女排在东京奥运会的表现都很失望,觉得中国女排出现青黄不接的问题,毕竟里约奥运会带来的感动还记忆犹新,东京奥运会就仿佛一盆冷水浇下来。不过最近女排联赛中涌现出很多有潜