怎样玩转容器Devops
主讲人:华为云DevCloud高级产品经理,羊振华
先自我介绍一下,我这边是华为软件开发云的产品经理,今天我大概给大家介绍一下我们这个容器的Devops怎么玩,所以的话呢我们的议题就分为以下几个部分,首先做一下大概一个扫盲吧,介绍一下Devops是什么,然后再介绍一下我们之前没有用东西的话是怎么玩这个Devops的,存在什么问题,然后第三点的话就介绍一下我们容易取得的一些优势,最后的介绍,我们这个容器Devops的一个实践。
什么是容器:。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
容器是操作系统内核自带能力,是基于 Linux内核实现的轻量级高性能資源隔离机制Docker是容器技术之一,核心在于实现应用与运行环境整体打包以及打包格式统。
Docker的英文本意是搬运工,这种搬运工搬运的是集装箱( Container), Docker把App(叫 Payload)装在Container内,通过 Linux Container技术的包装将App变成种标准化的、可移植的、自管理的组件。
容器关键价值:
1.快速交付和部署:一站式部署/运维容器应用,一键式滚动升级。
2.提升资源利用率:更细粒度地划分资源,提高资源利用率。
3.保障业务高可用:秒级弹性扩容,快速响应并发高峰。
4.复杂系统管理简单:单一重型应用解耦拆分为多个轻量模块,每个模块升级伸缩更加灵活,轻松应对市场变化。
Docker的典型应用场景:
简化配置,应用和依赖都打包;
多版本混合部署同;。。。。。。。。。。。。。。。。。。。
流水线 devops;。。。。。。。。。。。。。。。。。。。。。。。。。。
快速部署、升级、回滚;
拆分解耦,隔离应用;。。。。。。。。。。。。。。
用于内部开发环境;。。。。。。。。。。。。。。。。。。
多租户资源隔离;。。。。。。。。。。。。。。。。
华为云容器引擎ccE:。。。。。。。。。。。。。。。。。。。。。。。。。。。。
华为云容器引擎ccE:基于开源 Kubernetes和 Docker技术的企业级容器服务,我们是国内贡献kubernetes开源代码第一的厂商,支持多语言多框架的接入: Java/Python/Go/Node. Js,支持第三方模板&镜像部署K8S Helm/Docker Hub,支持第三方服务&工具Kafka/Nginx/APM/Monitor。
总体来讲华为云容器引擎ccE有以下优势:
多样的生态接入:支持多语言多框架服务接入;支持第三方模板和镜像快速部署。
增强的商用化特性;通过自动化配置、构建、部署提升业务上线效率;通过跨可用区高可用和控制面HA提升业务可靠性;通过物理共享集群提供敏捷可靠的容器适应业务多样性。
完全开放的原生平台:紧跟 Kubernetes和 Docker社区,迅速同步最新版本;支持原生API调用和命令行操作。
高性能基础设施:支持多种异构IaS:虚拟机、物理机、ARM服务器;支持多种存储:云硬盘、对象存储、文件存储;对接公私网络:虚拟私有网络、EIP公网。
什么是 Devops
DevOps(英文 Developmenth和 Operations的组合)是组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合,就是更好的优化开发(DEV、测试(QA)、运维(○PS的流程,开发运维体化,通过高度自动化工具与流程来使得软件构建、测试、发布更加快捷、频繁和可靠随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发—测试—发布)模式已经不能满足快速交付的需求。
Devops的好处:
1.代码的提交直接触发:消除等待时间,代码越早push出去,用户越早用到,越快实现商业价值。。。。。。。。。。。。。。。。。。。。。。。。。
2.每个变化对应一个交付管道:使问题定位和调试变得简单,代码库存越多, workflow的包袱越重,管理成本越大。
3.全开发流程高效自动化:稳定,快速,交付结果可预测。
4.持续进行自动化回归测试:提升交付质量。
5.设施共享并按需提供:资源利用最大化。
6.快速得到用户反馈:用户越早用到就越早反馈,团队越早得到反馈,好坏都是有价值的输入。。。。。。。。。。。。。。。。。。。
传统的WM或者物理机进行 Devops可能存在以下问题
1.资源利用率的问题,造成部分成本的浪费。。。。。。。。。。。。。
2.应用无法有效隔离,造成资源互相抢占。。。。。。。。。。。。。。。。。
3.环境容易不一致,造成出问题定位的复杂度。。。。。。。。
4.依赖包版本可能不统一,而版本间又有兼容性依赖,造成部署复杂、困难。
5.ⅥM和物理机占用空间大,启动慢。
6.交付,部署,回滚等周期长。。。。。。。。。。。。。。。。。。。。。。。。。。
基于容器的 Devops优势
1.基于容器更细粒度共享,提升资源利用率。
2.应用通过容器隔离,并将应用和环境解耦。
3.标准化的交付件,代码,配置等基础设施统一,运维简化。
4.部署和配置的工作提前到编译时,将代码和配置分别进行镜像版本化管理。
5.更小、更频繁的变更。
6.开发,测试,类生产,生产环境统一。
7.秒级弹性扩缩容,以快速面对市场变化。
华为软件开发云( Devcloud)
软件开发云( Devcloud)是集华为硏发实践、前沿硏发理念、先进硏发工具为-体的硏发云平台;软件开发云不是编程工旦,是面向开发团队提供的警套研发工具服务,让软件开发效率高、质量好。
软件开发云核心特性
项目管理:敏捷迭代开发、多项目管理、看板跟踪、社交化协作、多维度报表、文档管理、Wiki、追溯能力。
代码托管:基于GI跨地域协同开发、在线代码阅读修改、在线提交代码分支管理、代码加密传输、基于代码的统计分析、基于角色的权限控制、关联需求与缺陷。
代码检查:缺陷快速定位和修复、主流编程语言多种检查规则套餐、自定义检查规则集、缺陷批量处理、多维度报表。
编译构建:Maven等主流构建标准、简化配置,简单易用、10+编程语言、80+工具插件、多语言并行构建。
测试:需求-用例-缺陷、用例管理、缺陷管理、测试设计、测试验收、缺陷统计、测试排行、移动APP测试。
部署:Ansible部署、容器部署、私有主机部署。
发布:Maven仓库、软件包高速下载、软件包高速分发、软件包自动归档。
流水线:可视化按需制定自动化流程、利用云端能力并行、执行实施监控流水线状态。
软件开发云基于容器的Devops
下来看一下我们的软件开发员是怎么做我们这个容器的Devops。首先打个比方好比说我们的项目经理在我们的项目管理里面录了一个需求,那么他把需求分配给开发人员,这个时候呢,我们开发人员就跑去代码仓库拉取代码。提交他的代码,那我们有个功能就是在我们的流水线中如果检测到这个代码,一旦被提交了可以自动触发我们后端的这个过程包括我们的后端的编译构建以及部署的过程。之后便会上传镜像到镜像仓库,之后就可以在镜像仓库中拉取镜像进行部署,包括测试环境、预发布环境、生成环境的部署等。这就是整个我们软件开发员使用基于容器的Devops的整个过程。
此外,同学们通过相关的学习,提出了不少反思问题。
问:是否可以接入外部代码仓库
答:目前不支持,在规划中。
问:有针对个人开发者免费体验么
答:华为云开发者扶持计划现已启动,四大福利助力开发者敏捷上云。1:云服务器免费试用 2:软件开发云免费 3:数据库基础套餐免费 4:PaaS基础服务免费。
问:企业建立一套自己用的devOps,需要怎样的一个团队
答:至少有一个全栈工程师。按照之前的玩法的话,至少要熟悉开源 Kubernetes,包括代码也能做到搭一个开源的,人员要熟悉这一整套的工具。如果使用我们软件开发云的话,只需要熟悉我们软件开发云工具就可以了。
视频链接
https://m.qlchat.com/wechat/page/topic-intro?topicId=2000000675259671
以上文字内容由【内容众创兴趣小组-dmulzs】整理。
- 点赞
- 收藏
- 关注作者
评论(0)