被解救的代码 - 代码即服务时代来了!

简介: 人类对自由的追求从未停止,我们用战斗获得民族自由,我们用代码获得双手自由,同时代码作为服务器的奴隶,也开始蠢蠢欲动,革命已经开始,当代码翻身做主,作为开发者的我们又该如何适应新时代的到来?

人类对自由的追求从未停止,我们用战斗获得民族自由,我们用代码获得双手自由,同时代码作为服务器的奴隶,也开始蠢蠢欲动,革命已经开始,当代码翻身做主,作为开发者的我们又该如何适应新时代的到来?

 

1.gif

 

一切皆代码的革命

 

代码一直是服务器中的囚徒,然而革命已来,看代码和如何一步一步掌控环境,走向服务。

2.webp

 

1.革命:用代码控制编译打包
Pipeline as code:代表技术 Jenkins Pipeline[1]

3.webp


2.革命:用代码控制服务器
Machine as code:代表技术 Docker

4.webp


3.革命:用代码控制服务器集群
Server cluster as code:代表技术 K8s

5.webp


4.革命:用代码控制基础资源
Infrastructure as code:代表技术 Terraform

6.webp


当一切皆代码,A=B 可得 B=A,代码即服务时代就来了。

 

 

1.gif

 

代码即服务时代的到来

 

1.传统时代的代码仓库
传统的代码仓库说明中,"运行环境安装向导"文档是必备的,以 SpringBoot 代码[2]为例,自带安装向导[3]文档。

7.webp

 

2.新时代的代码仓库
参考代码仓库 aws-lamda-spring-boot2[4],包括 springboot 运行到 aws 的 lamda 需要的全部代码。

8.webp

 

9.webp

 

3.主流技术对新时代的拥抱
以 Spring[5]的发展为例,从 SpringBoot 开始,不断对环境控制进行集成,直到 SpringNative,已经可以直接构建镜像。

10.png

 

 

1.gif

 

代码即服务下的云原生架构

 

1.容器服务[6]:用代码控制一切

11.webp


2.微服务引擎务[7]:信任标准平台,将部分控制权交给平台

12.webp


3.函数计算[8]:信任标准平台,将大部分控制权交给平台

13.webp

 

 

1.gif

 

代码即服务下的研发平台战争


在代码即服务的时代,各大厂商都在建立自己的云上研发闭环,谁做好云上的开发平台,谁就能抓住下一带云原生开发者的心。

14.webp

 

1.代码托管之战:得代码者得天下
• 微软宣布收购 GitHub[9]
• 谷歌投资 Gitlab[10]
• AWS 自建私有仓库 CodeCommit[11]
• 阿里云企业级代码托管平台 Codeup[12]

2.在线开发之战
• 微软整合 VS Code 和 Github,推出 Github Codespace[13]
• 谷歌另辟蹊径,做线下 IDE 插件 Cloud Cod[14],对接 Google Cloud
• AWS 在线云 IDE:Cloud 9[15]
• 阿里云 IDE:DevStudio[16]

3.在线构建 DevOps 之战
• Azure DevOps[17]
• Google DevOps[18]
• AWS DevOps[19]
• 阿里云云效[20]

4.研发体系发展
• 在代码即服务时代,Git 作为代码版本管理软件,加上 WebHook,可以轻松地管理整个代码的运行生命周期,GitOps 应运而生。GitHub 吸 收GitOps 思想,推出 GitHub Actions[21]。

15.webp


• AWS 推出产品 Proton,提供全配置代码的服务和环境模板,将平台建设能力和复用能力开放给平台开发人员,让普通开发人员更专注业务实现。

16.webp

 

 

1.gif

 

阿里云开发平台


1.阿里云开发平台,通过整合云原生产品和云效,完成了云原生开发闭环

17.png


2.云开发平台,构建应用级别的云原生应用,预设标准云架构

18.webp


3.云开发平台,应用共享

19.webp

 

• 云开发平台和天猫精灵,钉钉团队合作,整合小程序的前后端一起化开发部署,解决小程序云和用户云不能打通问题,给小程序加上用户云能力。

• 云开发平台应用可以在团队内共享,团队内的技术交流,再也不仅仅是 clone 代码。

• 云开发平台市场共享,后续可以合作方的技术方案直接在市场上构建,让云服务提供商再也不用现场帮助用户构建和维护云环境。

参考资料
• [1] Jenkins Pipeline:
https://www.jenkins.io/doc/book/pipeline/
• [2] SpringBoot 代码:
https://github.com/spring-projects/spring-boot
• [3] 安装向导:
https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/html/getting-started.html
• [4] aws-lamda-spring-boot2:
https://github.com/galovics/aws-lambda-spring-boot2
• [5] Spring:
https://spring.io/
• [6] 容器服务:
https://www.aliyun.com/product/cs/ask
• [7] 微服务引擎:
https://www.aliyun.com/product/aliware/product/sae
• [8] 函数计算:
https://www.aliyun.com/product/fc
• [9] GitHub:
https://github.com/
• [10] Gitlab:
https://about.gitlab.com/
• [11] CodeCommit:
https://aws.amazon.com/cn/codecommit/
• [12] Codeup:
https://codeup.aliyun.com/
• [13] Github Codespace:
https://github.com/features/codespaces/
• [14] Cloud Code:
https://cloud.google.com/code
• [15] Cloud 9:
https://aws.amazon.com/cn/cloud9/
• [16] DevStudio:
https://ide.aliyun.com/
• [17] Azure DevOps:
https://azure.microsoft.com/en-us/services/devops/#customer
• [18] Google DevOps:
https://cloud.google.com/devops?hl=zh-cn
• [19] AWS DevOps:
https://aws.amazon.com/cn/devops/
• [20] 阿里云云效:
https://devops.aliyun.com/
• [21] GitHub Actions:
https://github.com/features/actions

原文链接

本文为阿里云原创内容,未经允许不得转载。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java timer schedule_java怎么再次设置Timer的schedule???

public class TestTimer {class MyTimerTask extends TimerTask {private int time; //定时执行时间public MyTimerTask(){}public MyTimerTask(int _time){this.time _time;}Overridepublic void run() {System.out.println("time:" time);System.out.println((ti…

配置审计(Config)配合开启OSS防盗链功能

简介: 本文作者:紫极zj 本文将主要介绍利用【配置审计】功能,如何快速发现企业上云过程中,针对未配置防盗链的 OSS Bucket 定位及修复案例。 前言 配置审计(Config)将您分散在各地域的资源整合为全局资源…

python乘法函数_Python中列表与元组的乘法操作示例

本文实例讲述了Python中列表与元组的乘法操作。分享给大家供大家参考,具体如下:直接上code吧,还可以这么玩儿列表乘法:li[1,]lili*3print(li)out:[1, 1, 1]元组乘法:>>> t(1,2)>>> t*3(1, 2, 1, 2, …

清华大学:2021元宇宙研究报告

关于元宇宙的详细介绍;来源:软件定义世界(SDX)往期推荐阿里云投入 20 亿发力操作系统谷歌自研Tensor芯片,8核CPU,20核GPURedis很厉害,使用规范来啦Facebook 改名Meta,是押注元宇宙还…

如何做规划?分享2种思维和4个方法

简介: 规划不只是高层的事。学会做规划,不仅可以让目标更聚焦,还能让我们清晰地知道今后要做什么、如何去做。在本篇文章中,提到了规划的2种思维模式,和作者自己在规划中用到的4个规划方法,希望让开始做规划…

vue如何在末尾添加_怎样在Linux上开发vue项目

一、开发环境搭建:安装node.js环境以及vue cli工具(1)安装node.js从官网下载对应的二进制压缩包,如下图:01.png解压到程序安装目录xz -d node-v12.17.0-linux-x64.tar.xztar -xvf node-v12.17.0-linux-x64.tarsudo mv node-v12.17.0-linux-x6…

计算机专业考哪些证书含金量高?

计算机专业要不要考证?考证很重要吗?考哪个好?对于有些人而言,他们可能会有人认为认证就是一张纸,没有太大的用处,看到大家都在考,心里又会产生动摇;还有人会认为考证的价格太高&…

java 判断日期连续_如何在Java中检查日期是否大于另一个日期?[重复]

小编典典从这里拍摄:import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;public class DateDiff {public static void main( String[] args ){compareDates("2017-01-13 00:00:00", "2017-01-14 00:00:00&qu…

【深度】阿里巴巴万级规模 K8s 集群全局高可用体系之美

简介: 台湾作家林清玄在接受记者采访的时候,如此评价自己 30 多年写作生涯:“第一个十年我才华横溢,‘贼光闪现’,令周边黯然失色;第二个十年,我终于‘宝光现形’,不再去抢风头&…

云原生时代,开发者如何构筑容器安全?

随着数字化转型进入“深水区”,云原生改变传统的开发模式,加快程序应用的开发、交付、运维效率,充分释放云价值。容器作为云原生的代表技术,正成为资源调度和编排的标准,有效帮助企业降低 IT 实施和运维成本。 据 CNC…

python依赖注入_如何做依赖注入python方式?

这一切都取决于情况.例如,如果您使用依赖注入来进行测试,所以您可以轻松地嘲笑某些内容 – 您可以经常放弃注入:您可以嘲笑您将注入的模块或类:subprocess.Popen some_mock_Popenresult subprocess.call(...)assert some_mock_popen.result resultsub…

java外部接口图解_java代码实现访问网络外部接口并获取数据的工具类详解

java代码实现访问网络外部接口并获取数据的工具类工具类代码,可以直接copy使用package com.yqzj.util;import org.apache.log4j.LogManager;import org.apache.log4j.Logger;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.i…

「技术人生」第2篇:学会分析事物的本质

简介: 对于研发同学而言,探究事物的本质,是最基础最核心最先需要被掌握的技能,没有之一。 作者:贺科学 技术一号位不是岗位,更多的是技术人员在公司中做事的一种心态,这个系列的文章适合所有想…

低代码能做什么?这家服务商用钉钉宜搭打造了智慧医院管理应用

简介: 谷瞰在医疗信息化领域积累的专业解决方案,如果能加持宜搭轻量级、高度灵活、极高效的开发支撑能力,可能是找到智慧医院快速落地的最优解。 “疫情作为催化剂,加速了医疗信息化的发展”,浙江谷瞰信息有限公司董事…

python socket能做什么_[python]初探socket

1.什么是socket?Socket中文译作:套接字,但是大家一般约定俗称的都用:socket。我想在解释socket是什么之前,先说它是用来干嘛的:socket是来建立‘通信’的基础,建立连接,传输数据——…

mysql sysdate本周_oracle 、mysql 取昨天 前天 本周 数据

查询今天数据:SELECT COUNT(1) FROM T_CALL_RECORDS WHERE TO_CHAR(T_RKSJ,‘YYYY-MM-DD‘)TO_CHAR(SYSDATE,‘YYYY-MM-DD‘)查询昨天数据:SELECT COUNT(1) FROM T_CALL_RECORDS WHERE TO_CHAR(T_RKSJ,‘YYYY-MM-DD‘)TO_CHAR(SYSDATE-1,‘YYYY-MM-DD‘)…

Fortinet:行走在网络和安全融合领域的最前列

近日,Fortinet 核心操作系统的演进暨 Fortinet SD-WAN 在2021年度Gartner 广域网边缘基础设施魔力象限的位置及其关键能力与场景宣讲成功举办。会议指出,在数字化转型过程中,攻击平面成倍增长、边缘无处不在,没有“安全”的“网络…

如何通过Graph+AI的方法打造高精度风控模型

简介: 阿里云图智能平台在金融行业已经帮助银行、保险等领域客户构建了金融风控、商品推荐、循环担保检测、异常指标监控、违规团伙挖掘等场景,通过穿透行业应用场景,帮助客户基于多维数据做出精准决策。 >>发布会传送门:h…

python虚拟环境安装的包在哪_如何使用virtualenv引导脚本在虚拟环境中安装python包?...

我想创建一个引导脚本来设置本地环境并在其中安装所有要求.我一直在尝试使用virtualenv.create_bootstrap_script,如docs所述.import virtualenvs virtualenv.create_bootstrap_script(import subprocessdef after_install(options, home_dir):subprocess.call([pip, install,…

实操指南 | Resource Queue如何实现对AnalyticDB PostgreSQL的资源管理?

简介: 作者:阿里云数据库OLAP产品部 - 子华 一 背景 AnalyticDB PostgreSQL版(简称ADB PG)是阿里云数据库团队基于PostgreSQL内核(简称PG)打造的一款云原生数据仓库产品。在数据实时交互式分析、HTAP、ETL…