物联网智能制造的7个领先实践
乙:不不不,你这么做,和在机房里运行差不多 ,无非是把物理机换成虚拟机而已,你忘了后半句:充分利用云计算平台的优势。 甲:您倒是举个例子啊。 乙:好,假设你们家应用有一天突然火了,现在的服务器应付不过来这么大的流量,你怎么办? 甲:这还不简单,买新服务器,配置服务器,把应用安装上去,运行。 乙:这多费劲啊,得多长时间啊,如果是云原生的应用,它可以自动到扩展出新的运行实例了,如果火热劲儿过去了,可以把这些个运行的实例给撤销掉,这就叫自动伸缩,弹性扩展。 甲:这确实不错啊,还有吗? 乙:天下武功,唯快不破,我问你,你们家应用一天能做多少次发布? 甲:一天发布多少次? 别逗了,我们几个月才发布一次。 乙:如果是云原生的应用,每天可以发布几百次(自然也可回滚几百次),不用停机,轻松支持蓝绿部署。 甲:一天发布几百次,有这必要这么变态吗? 乙:当然,也不是应用所有的代码都发布几百次,一个超大的系统会被拆分成小块儿的服务,这些服务会频繁发布,迅速把新功能推向市场,进行验证。 甲:对我们这个小应用一点儿用也没有。 还有别的吗? 乙:云原生的应用具备强大的监控和自动化恢复的能力,可以自动进行健康检查(比如网络延迟如何?磁盘满了吗?),发现故障,自动恢复,重新启动或重新部署相关服务。 甲:我总结一下,无非就是达到快速发布,弹性扩展和高可用性, 您吹嘘得这么好,倒是说说怎么才能做到吧! 乙:首先,你得用微服务架构,这样才能独立开发,独立部署,弹性扩展。 甲:我去!难道我不用微服务就没法实现云原生了? 乙:那效果肯定是大打折扣。你一个巨大的单体应用,光启动都得好几分钟,怎么才能做快速部署和发布啊? 其次,你得用docker和k8s,再加上DevOps,这样你才能实现应用程序每天发布几百次、并且弹性扩展。 甲:也是,从一个docker镜像,生成一个可以运行的实例,确实简单。 乙:你还得用声明式API和不可变的基础设施。 甲:又不说人话吗?
乙:比如说吧,你的系统需要一个nginx , 你直接告诉云平台:我需要一个nginx,端口80,云平台能根据你的描述来生成一个nginx实例, 这就是声明式;如果是命令式,则是这样:从xxxx地方下载nginx安装包,解压到xxx路径,修改xxx文件..... (编辑:信阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |