筚路蓝缕,拨“云”见日(二):2015到2019,从0到100万,从5到70,技术推动业务的云实践,我创业的这4年

简介: 新季度的开源节流:2017年的12月30日,我的小天使降临了。所有这一切,都似乎预示着黎明的到来:从2015年到2019年,业务DAU从0到100万,团队从5人到70人,讲述技术人的创业之路,解读如何从技术推动业务,分享作为CTO的心路历程,一同感受创业的五味杂陈。

接下来非常重要的事就是研发节流:市场经历了一个季度的洗礼,所有工具提供商都在思考求变,因此原本成熟市场的作对厮杀不见了,特别明显的就是对我们的DDos也逐渐销声匿迹,可能大家都在忙于应付WX的风控,顾不到我们了吧:)。我果断取消了高防的续费,仅仅依靠SLB的基础防护来保障安全,虽然有些冒险,但事实证明我们此后也再无遭受大的DDos。

另一个较大的调整来自于软件工具的基础架构:虽然我们的App刚刚上线,并发访问量不大,但是由于我们的桌面工具端早期为了快速上线部署,我们对于后端服务及数据请求均采用PULL模式,而且为了提高实效性,所有近实时场景都采用了轮询模式——当时为了快速上线一个功能,都采用一个统一的底层轮询模块提供近实时的服务和数据,刚开始还好,随着模块越来越多,甚至出现了为了保证佣金数据的实时(直接影响客户收入)采用了秒级的轮询——后端服务的并发压力成指数级增长,高峰期我们有4K~5K桌面终端同时在线,后端服务请求数很快就过亿了,而我们只有不断扩SLB和ECS,17年我们做了数次服务划分以保证终端不因单个服务故障而Crash;大家上线的流程规范为预估请求流量及规模,申请服务域名,分配ECS,随着ECS的部署增加,RDS的规格也在不断调整,为了不断增加的连接数,直至我们发现RDS已经升级到系统自动调整的顶级规格,再增加需要提交阿里云工单人工申请了。

因此我做了实时场景采用PUSH模式的决定,基于当时我们的远景规划——我们可能辅助客户云端部署,从部署的终端规模及操作系统的要求,我们很可能需要在Windows服务器上部署容器,我甚至联系了Azure(由于当时阿云的Windows服务还没有更新)——我决定尝试基于MQTT协议的推送服务,为了研发的进度和质量,我选择了第三方的云巴(阿云后来也逐渐提供,我们也逐步的替换)。刚开始我们小心的在一些边缘场景上线适用,在达到稳定后,逐步推开:到18年的时候,我们已经可以计划将大部分的实时场景替换了。效果明显:ECS的负载大幅缩减,RDS的连接数大幅缩减,RDS的cpu和I/O都大幅下降。接下来需要做的就是将计划逐步执行,并同步缩减ECS数量规格、SLB规格、RDS规格;同时客户端新业务模块的开发模式也统一迁移到新的方式上。

最后,我仍然给大家定下了缩减成本的KPI,激励大家挖掘细节,提高程序效率:大家做的不错,不少历史遗留的无用模块,冗余的存储,无用的计算都被一一挖掘出来,当每一项都转换成我们投入的真金白银时,我们的开发也感受到了代码最直接的货币价值:)。这一切对我和技术团队来说,有挑战但是相对容易;对我来说真正挑战的是如何开源。公司内已经悄悄的弥漫起公司能撑多久的担忧。

在17年底的小程序预售后,WX端提高了电商类特别是淘系小程序的审核门槛,我们的小程序没能通过审核,这给我们的预售带来了不小的冲击,通过CRM同学和大家的沟通,我们了解到大家的需求和对待小程序的态度,我们决定通过新功能的补贴售卖来弥补大家在小程序上的损失,但是依然有一部分客户要求退款,而当时我和CRM同学一直希望通过沟通其他方式来满足这部分客户的要求,我们依然认为小程序的审核困难是暂时的,我们能最终满足大家的期望,因为市场上也没有同类的产品可以替代。

一方面通过客户群的反馈,我们收集整理了新功能的迭代需求,并做好研发排期;一方面,CRM团队的两位同学维护了近20个千人群,我希望能从这些群中持续挖掘我们的购买需求。由于CRM人员的调整,仅剩的两位客服同学接收了两位转岗的销售同学的工作,在我还无暇顾及的情况下,两位年轻的CRM同学策划了开年的第一个活动,结果较17年底的三次活动差距巨大,一时间CRM同学对于完成本季度KPI的任务心灰意冷。

我和大家一起讨论:我相信我们一定能完成目标,和大家分析了这次活动相比前三次活动失败的原因——活动准备仓促,很多细节考虑不完善,导致客户活动规则不明,下单不顺,售后细节问题繁多;第二,预热不足,在没有预热的情况下上线活动,导致营销人群匮乏;第三、活动期间的工作不够努力,没有明确活动的目标,没有拆解每天的目标,导致活动整体不可控,无法积累。

我也鼓励大家,毕竟大家还是实习的年轻同学,虽然跟了几次活动,但是自己操作起来的体验和被带着做差异巨大,我也相信大家一定能做的更好。为什么我们的目标能做到,我和大家分享了我在17年底的想法:从17年底CEO给大家反馈的规划看,我们上半年系统会有一次重大的升级,对淘客群有许多的新鲜而且有用的功能模块上线,这是我们完成上半年目标的重要机会;第二,我们软件工具已经上线快一年了,这对于我们有一个重要的营销时机——周年庆,我们可以把它做成我们工具的生日庆典,而一月、二月我们要做的就是坚定的上调我们的软件价格,提升我们的产品质量、我们的售后服务,那么三月份的周年庆一定能帮助我们完成本季度的目标;第三,从现在起我和大家一起严格要求自己:活动预热月初开始,活动方案一周前明确,活动每个人必须非常明确,对于每个环节的问题我们要都能给大家解答,活动规则要简单易懂,下单要顺畅;对于剩下两次活动目标拆解,拆解到每天,拆解到活动开始前的预热人群的覆盖目标、每天要营销到的人数目标、活动开始前的预定订单数量、活动开始后每天的销售目标;目标制定后坚决执行,每天目标每天完毕,到活动开始后每天的目标不完成我们不下班,直到零点,我和大家一起冲击Q1的目标。

接下来的二月迎春活动大家虽然稍显生疏,但是两位实习的小同学已经做的有模有样,我依然记得他们站在设计同学身后催促着活动banner输出时的场景,现在回想起来,让人感动。三月我们做了一期声势浩大的周年庆,整个公司都听得见两位实习同学的欢声笑语,还有他们的抱怨,因为当我在外参加阿云的会议时依然时不时的催着他们的订单数据,电话他们没完成目标不能下班。(未完待续)

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
JavaScript 测试技术 Linux
|
8月前
|
数据采集 供应链 监控
什么是RFID/EPC编码-SGTIN96
SGTIN是GS1标准下的商品序列化编码,结合GTIN与唯一序列号,实现单品级标识与追溯。广泛应用于零售、供应链、防伪等领域,支持RFID自动识别,提升管理效率。可通过工具实现EPC、GS1 Digital Link、条码格式间一键转换,并支持批量生成打印,助力智能化供应链管理。
765 4
|
8月前
|
存储 运维 监控
大模型应用:构建智能大模型运维体系:模型健康度监测系统实践.8
本系统是面向大模型的智能健康度监测平台,采用前后端分离架构(Flask+HTML/CSS/JS),实现四层立体监控(系统资源、模型运行、服务性能、业务质量)。支持实时指标采集、动态基准线告警、多维性能评分及可视化看板,具备请求全链路追踪与预测性运维能力。
428 10
|
资源调度 监控 调度
基于SCA的软件无线电系统的概念与架构
软件通信体系架构(SCA)是基于软件定义无线电(SDR)思想构建的开放式、标准化和模块化平台,旨在通过软件实现通信功能的灵活配置。SCA起源于美军为解决“信息烟囱”问题而推出的联合战术无线电系统(JTRS),其核心目标是提升多军种联合作战通信能力。 上海介方信息公司的OpenSCA操作环境严格遵循SCA4.1/SRTF标准,支持高集成、嵌入式等场景,适用于军用通信、雷达等领域。 SCA体系包括目标平台资源层(TRL)、环境抽象层(EAL)、SRTF操作环境(OE)及应用层(AL)。其中,SRTF操作环境包含操作系统、运行时环境(RTE)和核心框架(CF),提供波形管理、资源调度等功能。
|
人工智能 自然语言处理 算法
基于 3D+AI 的商场导航软件核心技术解决方案
本文通过解析商场室内导航系统 3D+AI 三大核心技术模块,提供可直接复用的工程解决方案
558 0
基于 3D+AI 的商场导航软件核心技术解决方案
|
SQL 监控 关系型数据库
MySQL高级查询技巧:子查询、联接与集合操作
本文深入解析了MySQL高级查询的核心技术,包括子查询、联接和集合操作,通过实际业务场景展示了其语法、性能差异和适用场景,并提供大量可复用的代码示例,助你从SQL新手进阶为数据操作高手。
|
存储 监控 虚拟化
Hyper-V一硬盘数据备份法
在Hyper-V环境中,备份单硬盘虚拟机对保障业务连续性和数据安全至关重要。常用方法包括:使用Hyper-V管理器导出虚拟机,简单直观但效率较低;借助Windows Server Backup实现自动化备份,内置系统功能无需额外软件;采用专业备份软件(如Veeam Backup & Replication),提供多种备份类型和监控功能,稳定性更佳但需付费;创建快照快速恢复特定状态,不过依赖父磁盘且过多影响性能;手动复制文件无需工具但易出错。推荐优先选择专业备份软件或Windows Server Backup以确保可靠性与效率,快照适合作为临时补充手段。
|
存储 设计模式 Java
重学Java基础篇—ThreadLocal深度解析与最佳实践
ThreadLocal 是一种实现线程隔离的机制,为每个线程创建独立变量副本,适用于数据库连接管理、用户会话信息存储等场景。
599 5
|
数据采集 人工智能 数据挖掘
Python 编程基础与实战:从入门到精通
本文介绍Python编程语言,涵盖基础语法、进阶特性及实战项目。从变量、数据类型、运算符、控制结构到函数、列表、字典等基础知识,再到列表推导式、生成器、装饰器和面向对象编程等高级特性,逐步深入。同时,通过简单计算器和Web爬虫两个实战项目,帮助读者掌握Python的应用技巧。最后,提供进一步学习资源,助你在Python编程领域不断进步。
|
SQL JSON 自然语言处理
数仓建模—建模工具PdMan
工欲善其事,必先利其器,所以开始数仓建模之前我们还是要选择一个合适的建模工具,江湖上混怎么能没有一个响亮的名号和趁手的武器呢,PDMan就是我们要介绍的工具。后面我们还会介绍其他建模工具,你选择一个合适的就行。
2956 0
数仓建模—建模工具PdMan