首页>>互联网>>DevOps->阿里云devops怎么用(2023年最新整理)

阿里云devops怎么用(2023年最新整理)

时间:2023-11-29 本站 点击:0

导读:今天首席CTO笔记来给各位分享关于阿里云devops怎么用的相关内容,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

Devops的开发模式如 何实现?求知道

找 工程师来做,他们一般都可以,当然如果我们参加过认证也是可以的。 可以咨询谷安天下。

阿里云 云效Devops流水线Flow自动化部署Docker项目

Dockerfile

1、新建流水线

2、选择模板

4、选择阿里云容器镜像服务仓库构建镜像

5、添加新任务选择Docker部署

6、选择主机

7、部署脚本

8、保存并运行发布

9、回滚操作

基于容器的DevOps平台应该提供哪些功能

“DevOps”提倡开发和IT运维之间的高度协同,它拓展和完善了持续集成和发布流程,从而能够提高复杂的分布式应用的开发和运维效率,加快交付速度。DevOps的理论已经响彻业界,快节奏的互联网公司大都已经按照不同的方式在公司内部的研发体系中引入了DevOps流程,它的效果也已经得到了实践验证。公有云巨头们都了提供DevOps服务,例如亚马逊的AWS OpsWorks、阿里云的CRP持续交付平台、网易蜂巢等;一些新兴的创业公司例如时速云、DaoCloud、灵雀云等也都提供了基于容器云平台的DevOps服务解决方案。

然而,DevOps只是一个方法、过程的统称。 运维人员可以自己编写脚本或者使用Puppet、chef、Docker等自动化配置工具实现DevOps的流程(我们的项目就是通过自己攒的工具实现了DevOps流程),也可以由专门的平台提供全套DevOps解决方案,但是这个平台该有什么具体功能、该如何实现,并没有标准答案。

本章节将简要对比分析业内的各平台提供的DevOps平台服务功能及实现方式,并且依据自身项目的实践经验,梳理出适合支持DevOps流程的、比较实用且适合为企业提供容器服务的平台需求。

几家DevOps相关平台的对比

如表所示简要对比了阿里云CRP平台、阿里云容器服务、网易蜂巢、时速云、DaoCloud几家:

阿里云CRP(持续发布平台):主要作用是在Dev阶段提供快速构建、发布功能,最终能直接将开发成果发布到阿里云ESC上,Ops部分就由ESC接管了。具体来说平台提供项目代码管理、代码构建、持续集成、持续发布功能,其功能亮点在于可视化的CI、CD流程,代替了Jenkins的部分功能,不过个人感觉简化了的可视化发布向导,方便得同时有失灵活性。

阿里云容器服务平台、时速云和DaoCloud差不多:包括构建源代码将应用打包成容器镜像、将容器部署到云端、镜像仓库管理、服务编排、平台对运行的容器及集群进行调度管理、支持负载均衡及数据卷等功能。可以说把Dev阶段和Ops阶段连接起来了,但是更侧重于Ops阶段的容器管理。

网易蜂巢:功能纯粹只管Ops阶段,支持用户把镜像提交到镜像仓库,然后在平台上部署容器、并提供容器调度及负载均衡等操作。

容器服务平台针对运维阶段应该具备的重点功能:

Google在很早以前就已经把容器应用到生产运维环境了,目前,包括腾讯、新浪、京东在内越来越多的国内互联网企业已经在生产环境中受益于容器的轻量和敏捷性,大幅提高了运维资源使用效率,据京东员工发布的技术文章提到:今年618核心业务都容器化了。因而主流的容器服务平台都在容器弹性调度和容器集群管理方面下功夫,具体来说对于运维的支持以下功能是必不可少的:

i. 镜像仓库:镜像仓库中需要具有较为丰富的基本镜像;并且支持用户高速的上传、下载镜像,并且镜像仓库需要有一定的权限控制;

ii. 容器调度管理:容器实例的启、停;容器集群资源管理;弹性伸缩;实例的failover;安全控制等。

iii. 相关容器组合的编排管理:包括容器的跨节点关联、涉及到网络和数据共享等功能;容器集的动态生命周期和横向扩展等功能,可实现例如数据库集群部署等复杂的运行环境部署和管理。

iv. 服务发现相关功能:可以让一个应用或者组件动态发现其运行环境以及其它应用或组件的信息,主要场景如负载均衡、环境变量的更新等功能。

v. 运行环境的日志、监控和告警:为保证生产环境正常运行,容器实例及其主机系统级别的日志、监控和告警功能是必不可少的。

容器服务平台针对开发阶段应该具备的重点功能:

随着容器技术的兴起,近1-2年容器技术大会也频繁的召开,根据各家互联网公司的积极分享的实践经验可知:容器重新定义了交付方式,大多数互联网公司已经大规模的把容器引入了开发环节,采用容器交付应用。实践证明:容器的可移植性和良好的隔离性,能够充分提高开发和发布效率。因为各家公司软件开发使用的开发工具和开发流程不同,具体在开发阶段基于容器实现快速开发、部署的功能并没有标准化。这里梳理一下开发阶段的容器服务平台应该具有的功能:

i. 提供基础的开发环境,使得开发者只需要关注代码开发减少相关工具的安装和配置工作量:例如本项目用到的Git库、Docker镜像仓库、禅道、wiki、jenkins等工具;

ii. 利用自动化工具及持续集成工具如Puppet、chef或者原生的脚本、jenkins、Dockerfile等工具,实现自动化的持续集成和持续发布,简化运维工作;

iii. 提供各类服务的容器镜像,可在平台上快速部署开发所需要的服务,并且支持通过环境变量绑定服务;

iv. 实现开发环境、测试环境以及生产环境的隔离以及环境的快速搭建和回收;

v. 持续集成、部署的日志和监控、告警等。

基于阿里云打造「云原生」Web应用——「懒猪行」Web应用开发实践

作者:阿里云MVP 刘远程

背景

『懒猪行』专注于境外自由行S2B业务,涉及分销、终端用户服务、供应链等多个服务环节,随着业务规模的不端增加,我们一直在 探索 Web应用开发的最佳实践,以加快Web应用的迭代效率,为B/C端用户创造更多价值。

云原生

近几年,Spring Cloud为代表的微服务架构越来越火热,吸引了大量创业公司『入坑』。微服务系统的开发与单体应用的开发相比,从团队组织、运维、开发方式等多个方面带来了颠覆式的变化。从2018年开始以Istio、SOFAMesh等为代表的Service Mesh方案逐渐走上舞台,并被称为『下一代微服务架构』。

如果把以容器技术和Service Mesh为基础的IT架构定义为云原生架构,那么Dubbo、Spring Cloud为代表的分布式架构将是促进云原生架构诞生的『中间产物』。

就在18年,云原生计算基金会(CNCF)为云原生技术重新定义:

Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.

『云原生技术帮助公司和机构在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。』

These techniques enable loosely coupled systems that are resilient, manageable, and observable. Combined with robust automation, they allow engineers to make high-impact changes frequently and predictably with minimal toil.

『这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术可以使开发者轻松地对系统进行频繁并可预测的重大变更。』

这种新颖架构方式,不仅提供了完善的软件持续交付链方案,也为我们的应用组织方式带来了巨大的想象空间,甚至在将来可能给整个软件行业带来颠覆式的革命。有一点是显而易见的:原本强耦合在一起的应用被拆分,变身成为能够实现完整子集功能的可插拔式微服务,通过有机的组织让其与其它微服务共同对外提供服务;就如同组装 汽车 的发动机和座椅等,它可以来自全球供应链不同的厂商。以云原生的设计哲学来总结,云原生应用具备微服务, 健康 报告,遥测数据,弹性声明式(非反应式)等特征。

云原生所带来的效果非常明显,但完整的实践确是很容易让人知难而退,因为单Kubernetes一项,从入门到掌握也需要花费3个月左右的时间。但幸运的是,阿里云等公有云平台已经为我们准备好了容器服务(Kubernetes版)产品,并支持通过Kubernetes进行应用的容器化管理。

所有的微服务都和 Envoy sidecar 集成在一起,被集成服务所有的出入流量都被 sidecar 所劫持,这样就为外部控制准备了所需的 Hook,然后就可以利用 Istio 控制平面为应用提供服务路由、遥测数据收集以及策略实施等功能。

懒猪行的架构设计(简化)

在新的架构中,使用了大量的阿里云产品,这鉴于我们过去的经验,阿里云产品在运维上为我们节省了不少精力。

以上架构,是我们走向『云原生』的第一步,距离成熟还有非常大的发展空间,云原生的发展也在发展的起步阶段。按架构,把所有需要持久化的数据,如:文件、图片、数据库等存储到阿里云OSS、RDS及Redis产品,而应用则运行在以K8s管理调度的容器集群中。

阿里云DevOps工具链

阿里云在云原生架构整个生命周期都提供了完善的支持:

部署到Kubernetes_部署到Kubernetes_选择部署方式_用户指南_CodePipeline-阿里云

推荐阅读:

[1] Service Mesher社区:ServiceMesher · Service Mesh|服务网格中文社区

[2] Kubernetes Handbook:序言 · Kubernetes Handbook - Kubernetes中文指南/云原生应用架构实践手册 by Jimmy Song(宋净超)

MVP招募进行中,点击「链接」

什么是IaaS+DevOps的开发模式

如何在竞争激烈的市场中取胜?

包以德循环(OODA Loop)是observe(观察)、orient(调整)、decide(决策)和act(行动)的缩写。 对一个参加空对空战役的飞行员来说,它意味着“杀人还是被杀”。双方都从观察开始,观察自己、观察环境和敌人。 基于观察,获取相关的外部信息,根据感知到的外部威胁,及时调整系统,做出应对决策,并采取相应行动。 双方是在比赛看谁能更快地完成“观察—调整—决策—行动”的循环。

传统开发模式 Vs IaaS开发模式

包以德循环理论同样能够应用于残酷的商战。这也是IaaS服务能够快速发展的原因。和传统开发模式相比,基于IaaS的开发模式可以 快速创建资源,避免审批、采购和安装所需要花费的大量时间,极大的加快了企业行动的速度。

基于PaaS的开发模式

有些人会说,基于PaaS的开发模式能更进一步,企业可以只需要专注于应用开发本身,其他事情PaaS都帮企业解决了(noOps)。

但是,为什么PaaS没有普及起来?原因是,基于PaaS的开发模式,用户得到了速度,但是失去了可控性。

复杂应用难以支持

失去了全栈控制权

PaaS服务本身的不稳定性

对很多用户来说,PaaS可以很好的解决了80%的问题,但是20%的问题无法解决。

基于IaaS+DevOps的开发模式

IaaS+DevOps的开发模式,可以让用户可以在速度和可控性之间取得更好的平衡。IaaS+DevOps的开发模式充分利用IaaS的可编程特性(API), 能够帮助开发人员、测试人员以及运维人员实现应用全生命周期的自动化管理,包括创建环境、软件安装、代码部署、自动配置、监控告警和自动伸缩等, 打通从代码到服务的转化通道,实现了云应用的持续交付和自动化运维。

在亚马逊(AWS)云生态圈中,AWS及其合作伙伴提供了多种应用部署和管理工具,比如CloudFormation、Opsworks、Rightscale、Scalr等。

但是在国内,阿里云和青云生态圈中目前还没有这样的工具,可以说Fit2Cloud的出现填补了这个空白

怎么理解devops

在软件开发的过程中,开发人员负责编写代码,然后将代码交给 QA(质量保障)团队进行测试,然后将最终的发布版交给运维团队去布署。

DevOps 就是 Development(开发)和 Operations(运维)两个词的组合。但这里的组合并不是简单地将两个团队合并,而是要从思维和流程上变革,根据 DevOps 思想重新梳理全流程的规范和标准。

DevOps 既是一种思维方式,同时也是一种工作方式,作为一套促进开发、技术运营和质量保障三个部门之间的沟通、协作与整合的方法论,使得组织的快速迭代,实现竞争优势成为现实。

在 DevOps 的流程下,运维人员会在项目开发期间就介入到开发过程中,了解开发人员使用的系统架构和技术路线,从而制定适当的运维方案。而开发人员也会在运维的初期参与到系统部署中,并提供系统部署的优化建议。

DevOps 的实施,打破了团队内各角色的职能壁垒,让开发人员和运维人员更好地沟通合作,通过自动化流程来使得软件开发的整体过程更加快捷和可靠。

结语:以上就是首席CTO笔记为大家整理的关于阿里云devops怎么用的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于阿里云devops怎么用的相关内容别忘了在本站进行查找喔。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/DevOps/1882.html