您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

什么是云原生,有哪些技术选型?

时间:2024-04-29 12:49:07  来源:  作者:JaneYork

云原生(Cloud Native)是一种构建和运行应用程序的方法论,它代表着一种充分利用云计算模型的设计思想和工程实践。在云原生架构下,应用从设计之初就考虑到在分布式系统和云环境中的部署、扩展、运维与管理,从而实现高可用性、弹性和可移植性。云原生技术体系主要围绕以下几个核心技术和选型:

  1. 容器化:通过 Docker 或类似的容器技术来打包、分发和运行应用程序,确保应用在不同环境中的一致性,并简化部署流程。
  2. 容器编排:使用 Kube.NETes (K8s) 等容器编排平台来自动化容器集群的部署、管理和扩展。
  3. 微服务架构:将复杂应用拆分为一组小型、独立的服务,每个服务可以独立部署、扩展和维护,例如通过Spring Boot、gRPC等框架实现。
  4. 服务发现与治理:如Istio、Consul等工具用于实现服务间的自动发现、负载均衡、熔断限流等功能。
  5. 消息队列中间件(MQ):在微服务间进行异步通信时,需要选择适合的MQ技术,例如RabbitMQ、Apache Kafka、RocketMQ或NATS等。
  6. API网关:如Envoy、Kong或Netflix Zuul等组件处理服务对外接口的统一接入、路由和安全策略。
  7. DevOps工具链:包括持续集成/持续部署(CI/CD)工具如Jenkins、GitLab CI/CD、Travis CI等;配置管理工具如Ansible、Terraform;以及日志监控分析工具如ELK Stack、Prometheus、Grafana等。
  8. 远程过程调用(RPC):如gRPC、Thrift等用于微服务之间的高效通信。
  9. 声明式基础设施:采用如Helm charts或Kubernetes的YAML资源定义文件来描述应用所需的基础设施。
  10. 存储解决方案:云原生环境下的数据持久化方案,比如分布式数据库(如CockroachDB、TiDB)、云数据库服务等。

以上是云原生技术选型中的一些关键领域,在实际项目中,还需要根据业务需求、团队能力、成本等因素综合考虑并作出合适的技术决策。

持续集成/持续部署(CI/CD)是DevOps实践中非常关键的一环,用于自动化软件构建、测试和发布的过程。以下是一些广泛使用的持续集成和持续部署工具:

持续集成工具(CI Tools):

  1. Jenkins:开源的、可扩展的自动化服务器,支持各种插件以适应不同的开发环境和工具链,适用于多种语言和框架的项目。
  2. Travis CI:早期主要服务于开源社区,现也提供商业版本,易于配置,与Github和GitLab集成紧密。
  3. CircleCI:基于云的CI/CD平台,以其快速的执行速度和强大的容器化支持而知名。
  4. GitLab CI/CD:作为GitLab的一部分,它提供了从代码存储库到生产环境的端到端自动化流程。
  5. Azure DevOps Pipelines:微软提供的服务,支持多语言、多平台的持续集成与交付,整合了Visual Studio Team Services的功能。
  6. Bitbucket Pipelines:Atlassian产品,专门为Bitbucket用户提供内置的CI/CD功能。
  7. TeamCity:由JetBrAIns公司开发的企业级持续集成系统,用户界面友好且高度可定制。
  8. Drone.io:轻量级的CI/CD平台,强调易用性和性能,并且可以部署在自建服务器或云端。

持续部署工具(CD Tools):

尽管很多CI工具本身就包含了CD能力,但仍有一些专门针对部署环节的工具:

  1. Spinnaker:Netflix开源的多云部署管理系统,支持复杂的CD策略,包括蓝绿部署、金丝雀发布等。
  2. Octopus Deploy:专为.NET应用程序设计,但也可用于其他类型的应用程序部署,尤其擅长处理多环境、多步骤的部署流程。
  3. AWS CodeDeploy:Amazon Web Services提供的服务,用于自动化的应用部署到EC2实例、Lambda函数或On-Premises服务器上。
  4. google Cloud Deployment Manager:Google Cloud Platform中用于管理基础设施资源和服务部署的工具。
  5. Ansible Tower:Ansible的一个企业级解决方案,用于大规模部署和IT自动化管理。
  6. Chef Automate 和 Puppet Enterprise:这两者都是配置管理和部署工具,通过声明式语法定义基础设施和应用状态,并能实现自动化的变更管理和部署。

这些工具通常相互之间有所重叠,都能不同程度地支持构建、测试以及将代码部署到不同环境中的自动化流程。选择合适的工具时,需要考虑团队的技术栈、云服务提供商、现有工具集成需求、成本等因素。

在国内,随着DevOps理念的普及和云原生技术的发展,也涌现出了许多优秀的国产持续集成/持续部署(CI/CD)工具,以下是一些国内研发或广泛应用的CI/CD工具:

  1. Jenkins:虽然不是国产,但在中国市场有着广泛的用户基础,并且有大量的本地化插件和服务支持。
  2. Gokins:一款由国人开发的轻量级、易部署的持续集成与交付工具,采用Go语言编写,具有高效、简单易用的特点,适用于多种环境下的自动化流水线构建。
  3. 阿里云CodePipeline:阿里巴巴集团提供的云服务,集成了代码托管、构建、测试、发布等功能,为用户提供一站式的持续集成和持续交付解决方案。
  4. 腾讯蓝盾Tencent Bluedog CI/CD:腾讯云提供的持续集成与持续部署服务,具备高性能、高可用以及深度集成腾讯内部众多服务的能力。
  5. 华为云DevCloud:华为推出的云上软件开发平台,包含了从项目管理、代码托管到构建、测试、部署等全流程DevOps工具链。
  6. CODING 持续集成:CODING 是国内的一站式云端研发管理平台,其持续集成服务支持多种语言和框架,方便团队进行自动化构建和测试。
  7. 网易灵犀:网易公司推出的DevOps平台,提供了包括CI/CD在内的全套研发流程解决方案。
  8. OneFlow:DaoCloud开源的一款容器编排引擎,可用于实现CI/CD流程中的任务调度和自动化部署。

这些工具均旨在满足不同规模企业的需求,帮助企业实现敏捷开发、快速迭代和高效运维。



Tags:云原生   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
什么是云原生,有哪些技术选型?
云原生(Cloud Native)是一种构建和运行应用程序的方法论,它代表着一种充分利用云计算模型的设计思想和工程实践。在云原生架构下,应用从设计之初就考虑到在分布式系统和云环境中...【详细内容】
2024-04-29  Search: 云原生  点击:(0)  评论:(0)  加入收藏
2024年的云原生架构需要哪些技术栈
背景时间过得很快啊,一转眼已经到了 2024 年,还记得 15 年刚工作那会掌握个 SSM/H(Spring/Struts2/Mybatis/Hibernate) 框架就能应付大部分面试了。现在 CS 专业的新同学估计...【详细内容】
2024-04-22  Search: 云原生  点击:(6)  评论:(0)  加入收藏
哈啰云原生架构落地实践
一、弹性伸缩技术实践1.全网容器化后一线研发的使用问题全网容器化后一线研发会面临一系列使用问题,包括时机、容量、效率和成本问题,弹性伸缩是云原生容器化后的必然技术选择...【详细内容】
2024-03-27  Search: 云原生  点击:(16)  评论:(0)  加入收藏
云原生数据库 GaiaDB 架构设计解析:高性能、多级高可用
百度智能云团队在今年 11-12 月特别推出了四期《百度智能云数据库》系列云智公开课,为大家全面地介绍了以云原生数据库 GaiaDB 和分布式数据库 GaiaDB-X 为代表的百度智能云...【详细内容】
2023-12-13  Search: 云原生  点击:(137)  评论:(0)  加入收藏
10个必知必会的云原生架构设计模式
在构建云原生应用程序时,采用了一些不同的软件架构方法。云原生应用程序通常采用微服务架构,以最大程度地利用云计算模型的优势。这些应用程序需要能够在动态编排和容器化环境...【详细内容】
2023-12-04  Search: 云原生  点击:(165)  评论:(0)  加入收藏
为什么 Traefik 是云原生首选网关?
根据 Traefik Labs 团队对于 Traefik 在云原生生态中的定位:云原生反向代理和负载均衡器及网关解决方案。一、从生态拥抱视角看:Traefik 的发展前景从云原生生态视角来看,Traef...【详细内容】
2023-11-29  Search: 云原生  点击:(67)  评论:(0)  加入收藏
云原生小技巧 : 如何在本地调试 Kubernetes Webhook?
如果你是一名 Kubernetes Operator 的开发者,你曾经是否面临过这样一个棘手的问题:如何在本地环境中高效地调试 Webhook,尤其是在涉及有效证书回调的情况下。这篇文章旨在提供...【详细内容】
2023-11-27  Search: 云原生  点击:(239)  评论:(0)  加入收藏
使用Java构建云原生监控与日志系统
随着云计算的兴起,云原生架构的应用越来越广泛。在云原生架构中,监控和日志系统是至关重要的组成部分,它们帮助开发人员实时监测和分析系统的性能和运行状态。下面将介绍如何使...【详细内容】
2023-11-17  Search: 云原生  点击:(249)  评论:(0)  加入收藏
抖音云原生向量数据库从“非主流”到“新常态”的演变
一、向量数据库产生的背景1、非结构化数据检索问题结构化数据是指可以表示成二维表格的数据,它有明确固定的字段和类型。而非结构化数据是指不能表示成二维表格的数据,例如:文...【详细内容】
2023-10-31  Search: 云原生  点击:(258)  评论:(0)  加入收藏
Spring Cloud微服务架构:构建弹性和可伸缩的云原生应用
Spring Cloud是一个开源的微服务架构框架,它基于Spring Boot构建,通过一系列的组件和工具,为开发人员提供了快速构建弹性和可伸缩的云原生应用的能力。Spring Cloud的核心概念1...【详细内容】
2023-10-12  Search: 云原生  点击:(332)  评论:(0)  加入收藏
▌简易百科推荐
什么是云原生,有哪些技术选型?
云原生(Cloud Native)是一种构建和运行应用程序的方法论,它代表着一种充分利用云计算模型的设计思想和工程实践。在云原生架构下,应用从设计之初就考虑到在分布式系统和云环境中...【详细内容】
2024-04-29  JaneYork    Tags:云原生   点击:(0)  评论:(0)  加入收藏
监控 Kafka,这十个指标请考虑!
使用消息队列可以帮助我们实现系统解耦、流量管控等功能。但使用过程中可能会遇到各种各样的问题,比如系统资源使用率高、集群节点宕机等,进而影响我们生产业务正常开展。为了...【详细内容】
2024-04-29  君哥聊技术  微信公众号  Tags:Kafka   点击:(1)  评论:(0)  加入收藏
引入缓存竟然会带来这么多问题?
哈喽,大家好呀,我是呼噜噜,最近很忙好久没更新了,今天我们通过缓存与数据库之间的一致性这个老生常谈的问题来切入,聊聊如何合理的设计一个缓存系统?如今互联网应用,无论是web还是...【详细内容】
2024-04-29  小牛呼噜噜  微信公众号  Tags:缓存   点击:(2)  评论:(0)  加入收藏
对DevOps的九大误解,是时候纠正了!
DevOps是开发和运维的结合,有助于集成和自动化测试过程以及部署存储库,还提供了透明度以及灵活性。DevOps的目标如下: 更快的上市时间(TTM); 减少各种修复之间的前置时间; 提高部...【详细内容】
2024-04-26  陈哥聊测试    Tags:DevOps   点击:(0)  评论:(0)  加入收藏
五种搭建LLM服务的方法和代码示例
在不断发展的大型语言模型(LLMs)领域中,用于支持这些模型的工具和技术正以与模型本身一样快的速度进步。在这篇文章中,我们将总结5种搭建开源大语言模型服务的方法,每种都附带详...【详细内容】
2024-04-23  DeepHub IMBA    Tags:LLM   点击:(9)  评论:(0)  加入收藏
DevOps已死?2024年的DevOps将如何发展
随着我们进入2024年,DevOps也随之发生变化。新兴的技术、变化的需求和发展的方法正在重新定义有效实施DevOps实践。IDC预测显示,未来五年,支持DevOps实践的产品市场继续保持健...【详细内容】
2024-04-17  陈哥聊测试    Tags:DevOps   点击:(0)  评论:(0)  加入收藏
Meta如何将缓存一致性提高到99.99999999%
介绍缓存是一种强大的技术,广泛应用于计算机系统的各个方面,从硬件缓存到操作系统、网络浏览器,尤其是后端开发。对于Meta这样的公司来说,缓存尤为重要,因为它有助于减少延迟、扩...【详细内容】
2024-04-15    dbaplus社群  Tags:Meta   点击:(7)  评论:(0)  加入收藏
SELECT COUNT(*) 会造成全表扫描?回去等通知吧
前言SELECT COUNT(*)会不会导致全表扫描引起慢查询呢?SELECT COUNT(*) FROM SomeTable网上有一种说法,针对无 where_clause 的 COUNT(*),MySQL 是有优化的,优化器会选择成本最小...【详细内容】
2024-04-11  dbaplus社群    Tags:SELECT   点击:(6)  评论:(0)  加入收藏
10年架构师感悟:从问题出发,而非技术
这些感悟并非来自于具体的技术实现,而是关于我在架构设计和实施过程中所体会到的一些软性经验和领悟。我希望通过这些分享,能够激发大家对于架构设计和技术实践的思考,帮助大家...【详细内容】
2024-04-11  dbaplus社群    Tags:架构师   点击:(5)  评论:(0)  加入收藏
Netflix 是如何管理 2.38 亿会员的
作者 | Surabhi Diwan译者 | 明知山策划 | TinaNetflix 高级软件工程师 Surabhi Diwan 在 2023 年旧金山 QCon 大会上发表了题为管理 Netflix 的 2.38 亿会员 的演讲。她在...【详细内容】
2024-04-08    InfoQ  Tags:Netflix   点击:(10)  评论:(0)  加入收藏
站内最新
站内热门
站内头条