Web弹性开发云这款产品围绕的一个宗旨是让开发人员能够享受到Sheer Codeing Pleasure(纯粹的编码乐趣),为了达到这样的目标,我们首先需要了解的是到底是什么原因阻碍了我们享受纯粹的编码乐趣。
我们先来看一下传统的开发模式的“麻烦之处”:
- 环境安装、框架搭建、各种依赖包的安装
- 应用上线部署、运维、扩容
- 调试、性能、安全
基于上述影响应用开发上线效率的麻烦点,Web弹性开发云应运而生,这款产品的三个核心点是:
- MVC+ (新一代MVC云服务系统)
- DataService(数据服务系统)
- DynamicLoad(动态负载均衡器)
MVC+:
这一点的核心在于,不管前端还是后端,我们习惯了先安装某个IDE客户端,然后搭建开发框架,安装所需要的各种安装包;而MVC+云服务系统提供了一个在线IDE开发环境,这个环境帮你搭好了开发的脚手架,封装了各种常用依赖包,打开界面就可以写代码,代码提交自动保存到云服务器中。通过对Git的集成,用tag对版本进行迭代和控制,打好tag,选择应用部署环境,点击一键发布应用自动进行打包部署上线。
Web的开发模式经历了几个比较重要的阶段:
而Web弹性开发云可能就是基于这样的趋势发展而来的。
DataService:
- DSF微服务——直接在MVC+系统中,调用DSF微服务
- 分组负载均衡——分组负载均衡,连接池复用,统一协议转换
- 主流数据库操作能力——兼容多种主流数据库Mysql,Redis,MongoDB等
- 慢日志记录、慢查询报警——对于调用数据服务的应用,当出现慢日志或慢查询时,报警通知项目负责人
DynamicLoad:
让MVC+服务拥有秒级别的弹性扩容和缩容能力,这依赖于多种负载模式:
- 分组模式:分组负载
- 轮询模式:轮询集群中所有机器
- 弹性模式:根据访问量和后端应用的响应时间动态调整负载机器的数量
同时该负载均衡器采用热加载的防守,免去每次对负载均衡的Reload操作,减少系统吞吐量的影响
动态负载均衡器可以适应任何应用,包括Java、IIS、Go等
弹性开发云的优势:
- 初始化项目脚手架(系统自带):申请Git、安装框架、安装模块、调试脚手架
- 数据源、路由和日志(MVC+系统进行配置):定义编写路由、数据源连接、拦截器和控制器、日志记录
- 编码开发(云端编辑器编写代码):工具函数和常用类库、逻辑编写、程序调试、版本控制
- 发布和运维(应用系统一键发布):申请应用上线、配置运行环境、申请访问路径,应用运行情况和日志
总结于一点,提高了服务的开发、发布、运维的效率。这种模式使得开发更加专注于编写代码,而包括环境搭建,上线部署流程,机器扩缩容,防爬虫等等都不需要考虑。当然这种模式对于前后端没有分离的应用来说,影响不大。但是对于前后端的完全分离的应用,尤其是运行在服务端的Nodejs等开发语言将有重大的意义。
写在最后,随着开发模式的发展,开发需要考虑的事情越来越少,开发越来越变成了一个纯粹的coder,这到底是好事还是坏事呢?自动化的程度越来越高,程序员会失业吗?我想程序员不会失业,但是长久看来可能会面临转型。就像随着工业自动化的发展,机器人替代了许多的产业工人,这些人员会失业,但这又催生了其他新兴职业的蓬勃发展,比如发明创造机器人以及控制其运行的智能系统的岗位缺口将会越来越大,只是门槛越来越高,如果完成了从产业工人到人工智能工程师的转变,就找到了满足自身发展的新的立足点。