共计 3564 个字符,预计需要花费 9 分钟才能阅读完成。
我还是那个前浪,很多朋友说看了我的故事后觉得有点励志,在大家都处于“中年危机”、“大龄程序员找不到出路”等各种焦虑的时候,我的故事像一碗鸡汤(这个说法莫名感觉很油腻,能不能换一个???)
其实我认为与其消极焦虑,不如发挥自身优势积极面对。自从公司新项目使用了云服务器之后,我就又开始了继续学习的道路。也正因为不断地学习,从最开始被实习生轻视,到后来的让老板赞赏,无疑是打了一个漂亮的翻身仗。(了解前情请戳:甩锅大会上,我是如何绝地求生的)
上次因为业务量的快速上涨,导致服务器请求量远远超出预估,好在华为云弹性云服务器想要变更规格还是非常方便的,4 行代码完美解决问题。
但之后,我也在反思,作为一个资深技术人,我们就只能被动地响应需求,处理问题么?不,不应该这样。
相比起后浪们,我们的优势一方面是对技术原理的理解和实际经验的加持,另一方面,还应该能够通过对公司业务的理解甚至于对行业和商业环境的理解,提前准备一些技术方案。
顺着这个思路往下想,公司的新业务是一个内容社区,现在的日活已经突破了 10 万用户量级,但从后台数据看,用户增长速度明显有所下降,按照运营部门的套路,这个时候一般要提比较大的需求了。
这个需求会是什么呢?一方面,从业务角度来看,我们新业务的目标用户偏年轻化群体,并且以女性居多;另一方面,从行业角度来看,现在新媒体内容的承载形式已经从图文转变为视频和短视频。
那么,运营部门接下来会不会提出要做短视频了呢?如果做短视频,我应该先做点什么呢?
果不其然,在这周的例会上,运营部门提出,我们要通过发展短视频来进一步提升内容的多样性,从而达到提高用户停留时长与留存率的目的。
老板也点头表示赞同,我们研发老大显然事先没有准备,扭头看向了我,目光中的信任让我感动不已,加上之前我就已经预估到了这个需求,于是我代表研发团队发言:
“我们研发部门已经预判到接下来项目的发展方向会是短视频,所以提前做了预案,例如从服务器的角度来说,由于短视频相比图文内容,对服务器的磁盘空间要求更大。
但我们的服务器部署在华为云弹性云服务器上,我们可以非常方便地将已有磁盘挂载给弹性云服务器,或调用创建云硬盘的接口创建新的磁盘,然后再挂载到弹性云服务器。
为了快速响应业务调整的需求,我们已经将 服务器挂载磁盘的操作文档 写好了。”
说着,我打开了提前准备好的文档《弹性云服务器挂载磁盘》:
步骤 1:创建云硬盘。
1、创建云硬盘。
(1)接口相关信息
URI 格式:POST /v2/{tenant_id}/volumes
(2)请求示例
POST: https://_{endpoint}_/v2/74610f3a5ad941998e91f076297ecf27/volumes
Body:{
"volume": {
"name": "openapi_vol02",
"availability_zone":"az_test_01",
"description": "create for api test",
"volume_type": "SATA",
"size": 40
}
}
(3)响应示例
{
"volume": {
"status": "creating",
"user_id": "f79791beca3c48159ac2553fff22e166",
"attachments": [],
"links": [
{
"href": "https://xxx/v2/74610f3a5ad941998e91f076297ecf27/volumes/51f45e08-1d4f-44c6-a4a9-84a488e0e8d3",
"rel": "self"
},
{
"href": "https://xxx/74610f3a5ad941998e91f076297ecf27/volumes/51f45e08-1d4f-44c6-a4a9-84a488e0e8d3",
"rel": "bookmark"
}
],
"availability_zone": "az_test_01",
"bootable": "false",
"encrypted": false,
"created_at": "2018-05-16T11:19:33.992984",
"description": "create for api test",
"updated_at": null,
"volume_type": "SATA",
"name": "openapi_vol02",
"replication_status": "disabled",
"consistencygroup_id": null,
"source_volid": null,
"snapshot_id": null,
"shareable": false,
"multiattach": false,
"metadata": {"__system__volume_name": "openapi_vol02"},
"id": "51f45e08-1d4f-44c6-a4a9-84a488e0e8d3",
"size": 40
}
}
2、记录响应中“volume”的 ID。
步骤 2:挂载磁盘。
(1)接口相关信息
URI 格式:POST /v2.1/{tenant_id}/servers/{server_id}/os-volume_attachments
(2)请求示例
https://_{endpoint}_/v2.1/74610f3a5ad941998e91f076297ecf27/servers/9f4d9281-95e7-4915-a126-1ee597101e2e/os-volume_attachments
Body:
{
"volumeAttachment": {
"volumeId": "51f45e08-1d4f-44c6-a4a9-84a488e0e8d3",
"device": "/dev/sdb"
}
}
(3)响应示例
{
"volumeAttachment": {
"id": "51f45e08-1d4f-44c6-a4a9-84a488e0e8d3",
"volumeId": "51f45e08-1d4f-44c6-a4a9-84a488e0e8d3",
"serverId": "9f4d9281-95e7-4915-a126-1ee597101e2e",
"device": "/dev/sdb"
}
}
步骤 3:确认挂载磁盘是否成功。
(1)接口相关信息
URI 格式:GET /v2.1/{tenant_id}/servers/{server_id}/os-volume_attachments
(2)请求示例
https://_{endpoint}_/v2.1/74610f3a5ad941998e91f076297ecf27/servers/9f4d9281-95e7-4915-a126-1ee597101e2e/os-volume_attachments
(3)响应示例
{
"volumeAttachments": [
{
"volumeId": "4fc0b4cc-9d6c-431c-be70-3dfeec2ff6e0",
"id": "4fc0b4cc-9d6c-431c-be70-3dfeec2ff6e0",
"device": "/dev/sda",
"serverId": "9f4d9281-95e7-4915-a126-1ee597101e2e"
},
{
"volumeId": "51f45e08-1d4f-44c6-a4a9-84a488e0e8d3",
"id": "51f45e08-1d4f-44c6-a4a9-84a488e0e8d3",
"device": "/dev/sdb",
"serverId": "9f4d9281-95e7-4915-a126-1ee597101e2e"
}
]
}
演示完后,老板对研发团队的超前响应提出了表扬。会议结束后,研发老大(我老板)特意组织了一次部门聚餐,席间他说到:“一个好的研发,不光技术要过硬,还要理解业务,预判业务需求,甚至做到反向去驱动业务,这样我们才不会在面对需求时处于被动。在这方面,你们一定要向你们的老大哥(也就是我)学习,我希望我们每个人都能具备这样的能力,一起加油,奥利给”!
据了解,目前 API Explorer 平台已开放 EI 企业智能、计算、应用服务、网络、软件开发平台、视频等 70+ 云服务,共上线 2000+ 个 API、6000+ 个错误码。在前期试运行期间,华为云 API Explorer 平台上的 API 接口也已被多家企业成功接入。点击查看详情
华为云 API Explorer 平台在未来几个月会实现更多功能,比如支持 SDK 示例代码、CLI 等特性,同时也会开放更多的云服务 API 接口,连接更多开发者实现创新、拓宽创新边界。
点击关注,第一时间了解华为云新鲜技术~