什么是云原生架构

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

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

云原生平台

敏捷开发

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

最佳实践

  • scrum
  • xp

DevOps

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

最佳实践

  • Jenkins
  • GitLab

容器编排

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

最佳实践

  • Kubernetes
  • Docker Swarm
  • Mesos

云原生应用

微服务

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

最佳实践

  • Spring Boot
  • Spring Cloud
  • Jhipster

容器化

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

最佳实践

  • Docker Image
  • OCI

云原生应用与传统应用

云原生应用

传统应用

可预测。 云原生应用符合旨在通过可预测行为最大限度提高弹性的框架或“合同”。

不可预测。 通常构建时间更长,大批量发布,只能逐渐扩展,并且会发生更多的单点故障

操作系统抽象化。

依赖操作系统。

资源调度有弹性。

资源冗余较多,缺乏扩展能力

团队借助DevOps更容易达成协作。

部门墙导致团队彼此孤立。

敏捷开发。

瀑布式开发。

微服务各自独立,高内聚,低耦合。

单体服务耦合严重。

自动化运维能力。

手动运维。

快速恢复。

恢复缓慢。

参考资料

pivotal.io/cn/cloud-native

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算D1net

如何严格管理你的混合云方案

追求混合云的道路是不适合意志薄弱者的。从短期来看,最佳的混合云模式可能是找出那些可以在不同环境中长时间干净运行的应用。简单的转移工作负载只是冰山一角。更重要的是...

35150
来自专栏企鹅号快讯

微信小程序新功能上线 一键连Wi-Fi手机变门禁卡

原标题:微信小程序新功能上线 一键连Wi-Fi手机变门禁卡 【PConline资讯】习惯于放深夜“炸弹”的小程序团队又来了。12月16日晚间,微信小程序再次迎来...

26250
来自专栏漫漫全栈路

R.I.P. :传统整体式架构 VS 微服务

我咨询了十几个微服务项目。有些人表示,微服务真棒(这是未来!),而有些人很沮丧(谁发明了这个废物?)

16120
来自专栏编程坑太多

『中级篇』docker导学(一)

19740
来自专栏云计算D1net

那些你可能不了解的公有云风险成本

公有云强调了给企业带来的种种好处,但是它并不十全十美。企业应该意识到其不可预测的成本结构以及其他的一些缺点。 ? 公有云服务给予企业诸多优势。他们允许灵活和经济...

39890
来自专栏企鹅号快讯

惊爆!小程序连发7种新能力,开直播、连Wi-Fi、分包加载……你们想要的都来了!

昨晚沉寂已久的小程序又在深夜向我们发射了四大新能力 ? 1 升级实时音视频录制及播放能力 小程序拥有实时录制音、视频和播放音视频组件啦! 符合类目要求的小程序自...

235100
来自专栏EAWorld

关乎DevOps成败的三个火枪手

本文梗概: 刚开始接触持续部署、微服务(MS)和容器,你可能觉得这三个东西毫无关联。因为DevOps并没有规定持续部署中需要使用微服务,也没有要求微服务必须打包...

38280
来自专栏WeTest质量开放平台团队的专栏

月活8.89亿背后:微信工程师细数兼容测试经验

微信团队通过自动化、云端化测试,在兼容性和功能测试方面效率提升了1倍多,更快速、精准地定位解决问题,累计发现并解决的问题数达数千个,覆盖亿级用户,提供了流畅稳定...

2K00
来自专栏Debian社区

Kubernetes 1.9发布:Apps Workloads通用版本与生态系统扩展

我们很高兴在今年之内进行第四次——也是最后一次版本更新公告,即Kubernetes 1.9的诞生!

11240
来自专栏技术翻译

何时使用Serverless,何时使用Kubernetes

我经常被问到的一个问题是:我应该使用Serverless还是Kubernetes来构建云原生应用程序?两种计算选项都有利有弊,这取决于您的需求,您应该选择哪种选...

21000

扫码关注云+社区

领取腾讯云代金券