云原生架构演进与企业上云
点击上方蓝色字体,选择“设为星标”
优质文章,及时送达
过去的一段时间和一些架构师 / 技术负责人聊天,云原生和企业上云是最近一段架构演进的一个常见话题,那么小公司到大型公司在上云和云原生上有什么价值和收益呢。
云原生技术的里程碑
云原生的定义
云计算的本质:按需分配资源和弹性计算
互联网业务特点:快速迭代,逻辑复杂,海量用户,流量突增,7*24小时高可用
上云的价值
业务上,研发团队可以更聚焦业务逻辑,提升研发效率,快速交付系统。
将技术层抽象到云原生层,技术组件的更新换代对业务架构透明,可以更快的进行技术换代而不影响业务架构。
抽象的云原生层持续的组件服务演进,可以提供更好可用性,稳定性的基础设施。
在资源利用率上,实现弹性伸缩,优化资源成本。
衔接标准的CI/CD流程,持续交付软件。
工程师的价值
拓宽技术视野,避免闭门造车。
将掌握技能更好的发挥价值。
输出优质组件,提供到云端,有更大的影响力。
云原生如何落地
可以基于公有云或私有云平台,通过云平台,云中间件,面向微服务,容器编排调度,及Devops流程优化等关键字进行整合,提升业务团队研发效率和质量,帮助业务降低风险,实现更快的交付。
传统的软件架构,不管是单体的还是SOA的架构,在整体架构设计上有很大一部分是趋同的,从上至下:
用户层:pc / app / h5 等
接入层:sso,wns,tgw等
逻辑层:应用逻辑模块,订单,商品,配送,门店,供应链,营销等
基础工具层:数据同步,数据中心,订单一致性,消息系统,音视频编解码
存储层:IDC,Redis,DB等
通用支撑层:支持端到端的监控,代码审计管理,数据统计可视化,监控告警,部署发布流程,自动化测试平台等
我们想一下,对以上通用常见的软件架构如何演化上云呢,存在哪些问题呢?
架构插件化设计不够,如果换了一个数据上报组件,所有服务都需要调整代码再进行发布。
历史原因,很多系统技术栈并不统一,一些内部RPC有多种协议,导致组件适配成本增加。
业务系统底层服务和业务逻辑耦合严重,导致对于服务组件复用困难,需要重复开发。
研发流程上,需要过多人工环节,会导致流程不规范。
一些技术公共组件,如视频流加解密,消息推送,监控告警等,需要做到对业务高度透明化。
容器化程度低,需要在虚拟机或物理机上消耗较多无意义的时间,比如扩缩容,权限审批等。
监控告警体系不完善,不便捷,如果调用链,日志系统不完善很难具体定位线上问题。
针对以上问题,我们可以得出云原生架构演进方向和需要提升的点。聚焦于微服务,中间件,DevOps这三个方向,结合云弹性来推动架构演进。
优化微服务架构
建立服务开发规范,向云原生靠齐。主要原则遵循云原生12要素。
一份基准代码,多分部署。
显示生命依赖关系。
将配置存储在环境变量。
服务应作为松耦合后端资源。
严格分离构建流程和运行流程。
服务需向无状态进程演进。
通过端口绑定对外服务。
可通过水平扩展实现规模高并发。
可快速启动服务并可优雅关闭。
尽可能保证开发,测试,发布环境一致等价。
使用原创日志流处理。
后台管理任务当作一次性进程运行。
设计出合理且兼容的API是首要任务。
可以过滤测试和应用状态。
采用OAuth2.0和RBAC授权实现应用安全。
云原生开发规范
统计的技术栈,包括语言,协议,开发框架等
外部只能通过ApiGateway才能访问
服务间只能通过RPC或消息队列通信
服务无状态,可以快速启动或关闭
框架对同类组件可插拔,更换具体组件不改变服务代码
基于代码生成器自动代码生成,基于Ci实现自动化交付与部署
尽量走远端配置,修改配置不用发布或重启服务
数据库,缓存组件按具体业务实现多租户访问
架构调整上,很重要的一点是在接入层,统一ApiGateway,对接多端协议,转换为内部微服务协议,可以对API生命周期管理,限流,鉴权等统一管理。
逻辑层按业务划分,打薄到只有业务逻辑。
通用逻辑继续下沉,下沉到中台层,沉淀如评论,IM,CRM,搜索,UGC,Push系统,订单,商品,支付,结算等通用逻辑。研发同学可以对这部分业务更深挖,更沉淀。
再之下为容器层,将原有的二进制服务变为交付镜像。
中间件层使用通用的云上中间件。
通用逻辑监控告警,CICD打穿整个交付周期。
在完成了一些列的标准指定,架构演进,上云的流程需要有一个明确的迁移计划:
借助一些工具看数据迁移的效果与质量,比如数据异构,关系数据库与缓存中间件,数据库binlog解析实现增量数据订阅与消费,数据不停机迁移,业务影响最小化。
最后是完善Devops工具链,打通git,jenkins,k8s整个流程。
监控告警,对每层监控指标进行完善,生成调用链及图谱:
云原生架构演进与企业上云相关推荐
- 重磅功能!博睿数据APM助企业从容应对云原生架构演进
近日,博睿数据应用性能监控产品Bonree Server全面升级,在自动化.可观测性方面带来了两项重要研发成果:服务自动发现和Docker容器监控,让企业更加从容迈向云原生架构. Bonree Ser ...
- 融合、协同系统的边缘云原生架构演进和实践
简介:云原生和边缘计算是近两年都非常火的技术话题了,在第十届云计算标准和应用大会上,阿里云高级技术专家熊鹰分享了<基于融合.协同系统的边缘云原生架构演进和实践>,希望通过介绍现在阿里云在边 ...
- 阿里云熊鹰:基于融合、协同系统的边缘云原生架构演进和实践
简介: 云原生和边缘计算是近两年都非常火的技术话题了,在第十届云计算标准和应用大会上,阿里云高级技术专家熊鹰分享了<基于融合.协同系统的边缘云原生架构演进和实践>,希望通过介绍现在阿里云在 ...
- 蚂蚁集团SOFAStack:新一代分布式云PaaS平台,打造企业上云新体验
近几年云计算的发展如火箭般迅猛,异构变革日新月异,这是基础设施层明确的发展趋势.值得关注的是,随着基础设施的复杂度越来越高,也为整个基础设施的统一资源调度带来了极大挑战.**在越来越复杂的异构基础设施 ...
- 专访时培昕:寄云的目标是让企业上云变得简单
寄云科技过去一年的发展非常显著,不仅理顺了各种产品发展思路和策略,在生态领域的布局也逐步走向深入,寄云科技现在更典型的是一家PaaS厂商,其围绕"大数据"模式不断构筑自己的生态链, ...
- 腾讯安全发布新一代云防火墙,筑牢企业上云第一道安全防线
12月22日,腾讯安全举行了2021腾讯新一代云防火墙线上发布会,正式对外公布了云防火墙产品新功能. 腾讯新一代云防火墙在实现SaaS部署.即开即用的基础上,集成了云原生应用程序的灵活性.扩展性.弹性 ...
- 360°透视:云原生架构演进
此文已由作者邹珍珍授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 目前,互联网企业随着业务的发展不断前进.因此,不同的阶段有不同的需求,所以需要使用不同的方法来聚焦不同的目的 ...
- 云原生架构下的微服务选型和演进
作者:彦林 本文整理自阿里云智能高级技术专家彦林的线上直播分享<云原生微服务最佳实践>.视频回放地址:https://yqh.aliyun.com/live/detail/28454 随着 ...
- 业界首发|阿里云重磅发布云原生架构白皮书
2020 年 7 月 21 日,由阿里云 20+ 位云原生技术专家共同编撰的<云原生架构白皮书>正式对外发布.作为业界首本全方位构建云原生架构规划与实践全景图的白皮书,本书在详细阐述云原生 ...
最新文章
- win8mysql安装教程zip_mysql 8.0.18.zip安装配置方法图文教程(windows 64位)
- 从C++中的const到MMU(存储器管理单元)(MMU部分为网页整理)
- 2.2 逻辑回归-机器学习笔记-斯坦福吴恩达教授
- Spring开发包介绍
- mysql php 时间比较大小_mysql中日期大小比较实例
- Apache目录介绍
- matlab monte carlo,Monte Carlo Simulation
- 回车(carriage return)和换行(line feed)的区别和来历
- day_work_01
- springSecurity jwt 认证与鉴权及异常
- WindowsNT/2000的系统日志文件
- 关于动态路由OSPF原理、报文
- 第二类斯特林数 - Push Botton Lock(POJ 3088)
- 用PowerPoint(PPT)快速制作炫酷数字倒计时
- 读懂 互联网巨头 【中台之战】 以及 中台 发展思维
- 甄选北京十大律师事务所排名榜(资深团队、胜诉率高)
- 机器学习(四):CART分类树(基础篇)
- Substance Painter里 AO贴图 烘焙黑图 原因
- linux启动一个进程吗,你知道,当你在 Linux 上启动一个进程时会发生什么嘛?
- 欢场春梦破碎夜 A股暴跌哀鸿遍野 未来投资机会何在?