云原生应用的10大关键属性


“云原生(Cloud Native)”是用于描述基于容器的环境的术语。云原生技术被用于开发应用程序,这些应用程序是使用容器打包的服务构建的、被部署为微服务、并通过灵活的DevOps流程和持续交付工作流在弹性基础架构上进行管理。


在运维团队手动管理传统应用程序的基础架构资源分配的情况下,云原生应用程序部署在抽象了底层计算、存储和网络原语的基础架构上。处理这种新型应用程序的开发人员和运维人员不直接与基础架构提供商公开的API交互。相反的,编排器会根据DevOps团队制定的策略自动进行资源分配。控制器和调度程序是编排引擎的基本组件,负责处理资源分配问题和应用程序的生命周期。

像Kubernetes这样的云原生平台使用扁平网络,该网络覆盖在云提供商的现有网络拓扑和原语上。类似地,本地存储层通常被抽象出来,以暴露与容器集成的逻辑卷。运维人员可以分配开发人员和资源管理员访问的存储配额和网络策略。基础架构抽象不仅解决了跨云环境的可移植性需求,还让开发人员可以利用新兴模式来构建和部署应用程序。无论基于物理服务器或虚拟机,私有云或公共云的底层基础架构如何,编排管理器都将成为部署目标。

Kubernetes是一个运行云原生应用程序工作负载的理想平台。它已经成为云的事实上的操作系统,就像Linux是底层机器的操作系统一样。只要开发人员在设计和开发软件时,遵循其作为云原生应用程序的微服务的最佳实践,DevOps团队就能够在Kubernetes中打包和部署它们。以下是开发人员在设计云原生应用程序时应牢记的云原生应用程序的10个关键属性。


1、打包为轻量级容器:云原生应用程序是打包为轻量级容器的独立自治服务的集合。与虚拟机不同,容器可以快速扩缩容。将扩展单元转移到容器,能够优化基础架构利用率。

2、使用最佳语言和框架开发:云原生应用程序的每项服务都是使用最适合该功能的语言和框架开发的。云原生应用程序是多语言的,服务会使用各种不同的语言、运行时和框架。例如,开发人员可以构建基于在Node.js中开发的WebSockets的实时流服务,同时选择Python和Flask来暴露API。开发微服务的细粒度方法使它们能够为特定任务选择最佳语言和框架。

3、设计为松耦合的微服务:属于同一应用程序的服务通过应用程序运行时来发现彼此。它们独立于其他服务而存在。正确集成时,弹性基础架构和应用程序架构可以高效地、以高性能来进行扩展。

松耦合的服务让开发人员可以在处理每个服务时都能够独立于其他服务来工作。通过这种分离,开发人员可以专注于每项服务的核心功能,以提供细粒度的功能。这种方法可以实现整个应用程序的有效生命周期管理,因为每个服务都是独立维护的,并且拥有明确的所有权。

4、以API为中心进行交互和协作:云原生服务使用轻量级API,这些API基于REST、gRPC或NATS等协议。REST通常被用作通过HTTP公开API的最低公分母。为了提高性能,gRPC通常用于服务之间的内部通信。NATS具有发布-订阅功能,可在应用程序内实现异步通信。

5、在架构中将无状态和有状态服务清晰分离:持久耐用的服务通常遵循不同的模式,以确保更高的可用性和弹性。无状态服务和有状态服务是彼此独立存在的。存储会影响容器的使用。我们必须越来越多地在有状态、无状态、微存储环境(这一点有些人可能觉得有争议)等不同语境下考虑持久性这一因素。

6、与服务器和操作系统依赖关系隔离:云原生应用程序与任何特定操作系统或单个计算机没有关联。它们在更高的抽象级别上运行。唯一的例外是微服务需要某些功能,包括固态驱动器(SSD)和图形处理单元(GPU),这些功能可能由一部分机器专门提供。

7、部署在自服务的弹性云基础架构上:云原生应用程序部署在虚拟的、共享的和弹性的基础架构上。它们可以与底层基础架构保持一致,以动态增长和缩小——根据不同的负载来自我调节。

8、通过敏捷DevOps流程进行管理:云原生应用程序的每项服务都会经历一个独立的生命周期,通过敏捷的DevOps流程进行管理。多个持续集成/持续交付(CI / CD)流水线可以协同工作以部署和管理云原生应用程序。

9、自动化功能:云原生应用程序可以高度自动化。它们与Infrastructure as Code的概念相得益彰。企业需要一定程度的自动化来管理大型和复杂的应用程序。

10、定义的、策略驱动的资源分配:最后,云原生应用程序与通过一组策略定义的治理模型一致。它们遵循CPU和存储配额以及将资源分配给服务的网络策略等策略。例如,在企业方案中,中央IT可以定义策略来为每个部门分配资源。每个部门的开发人员和DevOps团队都拥有对其资源共享的完全访问权和所有权。

原文地址:http://blog.51cto.com/12462495/2154251

时间: 2024-11-08 11:01:28

云原生应用的10大关键属性的相关文章

黑帽SEO作弊的10大关键手法

黑帽SEO作弊的10大关键手法 我今天分享黑帽SEO的作弊方法,不是让大家去学习怎么做黑帽SEO,而是能够让大家知道什么样的手法是黑帽,知道了我们就可以去避免发生这种情况,下面我会详细的说下常用的黑帽SEO手法. 1.利用高权重网站 大家都知道高权重的网站对于我们站点排名的影响是很大的,那么很多黑帽SEO就会利用这些高权重的网站去做链接,大批量的去做,完全的.单一的关键 词指向.他们的目的就是利用这些高权重网站导出的链接并传递权重,迅速的提升某关键词的排名,当然这样肯定不会长久,但也许这些人就是

数千台服务器,千万用户量:居然之家两年云原生改造历程

导读:传统企业的决策链路通常是自上而下的形式,因此在互联网化改造中,不仅仅是研发层面,整个公司的管理人员都需要做好知识升级和观念更新,这也是躺平设计家在过去几年的上云之路所经历的.本文将聚焦居然之家利用阿里云容器服务(ACK) 进行云原生实践历程,期待能帮助读者了解传统企业从传统单体架构向云原生演变的实践路径. 2009 年,居然设计家 (Homestyler) 研发团队正式成立,开始进行第一个版本的探索:如今,十年已过,居然设计家正式更名为躺平设计家,用户量近千万.在两年多的云原生实践改造过程

云原生存储和云存储有什么区别?

作者 |?李鹏(壮怀) 阿里云智能事业群高级技术专家 导读:新的企业负载/智能工作负载容器化.迁云.存储方面遇到的性能.弹性.高可用.加密.隔离.可观测性以及生命周期等方面的问题,不但需要存储产品层次的改进,更需要在云原生的控制/数据平面的改进,推进云原生存储和云存储的演进.本文将介绍一下问题场景,探讨可行的解决方案,最终得出云原生存储以及云存储目前可以做什么和未来还需要做什么. 引言 最近有幸参加了由 Infra Meetup 联合 Kubernetes & Cloud Native Meet

2020云原生7大趋势预测!

2020云原生7大趋势预测! 过去的几年,是云原生技术和理念得到广泛接受的几年.在这个快速发展的领域,预测未来显得尤其困难,但是我们又有着一些坚定的信念,相信以开放创新为支撑的云原生领域会持续重塑软件生命周期,带来不断的价值. 2019,在众多热门技术趋势中,云原生的关注度居高不下,很多开发者都对由此而兴起的一众技术十分追捧,众多企业开始探索云原生架构转型落地.在中国,开发者们经历了从关注“云原生概念”到关注“云原生落地实践”的转变. 在筹备阿里云首届云原生实践峰会的过程中,我们展开了对云原生技

拿下 Gartner 容器产品第一,阿里云打赢云原生关键一战!

作者?| 易立(阿里云容器服务研发总监).伍杏玲 导读:近日,Gartner 发布 2020 年公共云容器报告.据报告显示,阿里云和 AWS 拥有最丰富的产品布局,覆盖 9 项产品能力,并列排名第一.具体详情可查看:<Gartner 容器报告:阿里云与 AWS 并列第一,领先微软.谷歌>. 据 Gartner 分析师评论,阿里云拥有丰富的容器产品形态,在中国市场表现强劲,在 Serverless 容器.服务网格.安全沙箱容器.混合云和边缘等 9 个产品领域具备良好的技术发展策略. 阿里云已连续

【云简评】之七《Forrester 2015年10大云预测》

2015-01-08张晓东东方云洞察 点击上面的链接文字,可以快速关注"东方云洞察"公众号 摘要:Forrester发布了2015年的云师大预测,整个预测技术性较强,非IT业内人士读起来可能有点费劲.笔者自认为也是资深云分析师了,就着它们的预测做个简单的点评,表达一些自己的看法. 云计算是一种颠覆性的技术,以及抗其功率是徒劳的.其实我更认为云本身对商业的改变是更大的颠覆,也是云真正的大价值,云的商业方面应该是更多一些. Forrester Research针对云的2015年的预测,其中

Ubuntu 19.10 发布 | 云原生生态周报 Vol. 24

作者 | 木苏.进超.冬岛.元毅.心水.衷源 业界要闻 1.云原生编程语言 Pulumi 1.0 pulumi ,一款中立的开源云开发平台,Pulumi 支持多语言.混合云环境.完全可扩展.初期支持 JavaScript.TypeScript.Python 和 Go 语言,支持 AWS.Azure.GCP 云平台,另外还支持所有兼容 Kubernetes 的公有云.私有云和混合云.Pulumi 实现了一种单一.一致的编程模型,一组编程工具,可管理所有以上环境,丰富的生态系统支持大量可复用的包.1

微服务架构与实践及云原生等相关概念

微服务架构与实践 笔记:<微服务架构与实践> 王磊 著 一 单块架构 1 定义:对于这种功能集中.代码和数据中心化.一个发布包.部署后运行在同一进程的应用程序,我们通常称之为单块架构应用,并非物理上的分层. 2 单层架构:数据 逻辑 页面 混合 3 三层架构: 1)表示层:数据显示和用户交互 2)业务逻辑层:业务逻辑处理 3)数据访问层:数据存储访问 4 优势: 比较适合小项目 易于开发:开发简单直接,集中式管理,基本不会重复开发,集成工具适合 易于测试:单进程 易于部署:单项目包,功能都在本

深度解读阿里巴巴云原生镜像分发系统 Dragonfly

Dragonfly 是一个由阿里巴巴开源的云原生镜像分发系统,主要解决以 Kubernetes 为核心的分布式应用编排系统的镜像分发难题.随着企业数字化大潮的席卷,行业应用纷纷朝微服务架构演进,并通过云化平台优化业务管理.Dragonfly 源于阿里巴巴,从实际落地场景出发,前瞻性地解决了云原生镜像分发的__效率.流控与安全__三大难题. Dragonfly 目前承载了阿里全集团 90%以上的文件下载任务.日分发峰值达到 1 亿次,100%成功支撑双十一营销活动数据抵达数万台机器,github