共计 3325 个字符,预计需要花费 9 分钟才能阅读完成。
一、云原生利用
1.1 什么是云原生利用
传统的软件开发流程是瀑布式的,开发周期比拟长,并且如果有任何变更,都要从新走一遍开发流程。在商场如战场的明天,软件一个版本推延公布可能到公布时这个版本在市场上就曾经过期了;而竞争对手很可能因为在新软件公布上快了一步就抢占了客户和市场。
相比于传统利用,云原生利用十分重视上市速度。云原生利用是独立的、小规模涣散耦合服务的汇合,旨在充分利用云计算模型进步利用公布速度、利用灵活性和利用代码品质,并升高利用部署危险。尽管名字中蕴含“云原生”三个字,但云原生的重点并不是利用部署在何处,而是如何构建、部署和治理利用。通过表 1-1,咱们能够比拟清晰地看出云原生利用与传统利用之间的差异。
1.2 云原生利用开发和部署的四大准则
云原生利用所构建和运行的利用,旨在充分利用基于四大准则的云计算模型。
- 基于服务的架构:基于服务的架构(如微服务)提倡构建涣散耦合的模块化服务。采纳基于服务的涣散耦合设计,可帮忙企业进步利用创立速度,升高复杂性。
- 基于 API 的通信:即通过轻量级 API 来进行服务之间的互相调用。通过 API 驱动的形式,企业能够通过所提供的 API 在外部和内部创立新的业务性能,极大晋升了业务的灵活性。此外,采纳基于 API 的设计,在调用服务时可防止因间接链接、共享内存模型或间接读取数据存储而带来的危险。
- 基于容器的基础架构:云原生利用依附容器来构建跨技术环境的通用运行模型,并在不同的环境和基础架构(包含私有云、公有云和混合云)间实现真正的利用可移植性。此外,容器平台有助于实现云原生利用的弹性扩大。
- 基于 DevOps 流程:采纳云原生计划时,企业会应用麻利的办法,根据继续交付和 DevOps 准则来开发利用。这些办法和准则要求开发、质量保证、平安、IT 运维团队以及交付过程中所波及的其余团队以合作形式构建和交付利用。
在理解了云原生利用开发和部署的四大准则后,咱们接下来介绍云原生利用的构建之路。
二、云原生利用构建之路的步骤
云原生利用的构建之路一共分为 6 个步骤。
步骤 1:倒退 DevOps 文化和实际。
要实现云原生利用的构建之路,开发和 IT 运维团队必须进行多方面的改革,以便更加疾速高效地构建和部署利用。各行各业的客户都须要周全地思考各种流动、技术、团队和流程,因为这些因素综合起来能力实现 DevOps 文化。
因而,要想充分利用新技术,采纳更加疾速的计划,实现更为亲密的单干,企业必须切实遵循 DevOps 的准则和文化价值,并围绕这些价值来进行组织和布局。借助于 Red Hat 的 OpenShift,企业能够实现 DevOps 以及进一步的 DevSecOps 技术的落地。
步骤 2:借助轻量级应用服务器,为现有单体利用提速。
在开启云原生利用之旅时,企业不能只关注开发新的利用。很多传统利用都是确保企业顺利经营和一直创收的关键所在,不能简略地取而代之。企业需将这类利用与新的云原生利用整合到一起。然而,如何放慢现有单体式利用的运行速度呢?
正确的办法是:将现有的单体式架构迁徙到模块化水平更高且基于服务的架构中,并采纳基于 API 的通信形式,从而施行疾速单体式计划。在开始施行将单体式利用重构为微服务的艰巨工作前,企业应该先为他们的单体式架构奠定松软的根底。尽管单体式利用的敏捷性欠佳,但其受到诟病的次要起因是本身的构建形式。运行疾速的单体式利用能够实现微服务所能带来的诸多敏捷性劣势,而且不会减少相干的复杂性和老本。
通过对疾速单体式计划进行评估,能够确保利用在构建时遵循严苛的设计准则,以及正确定义域边界。这样,企业就能在须要时以更加循序渐进、危险更低的形式过渡至微服务架构。如能以这种形式实现疾速单体式利用的转型,即可为低劣的微服务架构打下扎实的根底。
借助于 Red Hat OpenShift 和轻量级的应用服务器 Red Hat JBoss EAP,咱们能够将传统单体利用迁徙到容器中,为现有单体利用提速。随着 OpenShift 承载的单体利用越来越多,就会波及传统 ESB 分布式的问题,即分布式集成。
步骤 3:借助 PaaS 平台和 DevOps 放慢利用开发速度。
可复用性始终都是减速软件开发的关键所在,云原生利用也不例外。然而,云原生利用的可复用组件必须通过优化,并整合到容器 PaaS 平台和 DevOps 中。例如,CI/CD 开发流水线、PaaS 提供的滚动降级和蓝 / 绿部署、主动可扩展性、容错等,能够大幅晋升云原生利用的开发速度。
步骤 4:抉择适合的利用开发框架。
随着物联网(IoT)、机器学习、人工智能(AI)、数据挖掘、图像识别、主动驾驶等新兴技术的衰亡,应运而生的利用开发框架也越来越多,如图 1-1 所示。咱们须要依据特定的业务利用需要来抉择语言或框架,因而不同的云原生利用会采纳不同的利用开发框架。这就要求容器 PaaS 平台可能反对多种利用开发框架。Red Hat OpenShift 能够撑持多种利用开发框架。
步骤 5:借助可反复的流程、规定和框架,实现 IT 自动化,减速利用交付。
通过 IT 自动化流程、防止手动执行 IT 工作,是减速交付云原生利用的重点。IT 自动化管理工具会创立可反复的流程、规定和框架,以代替或缩小会提早上市的劳动密集型人工。这些工具能够进一步延长到具体的技术(如容器)、办法(如 DevOps),再到更宽泛的畛域(如云计算、安全性、测试、监控和警报)。因而,自动化是 IT 优化和数字化转型的要害,能够缩短实现价值所需的总时长。
步骤 6:推动改革,采纳模块化水平更高的架构。
在微服务开发架构中,利用被拆分成最小的组件,并彼此独立。此种软件开发计划强调高精度、轻量化,力求在多个利用中共享类似的流程。尽管微服务架构不要求应用特定的底层基础架构,但基于容器的平台更易于微服务的落地。
通过微服务架构,企业能够在一天内屡次执行生产部署。从架构的角度来看,微服务需将每一个服务拆分成各自的部署单元。随后,用户可独自治理和部署每个微服务,并且可能由不同的团队来负责各个微服务的生命周期。然而,施行微服务架构须要肯定的投资和技能,企业在引入微服务时,能够采纳 Monolith First 计划,即先构建一个单体式利用。
这样做的目标是:先充沛了解你的利用所属的域,而后更好地辨认其所蕴含的无限上下文,这些上下文将作为转换成微服务的候选内容。这有助于防止技术债权,比方因不理解利用的所属域和无限上下文就构建一组微服务而产生的修复老本。可能反对不同的框架、语言和云原生利用开发计划的企业级 PaaS 平台(如 OpenShift),是云原生利用胜利的要害。
除此之外,在应用微服务后,咱们还应思考云原生利用的平安,如认证受权、单点登录、流量管制等。随着微服务的遍及、业务零碎复杂性的减少,咱们还须要思考 API 治理和业务零碎分布式集成。
内容起源:中生代技术
更多对于基于 OpenShift 构建云原生利用的内容举荐浏览《云原生利用构建:基于 OpenShift》。
作者:魏新宇,红帽资深解决方案架构师。在 IaaS、PaaS 方面有丰盛的教训,致力于开源解决方案在企业中的推广和利用。从售前角度主导了红帽在金融、汽车行业的 PaaS 方面的多个我的项目。
曾就任于华为、IBM、VMware,工作波及畛域包含硬件、AIX/Linux、虚拟化、PaaS、DevOps、微服务等。
畅销书《OpenShift 在企业中的实际 PaaS DevOps 微服务》《云原生利用构建:基于 OpenShift》联结作者。取得红帽 RHCA Level 5 认证、RHCE 认证,以及 ITIL V3、Cobit5、TOGAF、C-STAR/TOGAF(鉴定级)相干认证。通过“大魏分享”(david-share)微信公众号,分享了很多我的项目实践经验。
申明:文章取得作者受权在 IDCF 社区公众号(devopshub)转发。优质内容共享给思否平台的技术伙伴,如原作者有其余思考请分割小编删除,致谢。
5 月每周四晚 8 点,【冬哥有话说】品质与测试专场。公众号留言“品质”可获取地址,回复“回放”可获取回放视频地址
- 0506 朱少民《如何最大化软件测试效力》
- 0513 陈琦《数据驱动测试》
- 0520 陈霁《没错,去 QA 是提高质量最无效的办法!》
- 0527 施慧斌《DevOps 实际之继续测试》