简介: 简化用云的成本,把复杂留给自己,简单留给用户。

作者 | 陈泽涛(硬之城产品总监)& 洛浩(阿里云云原生高级架构师)

硬之城成立于 2015 年,是一家以电子元器件 BOM 整体供应为核心,为中小科技型硬件企业提供 BOM 标准化、BOM 报价、BOM 采购、BOM 交付和 SMT 一站式 PCBA 服务的电子产业数字供应链与智能制造平台。

电子产业互联网的需求是离散和复杂多变的,相比传统的代码开发,每一个市场需求的研发都需要耗费不少的研发资源投入到对应的需求开发中。这其中不仅有代码开发的工作,而且前期与工程师间的沟通工作也占用了不少资源。这不仅让每个需求都会消耗不少的研发成本,而且市场的需求也需要等待研发完成才能响应。这也是为什么硬之城选择做低代码平台的原因。

我们在实际的业务中,会频繁的收到来自市场的需求,这些需求还存在一部分不确定性和尝试性的需求。为此一直让我们的研发资源相当紧张。低代码平台的打造,不仅让没有编程基础的业务可以快速上手,让各业务部门都可以搭建自己的管理应用,大大缓解了研发资源紧张的问题。

在我们实际的使用过程中,发现低代码平台不仅可以覆盖许多简单的需求研发,而且许多常规的、复杂的需求也可以通过低代码平台完成。特别在不确定性和尝试性的需求,由于此类需求本身存在不稳定性,需求变更的情况非常普遍。这时由于低代码的迭代成本和门槛低,业务可以直接在后台修改应用,以达到快速的响应市场目标。

目前我们低代码平台使用 Java 和 Nodejs 开发,后端采用 SpringBoot,前端采用 Vue,基于 ECS 进行部署时,采用 Shell 脚本发布,并基于 Nginx 负载到多台主机。但是我们经常会碰到服务器资源占用不平衡,运维成本高,操作权限分配繁琐等问题,这给我们整个团队的协作造成了困扰,为此我们一直在寻找对应的解决方案。

一直到我们发现可以实现全托管、免运维、高弹性的 SAE 平台。SAE 支持开源微服务、开源定时任务框架、Web 应用的全托管。为此我们进行了架构搭建,发现 SAE 可以合理分配应用和服务器之间的资源,以及应用动态伸缩灵活性。这有效的降低了服务器运维门槛,避免风险操作,简化了我们团队成员对应用蓝绿发布的操作流程,提升了发布安全性和可靠性。

通过一段时间的使用,我们目前可以通过云效流水线发布 SAE 应用,镜像构建存储都缓存到阿里云镜像库,每位该项目的开发人员都能通过流水线发布应用,并且基于阿里云 RAM 系统可以很好的控制权限,发布效率大大提升,每一个 SAE 应都对应有独立的节点,不需要考虑应用是要选取发布到哪一台主机,只需要做好 SLB 负载均衡,实际资源用多少付费多少,也不需要操心服务器的各种机器维护问题,明显提升了运维工作的效率。

对应用本身来说,就是人效的提升,更加方便简洁的步骤就能完成一个应用的部署周期。对于运维管理上来说,就是更加轻便,少了很多诡异的操心事。对于整个微服务架构来说就是脉络更加清晰,可扩展性更强,只需要点一下即可扩展更多更强的负载能力。公司做成本预算的时候也能更加可控,不需要一堆服务器和 IP。

硬之城低码平台未来规划及愿景

未来我们期望业务与技术能并行。适合业务自行管理的需求,业务自身可以通过低代码就可以快速的完成他自己的需求上线,并自行维护。对于非常复杂及存在技术门槛的需求,此时技术人员才介入,让技术人员更专注的解决高价值、高技术的问题。

这不仅让业务可以快速响应市场需求,也让技术人员有更多的精力去解决企业的技术问题。最终让企业的业务人员和技术人员都流动起来,专注起来,以此来让企业更加有活力。

SAE 针对 SaaS 场景的方案及优势

通过硬之城的实践,我们也能感受到 SAE 对开发和运维效率的极大提升,如下图所示,这其实是因为 SAE 结合了容器、Serverless、微服务的优点,打造一站式应用开发部署平台。对下屏蔽了 K8S 等资源维护的复杂性,对上提供全应用生命周期管理、微服务治理、APM、弹性管理等能力,可以让用户更简单的完成容器化、应用迁移、业务上云。

同时对于已经实现了微服务化、或者仍然处于单体架构的存量应用,SAE 也可以支持 “0” 代码改造迁移。如下图,假定业务是基于 ECS 部署的,如果想提升业务的弹性能力以更好的应对流量波动,或者就是单纯的想简化资源的管理和运维等繁琐的事情,那么 SAE 就可以直接把 ECS 替换掉,也就是把部署在 ECS上 的业务代码在 SAE 平台上重新部署即可,前端安全、后端数据库等资源的部署和使用仍然保持不变。

这里需要提醒下,如果是基于 ECS 自建的数据库、消息中间件等带强状态的服务,是不适合迁移到 SAE 上的,毕竟一旦发生弹性伸缩,就会造成 “状态数据” 的缺失,如果不是对价格非常敏感,建议这部分服务可以迁移到云上的 PaaS 产以取得更好的稳定性。

基于以上两点,我们就可以再进一步的扩展,针对大部分 SaaS 企业客户,我们发现有两类业务诉求:

一类是采用订阅制的 SaaS 企业,打造自身的服务平台,对外提供像订票、餐饮服务、机酒、出行、ERP、HRP 等服务。这类企业核心关注的是垂直业务领域的竞争力和敏捷迭代,以保证自身能够快速响应市场。同时这类业务对弹性也存在着较大的诉求,那么基于 SAE 构建弹性微服务能力、或者弹性容器就非常的契合,既可以让用户聚焦业务开发,同时平台提供资源管理、弹性、应用管理等一体化的能力,极大的简化了运维成本,还能通过弹性来提升资源利用率,达到节省资源成本的目的。SAE 还可以和 Jenkins 或者云效联动构建流水线,来提升整体的开发部署效率。

还有一类 SaaS 企业会承接很多独立部署的需求,把自身构建的业务平台在最终客户的阿里云账号或者 IDC 里进行单独交付。针对阿里云上部署的服务,就会面临着开资源、部署、后期运维等一系列流程,尤其是最终客户的技术能力参差不齐,那么如何能快速完成业务部署、并简化后期的排障和维护工作就显得尤为重要。在这里,SAE 提供了基于 terraform 的一键部署方式,可以把业务代码+SAE 资源、VPC 网络、SLB、数据库等构成业务系统的全部产品资源,分钟级部署并拉起,具备极强的可复制性。

如下图所示,再加上 SAE 自带的 APM 监控能力和弹性免运维的特性,对于后续交付最终客户后,也能极大降低维护成本。

Serverless 已经成为云计算的下个十年,期望阿里云的 Serverless 能力,能够给越来越多的用户带来便捷,简化用云的成本,把复杂留给自己,简单留给用户。


深圳前海硬之城信息技术有限公司(简称硬之城)成立于 2015 年 8 月,总部位于中国深圳。

硬之城致力于解决电子产业采购难、制造难、效率低、产业链协同弱等痛点,加快硬件创新产品的制造周期,提高产业链的生产和流通效率。硬之城基于 SAE 低代码跑出产业互联网应用创新加速度。实现硬件从 “方案设计”、“元器件交付” 到 “生产制造” 等电子产业链重要环节数字化和智能化转型升级。

硬之城紧紧围绕客户项目交付,为企业提供覆盖全生命周期的一站式数字化供应链服务,将客户从复杂、繁琐的供应流程中释放出来,集中精力专注于自身产品和技术,助力客户快速发展。与传统供应链相比,硬之城打造的数字化供应链管理体系,将中小批量硬件生产制造时间由 2-3 个月缩短为 2-3 周,实现硬件制造效率极大提升,有效增强中小型硬件企业的竞争力。

更多内容关注 Serverless 微信公众号(ID:serverlessdevs),汇集 Serverless 技术最全内容,定期举办 Serverless 活动、直播,用户最佳实践。

原文链接:http://click.aliyun.com/m/1000350818/

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

硬之城携手阿里云 Serverless 应用引擎(SAE)打造低代码平台的更多相关文章

  1. 阿里云 Serverless 应用引擎(SAE)发布 v1.2.0,支持一键启停、NAS 存储、小规格实例等实用特性

    近日,阿里云 Serverless 应用引擎(SAE)发布 v1.2.0版本,新版本实现了以下新功能/新特性: 一键启停开发测试环境:企业开发测试环境一般晚上不常用,长期保有应用实例,闲置浪费很高.使 ...

  2. 阿里云Serverless应用引擎(SAE)3大核心优势全解析

    软件发展到今,企业业务系统日趋复杂,开发一个业务系统需要掌握和关注的知识点越来越多.除实现业务逻辑本身,还需考虑很多非业务的基础技术系统:如分布式cache和队列.基础服务能力集成.容量规划.弹性伸缩 ...

  3. 专访阿里云 Serverless 负责人:无服务器不会让后端失业

    2012 年,云基础设施服务提供商 Iron.io 的副总裁 Ken 谈到软件开发行业的未来,首次提出了 Serverless 的概念,为云中运行的应用程序描述了一种全新的系统体系架构.此后,以 AW ...

  4. 中国唯一入选 Forrester 领导者象限,阿里云 Serverless 全球领先

    3 月 26 日消息,权威咨询机构 Forrester 发布 2021 年第一季度 FaaS 平台评估报告,阿里云函数计算凭借在产品能力.安全性.战略愿景和市场规模等方面的优势脱颖而出,产品能力位列全 ...

  5. 倒计时 | 7.24 阿里云 Serverless Developer Meetup 杭州站报名火热进行中!

    本周六阿里云 Serverless Developer Meetup 即将亮相杭州 ​ 时间:7.24 本周六 13:30 - 17:30 地点:杭州市良睦路 999 号乐佳国际 1-3-7 特洛伊星 ...

  6. 阿里云 Serverless 再升级,从体验上拉开差距

    差距都在细节上. Serverless 要成就云计算的下一个 10 年,不仅需要在技术上持续精进,也需要在产品体验上精耕细作. 近日,阿里云 Serverless 再度升级,发布了一系列围绕产品体验方 ...

  7. 避免闲置云资源浪费 | 阿里云轻量级分布式应用服务 SAE 邀您公测

    您是否遇到过: 资源利用率低,多数服务器CPU平均利用率在10%以下,用户需为大量闲置资源买单. 感知 IaaS 购买和集群运维,人员技能要求高,运维效率低. 想拥抱 Kubernetes.微服务架构 ...

  8. 赋能时空云计算,阿里云数据库时空引擎Ganos上线

    随着移动互联网.位置感知技术.对地观测技术的快速发展,时空信息已从传统GIS行业渗透到大众应用及各行各业.从静态POI(兴趣点)到APP位置信息,从导航电子地图到车辆行驶轨迹,从卫星影像到三维城市建模 ...

  9. 三大特性,多个场景,Serverless 应用引擎 SAE 全面升级

    作者:营火 微服务能力大提升,更新增 Job.PHP 等场景,延展 Serverless 新边界 点击此处,获得阿里云 SAE 发布会直播 PPT! 企业的数字化随着互联网的普及发展越来越快,技术架构 ...

  10. 分析师机构发布中国低代码平台现状分析报告,华为云AppCube为数字化转型加码

    摘要:Forrester指出,中国企业数字化转型过程中,有58%的决策者正在采用低代码工具进行软件构建,另有16%的决策者计划采用低代码. 华为消息,知名研究与分析机构Forrester Resear ...

随机推荐

  1. c 的头文件标准格式

    前记: C语言的头文件是嵌入式系统中常用的,也是很多人没有注意的,但是写的很差的,这里给出一个经典的模板,仅供参考. 正文: 经典的格式: /***************************** ...

  2. cpprest示例微服务链路嵌套调用层数1000以及跟踪

    本demo使用本人两个github项目cpprestsdk4mingw,zhepler-wxWdigets编写,一个简单的rest服务器cpprestbox,只提供GET方法方便测试,可以添加修改ap ...

  3. LinuxDNS分析从入门到放弃(记一次有趣的dns问题排查记录,ping 源码分析,getaddrinfo源码分析)

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 环境说明   ubuntu 18.04 前言   我们这里有一块 ...

  4. 三维模型OBJ格式轻量化的纹理压缩和质量关系分析

    三维模型OBJ格式轻量化的纹理压缩和质量关系分析 三维模型的OBJ格式通常包含纹理信息,而对纹理进行轻量化压缩可以减小文件大小和提高加载性能.然而,在进行纹理压缩时需要权衡压缩比率和保持质量之间的关系 ...

  5. HeaderedContentControl实现左右对称

    在我们使用TextBlock却想给前面添加固定字段的时候,发现TextBlock没有Header属性, 这个时候我们可以用到HeaderedContentControl 然而,默认情况下Headere ...

  6. Vue中组件和插件有什么区别?

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.组件是什么 回顾以前对组件的定义: 组件就是把图形.非图形的各种逻辑均抽象为一个统一的概念(组件)来实现开发的模式,在Vue中每一个. ...

  7. 记录--Uni-app接入腾讯人脸核身

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 人脸核身功能有多种接入方式,其中包含微信H5.微信小程序.APP.独立H5.PC端.API接入6种方式. ​ 我们的产品是使用uni-ap ...

  8. Python 从MySQL数据库中把查询结果集写入到Excel

    import xlwt # 引入pymysql包 import pymysql # 连接数据库并打开library数据库 sql="SELECT * FROM\ user1;" c ...

  9. python实现批量运行命令行

    python实现批量运行命令行 背景: 对于不同参数设置来调用同一个接口,如果手动一条条修改再运行非常慢且容易出错.尤其是这次参数非常多且长.比如之前都是输入nohup python -u exe.p ...

  10. IDEA (任意 JetBrains IDE)拆分先前 commit

    最近在合并上游代码,遇到了一个问题:某个 commit 杂糅了几个不同的特性修改,这可能会导致 rebase 上游代码时需要再对该 commit 进行额外的代码冲突处理 解决方法:合并上游分支前,拆分 ...