分享人:任浩杰,北纬科技信息安全工程师,北纬科技云效迁徙DevOps的技术负责人。
背景
北纬科技成立于1997年,是一家致力于提供挪动互联网先进产品和服务的挪动互联网服务集成商。晚期自主研发了公有PaaS平台(北纬利用引擎BWAE),起初因为公司转型及组织架构调整,逐渐用云效+ACR+ACK代替自研利用引擎,实现继续部署、交付、加重治理、保护及运维的压力。
问题及痛点
为什么放弃自研,转而拥抱Saas服务?
晚期公司自研PaaS平台,历时较长。因PaaS平台本身的复杂性、技术倒退的多变性、零碎要求的稳定性的各类复合型要求,使平台无奈及时迭代更新满足各类场景需要,更好地为业务倒退服务。同时公司组织策略调整,人力资源重新分配,公司的自研平台面临比拟大的保护压力和运维压力。因而公司技术策略也随之调整,将自建机房及服务全副迁徙到阿里云上,同时调研腾讯、阿里、华为等商业化的DevOps平台,最终抉择阿里云云效作为DevOps继续部署的平台。
相比于自研,云效平台短少了企业的定制化、个性化,只能做到普适性,然而减少了平台的稳定性、健壮性、多样性,同时大大减少了人力、物力,加重了运维的压力。
解决成果
应用云效后成果如下:
迁徙之路如何走?
经验过近3个月的云效应用调研之后,公司启动云效迁徙我的项目,同时制订了以下三步走的迁徙策略。
第一步:外部试点、发现问题、解决问题。
第二步:积淀模版、梳理文档、标准流程。
第三步:全面迁徙、调配新资源、回收旧资源。
在迁徙中,对技术、老本、平安各方面进行一直优化。
1、技术优化
根底镜像优化: 因为每次构建Java镜像会导致镜像体积过大,OpenJDK官网的镜像大小为488MB,如果每次构建的镜像都这么大的话,对网络、存储等的影响及费用都会比拟大,因而咱们采纳离开构建的模式,根底镜像如JDK、PHP、GO、Nginx等镜像由运维人员保护,提供根底环境及k8s的主镜像。开发人员构建的镜像采纳busybox镜像,该镜像仅有根底的linux性能,因而只有1.23MB,该镜像只添加程序构建的产物如可执行文件、jar包或者html文件等,作为InitContainer容器,在启动时将构建产物复制到根底镜像中。该计划大大放大了docker镜像的大小和docker拉取镜像的网络开销。
流水线优化: 基于一次构建,屡次部署的思维,咱们将构建和部署流水线做了拆散,这样构建一次,开发、测试、生产能够屡次部署,且部署的版本能够不同。
定制化不同的流水线模板,依据不同事业部,不同业务需要模式、技术开发特定的要求,制订合乎各业务线的流水线模板。
不同的流水线模板
2、老本优化
通过了对企业应用部署的钻研,咱们在ACK集群上借助kubernetes提供的LimitRange的能力,对每一个命名空间做了一个根底容量的大小限度(CPU 0.5m,Memory 512Mi),而在利用的部署配置文件上为开发人员提供了设置cpu及memory的配置项,且提供了默认值。如果开发人员通过评估和开发环境、测试环境的验证,须要减少容量的,能够申请对该命名空间进步限度。一方面将一部分ops能力下放给developer,两一个方面,通过对资源的被动和被动调节,大大节俭了老本,升高了原来自研平台上任意配置资源的问题。
同时通过云效的maven服务、代码治理服务,代替了原有平台搭建的代码治理服务器、maven服务器。不仅升高硬件老本资源,同时也升高保护此类服务器的人力老本。
3、平安优化
代码品质优化:得益于云效的代码扫描流水线中的代码扫描及平安扫描的工作插件,咱们对于品质和平安的接入治理不便。
咱们在流水线模版中引入了代码扫描及平安扫描,同时在生产环境退出了人工卡点的流程,作为审核,保障扫描后果符合要求。
代码扫描后果及具体报告
代码平安: 借助于云效的代码治理,将公司所有代码进行对立治理,依据不同事业部,不同业务线对代码进行分层、分组治理,并对代码组权限进行严格控制,缩小代码作为公司重要资源泄露的危险。
同时通过云效提供的敏感信息扫描,及时发现硬编码等问题,进步代码平安品质。
代码库敏感信息检测
权限管制: 我司对权限及流程有着严格的要求及制度。云效对于不同的产品提供了不同维度的权限,满足了“起码权限”的准则。以流水线为例,依据不同不同场景设置管理员、技术负责人、运维人员、开发人员不同的角色,更细粒度低管控流水线的权限。
结语
北纬科技的DevOps转型之路,经验了从PaaS到SaaS的倒退历程,也正应了软件倒退的过程。SaaS也正成为现如今软件倒退的趋势,当然任何事物都有本人的劣势及有余,咱们应该辩证的去对待问题,同时也要摸索适宜本身的解决方案。
以上内容是北纬科技在施行应用云效后的成果,心愿能给各位同行带来一点帮忙。感激北纬科技团队对云效的信赖和必定,心愿云效能够陪伴他们不断进步。
如果你也有故事要分享,请后盾留言分割咱们,一起打造10倍效力晋升案例集。
对于咱们
理解更多对于云效DevOps的最新动静,可微信搜寻关注【云效】公众号;
彩蛋:公众号后盾回复【指南】,可取得《阿里巴巴DevOps实际指南》&《10倍研发效力晋升案例集》;
看完感觉对您有所帮忙别忘记点赞、珍藏和关注呦;