持续演进的Cloud Native (读书笔记05)

简介: 无服务器架构是基于互联网的系统,它的应用开发不使用常规的服务进程。相反,它仅依赖于第三方服务(例如 AWS Lambda 服务),是客户端逻辑和服务托管远程过程调用的组合

未来值得关注的方向


  • Serverless


  • 无服务器架构是基于互联网的系统,它的应用开发不使用常规的服务进程。相反,它仅依赖于第三方服务(例如 AWS Lambda 服务),是客户端逻辑和服务托管远程过程调用的组合
  • 什么是Serverless


  • Service Mesh


  • Service Mesh是用于处理服务到服务通信的专用基础架构层。Cloud Native有着复杂的服务拓扑,它负责可靠地传递请求。实际上,Service Mesh 通常作为一组轻量级网络代理实现,这些代理与应用程序代码部署在一起,应用程序无感知。随着Cloud Native的崛起,Service Mesh逐步发展为一个独立的基础设施层。在Cloud Native架构下,单个应用程序可能由数百个服务组成;每个服务可能有数千个实例;并且这些实例中的每一个实例都可能处于不断变化的状态,因为它们是由诸如Kubernetes之类的资源调度系统动态调度的。这个世界中的服务通信不仅非常复杂,而且是运行时行为的普遍和基本部分,管理它对于确保端到端的性能和可靠性至关重要。
  • 什么是Service Mesh


研发流程


  • 十二因子
  • 基准代码
  • 一份基准代码,多份部署
  • 使用 GIT 或者 SVN 管理代码,并且有明确的版本信息
  • 依赖
  • 显式声明依赖关系。
  • 如Java中我们可以使用Maven或者Gradle管理依赖包
  • 配置
  • 在环境中存储配置
  • 第一,可以将应用的配置存储于环境变量中;第二,可以将应用的配置存储于分布式配置中心。
  • 后端服务
  • 把后端服务当作附加资源
  • 构建、发布、运行
  • 严格分离构建和运行
  • 十二因子强调通过CI/CD(持续集成/持续布置)工具实现整个过程,例如使用Jenkins。
  • 进程
  • 以一个或多个无状态进程运行应用
  • 端口绑定
  • 通过端口绑定提供服务
  • 并发
  • 通过进程模型进行扩展
  • 易处理
  • 快速启动和优雅终止可最大化健壮性
  • 开发环境与线上环境等价
  • 尽可能保持开发、预发布、线上环境相同
  • 日志
  • 把日志当作事件流
  • 管理进程
  • 把后台管理任务当作一次性进程运行


  • Code Review的意义


  • Code Review,顾名思义,就是针对一名开发人员完成的代码,让团队其他开发人员检查的过程。很多公司都在开展 Code Review,但是绝大多数公司只是流于形式,并没有形成一种文化。Code Review更多依靠的是小团队的工匠精神和程序员个人的主观能动性


  • Code Review的原则


  • 以发现问题为目标
  • 不设置惩罚 而应该采用正向激励的做法
  • 不论资历


  • Code Review的过程


  • 利用工具 线上+线下结合


  • 代码即设计


  • 架构设计包含两方面,一是架构,二是设计。在敏捷开发中,架构并没有被抛弃,架构的思考可能发生在你理解需求的过程中,也可能来自你的经验;架构的结果可能是一个白板上简单的图,也可能需要详细调研,这与架构师的能力有关。设计需要耗费大量的时间和精力去做,设计会转移、分配到整个研发流程。
  • 整个进化设计需要简单的架构+持续集成+重构+整个研发流程的设计来保证。
  • 敏捷研发流程模糊阶段性的理由是:业务需求太多和技术变化速度太快。
  • 这种设计上的转变实际上非常适合小规模、有强大战斗力的团队


团队文化


  • 高效的会议


  • 缩小会议范围
  • 常规会议不应该超过45分钟
  • 限制“意见领袖”的发言时长
  • 提供平等的会议氛围
  • 会议中的分歧不应该延伸到会议之外


  • 如何留下你想要的人


  • 充分沟通
  • 给予尊重
  • 肯定工作成绩
  • 设定合适的岗位
  • 设定更大的挑战
相关文章
|
XML 前端开发 Cloud Native
Spring Framework 5.3.0正式发布,在云原生路上继续发力(下)
Spring Framework 5.3.0正式发布,在云原生路上继续发力(下)
Spring Framework 5.3.0正式发布,在云原生路上继续发力(下)
|
2月前
|
Kubernetes Cloud Native Ubuntu
庆祝 .NET 9 正式版发布与 Dapr 从 CNCF 毕业:构建高效云原生应用的最佳实践
2024年11月13日,.NET 9 正式版发布,Dapr 从 CNCF 毕业,标志着云原生技术的成熟。本文介绍如何使用 .NET 9 Aspire、Dapr 1.14.4、Kubernetes 1.31.0/Containerd 1.7.14、Ubuntu Server 24.04 LTS 和 Podman 5.3.0-rc3 构建高效、可靠的云原生应用。涵盖环境准备、应用开发、Dapr 集成、容器化和 Kubernetes 部署等内容。
73 5
|
4月前
|
Kubernetes Cloud Native Java
探索未来编程新纪元:Quarkus带你秒建高性能Kubernetes原生Java应用,云原生时代的技术狂欢!
Quarkus 是专为 Kubernetes 设计的全栈云原生 Java 框架,凭借其轻量级、快速启动及高效执行特性,在 Java 社区脱颖而出。通过编译时优化与原生镜像支持,Quarkus 提升了应用性能,同时保持了 Java 的熟悉度与灵活性。本文将指导你从创建项目、编写 REST 控制器到构建与部署 Kubernetes 原生镜像的全过程,让你快速上手 Quarkus,体验高效开发与部署的乐趣。
63 0
|
存储 关系型数据库 数据库
分布式系统开发实战:CloudNative架构,Cloud Native成功案例分析
有非常多的公司在使用Cloud Native,这些公司包括国外知名企业如Amazon、Netflix等,也包括国内的知名企业淘宝。本节介绍这些企业如何从小企业转变成为Cloud Native的实践者?
|
消息中间件 运维 监控
太香了!Alibaba内部架构师进阶指南,理论+实践双飞
很多技术大会上的分享大多“高大上” 亿级流量、 超大型研发团队,虽然值得借鉴,但由于应用场景与研发资源的差异 般企业并不容易落地。其实 ,中小型研发团队在IT还是占大多数 他们在技术架构方面的问题较多 技术阻碍业务、跟不上业务发展的情况很常见。
|
消息中间件 Cloud Native Java
【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析
【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析
724 1
【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析
|
运维 监控 UED
持续演进的Cloud Native (读书笔记01)
观察任何一个企业都可以从三个角度出发,这三个角度分别是技术、流程、文化,三个方面都做好才能成为伟大的企业。Cloud Native也一样,需要从架构、研发流程、团队文化三个角度来实现,三者需要相互配合,缺一不可。
持续演进的Cloud Native (读书笔记01)
|
消息中间件 缓存 算法
持续演进的Cloud Native (读书笔记03)
可靠性公式:A=MTBF /(MTBF+MTTR)。其中,MTBF的全称是Mean Time Between Failure,即平均无故障工作时间,指上一次故障恢复后开始正常运行到这次故障的时间平均值。MTTR的全称是Mean Time ToRepair,即平均故障修复时间,是指从出现故障到完全恢复的这段时间。
持续演进的Cloud Native (读书笔记03)
|
存储 缓存 网络协议
持续演进的Cloud Native (读书笔记02)
微服务架构并不是什么技术创新,而是开发过程发展到一定阶段对技术架构的要求,是在实践中不断摸索而来的。
持续演进的Cloud Native (读书笔记02)