什么是云原生架构

本文简要介绍了云原生架构的定义和个人对云原生架构的理解。
个人认为,云原生架构应该包括2大部分:云原生平台和云原生应用。

云计算提供了对无限IT资源的按需付费的商业模式,但从技术架构上看,还需要一个用于构建和运行云原生应用的平台,来实践敏捷开发、DevOps、容器编排,微服务和容器化等理论和方法。

1428428-20181025185543772-30550163.png

云原生平台

敏捷开发

一种小规模团队的、全栈式的开发方法,要求团队具备快速响应变化,快速迭代开发的能力。

最佳实践

  • scrum
  • xp

DevOps

开发和运维之间保持流程连续的协作方法,目标是快速、频繁且更可靠地构建、测试和发布软件。

最佳实践

  • Jenkins
  • GitLab

容器编排

一种容器资源的管理方法,目标是管理容器集群和调度容器化应用。

最佳实践

  • Kubernetes
  • Docker Swarm
  • Mesos

云原生应用

微服务

是将大型应用作为小型服务集合进行开发的架构方法,其中每个服务都可实现业务功能,在自己的流程中运行并通过 HTTP API 进行通信。每个微服务都可以独立于其它服务进行部署、升级、扩展和重新启动,通常作为自动化系统的一部分运行,可以在不影响最终客户的情况下频繁更新正在使用中的应用。

最佳实践

  • Spring Boot
  • Spring Cloud
  • Jhipster

容器化

与虚拟机相比,容器能同时提供更好的效率和启动速度。每个容器都具有唯一的可写文件系统和资源配额。创建和删除容器的开销较低,在单个虚拟机上能通过容器化充分利用物力资源,这使的容器成为部署微服务的完美工具。

最佳实践

  • Docker Image
  • OCI

云原生应用与传统应用

云原生应用传统应用
可预测。 云原生应用符合旨在通过可预测行为最大限度提高弹性的框架或“合同”。不可预测。 通常构建时间更长,大批量发布,只能逐渐扩展,并且会发生更多的单点故障
操作系统抽象化。依赖操作系统。
资源调度有弹性。资源冗余较多,缺乏扩展能力
团队借助DevOps更容易达成协作。部门墙导致团队彼此孤立。
敏捷开发。瀑布式开发。
微服务各自独立,高内聚,低耦合。单体服务耦合严重。
自动化运维能力。手动运维。
快速恢复。恢复缓慢。

参考资料

https://pivotal.io/cn/cloud-native

转载于:https://www.cnblogs.com/yorkwu/p/9851920.html

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值