zoukankan      html  css  js  c++  java
  • 被解救的代码

    1.png

    作者 | 王铎(都铎)
    来源 | Serverless 公众号

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

    一、一切皆代码的革命(Everything As Code)

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

    2.png

    1. 革命:用代码控制编译打包

    Pipeline as code:代表技术 Jenkins Pipeline

    3.png

    2. 革命:用代码控制服务器

    Machine as code:代表技术 Docker

    4.png

    3. 革命:用代码控制服务器集群

    Server cluster as code:代表技术 K8S

    5.png

    4. 革命:用代码控制基础资源

    Infrastructure as code:代表技术 Terraform

    6.png

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

    二、代码即服务时代的到来

    1. 传统时代的代码仓库

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

    7.png

    2. 新时代的代码仓库

    参考代码仓库 aws-lamda-spring-boot2,包括 springboot 运行到 aws 的 lamda 需要的全部代码。

    8.png

    9.png

    3. 主流技术对新时代的拥抱

    Spring 的发展为例,从 SpringBoot 开始,不断对环境控制进行集成,直到 SpringNative,已经可以直接构建镜像。

    10.png

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

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

    11.png

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

    12.png

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

    13.png

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

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

    14.png

    1. 代码托管之战:得代码者的天下

    2. 在线开发之战

    3. 在线构建 DevOps 之战

    4. 研发体系发展

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

    15.png

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

    16.png

    五、阿里云开发平台

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

    17.png

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

    18.png

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

    19.png

    • 云开发平台和天猫精灵,钉钉团队合作,整合小程序的前后端一起化开发部署,解决小程序云和用户云不能打通问题,给小程序加上用户云能力。
    • 云开发平台应用可以在团队内共享,团队内的技术交流,再也不仅仅是 clone 代码。
    • 云开发平台市场共享,后续可以合作方的技术方案直接在市场上构建,让云服务提供商再也不用现场帮助用户构建和维护云环境。

    六、结语

    诚挚邀请大家加入云开发平台,一起共建服务百万阿里云开发者阿里云的云上研发平台。

    引用:

    1. Performance of running Spring Boot as AWS Lambda functions

    本文整理自阿里云技术专家--都铎在【阿里云 Serverless Developer Meetup 上海站】上的分享
    ppt 获取方式:关注 Serverless 公众号,后台对话框回复“ppt”即可
    直播回放观看地址https://developer.aliyun.com/live/246653

  • 相关阅读:
    memcached构建集群分析之一
    linux使用getopt解析参数
    setbuffer和freopen做一个简单的日志组件
    setbuf和freopen
    编码规范的重要性
    c++的操作符格式记录
    do{...}while(0)的作用
    CF div2 321 C
    CF div2 321 B
    CF div2 321 A
  • 原文地址:https://www.cnblogs.com/Serverless/p/14751447.html
Copyright © 2011-2022 走看看