Vibe Everything.
AI以一种前所未有的方式在剧烈演进, Blazing Fast.
In the memories, for the memories, Past away.
永远相信美好的事情即将发生.
Vibe Everything.
AI以一种前所未有的方式在剧烈演进, Blazing Fast.
In the memories, for the memories, Past away.
永远相信美好的事情即将发生.
12.1
多少记录一下,Mark一下先。
打个卡吧。
2022宏观世界事情有点多,感受衰退。
2年前到现在一直在把一些在线服务东西改为自托管,增加可控性。
文件同步:Syncthing
存储云盘:NextCloud
即时消息:Mattermost
密码管理:BitWarden
对象存储:MinIO
代码仓库:Gitea
| No. | 设备 | 用途/说明 |
| 1 | 烽火光猫HG260 | 电信光纤配送的接入网关,联系电信客服改为桥接拨号。 |
| 2 | 新路由3 | 拨号主路由和无线AP。 MTK7621A的芯片,也是一款比较经典的路由,刷了OpenwWRT 18.06.1。 跟其他人不同的是我没有在路由上增加更多的功能,是因为路由的性能其实比较弱鸡,再跑其他服务容易死机。 |
| 3 | 猫盘CatDrive | 旁路由和主力网关。 一款矿渣产品,50多块购入,刷了Armbian(Debian 10)系统,把这个作为旁路由,家里所有其他设备的网关都指到了这台设备。 这台设备自带SATA接口,买了一块SSD装上去,作为备份机,备份工具用的是rclone和restic。 这台设备还搭建了WireGuard服务,在主路由做了WireGuard的端口映射,在外网可以随时连到家里的内网。 |
| 4 | 华擎Beebox N3150 | 一台低功耗NUC,尺寸12cm x 12cm左右。 外接一块10TB的WD移动硬盘,作为主力存储,用的是ZFS文件系统。 安装的是 Ubuntu 18.04 操作系统,服务以Docker的方式运行。 DDNS做了三个作为冗余备份: 1、cloudflare,通过dns-lexicon写脚本进行更新; 2、dynu,shell脚本更新; 3、duckdns,shell脚本更新; 服务访问方式: 之前的方案是直接对外暴露端口,后来看到有人说通过端口直接访问自己的NAS被上海电信封停封停宽带,于是改为通过Wireguard接入到内网访问大部分的服务。 Syncthing是不受内外网影响的,它自己有节点发现机制。 |
最近看的书:
李录《文明、现代化、价值投资与中国》
最近用的框架:
wagtail
Blog的主题换了一个极简的arke。
干扰太多、信息过载,多做减法倒是件好事。
我向往的:
来自推特用户MengTo
Mark一下,Google 出了一个OpenSK的开源加密Key方案。
等快递恢复落实起来。
@todo
最近1个月业余时间在玩Serverless多一点,这里做一下记录。
现在的服务开发趋势基本沿着这样的路径在发展:
服务化(SOA) -> 微服务(Microservices) -> 服务网格(Service Mesh) -> Function Service (Serverless)
看下面的图片会更直观一些(文末会附带一些阅读资源,内容更完善):

Serverless直接从字面可以看出来,服务开发者无需关心服务器运维,只需要做好服务功能开发,高可用、服务容量扩展都无需关心,大大降低开发者的负担。
把一个个服务以函数的方式暴露出来。
前台的应用拼装调用函数实现服务。
基本上主流的云服务都提供了Serverless服务,这里说一下我实际操作过的几家。
国内厂商:
1、阿里云 函数计算FC
2、腾讯云 无服务器云函数SCF
国际厂商:
1、Amazon AWS Lambda
2、Google Cloud Functions
3、Google Cloud Run
独立Serverless提供商
1、now.sh / zeit.co
PHP:阿里云、腾讯云、zeit.co
Python:全支持
Nodejs:全支持
Java:全支持
Go:Google Cloud、zeit.co
其他还有一些语言支持这里不展开说明。
之前Serverless的一个问题就是语言版本相对比较滞后,但就目前看下来,主流服务商基本都可以用到较新的版本,比如Python 3.6,Nodejs 10.x 等。
Serverless现阶段的一个问题就是跟厂商的云服务强绑定,如果说是你的服务是基于AWS来构建,那后面想要迁移到其他云服务并不是件容易的事情,需要改造你的应用代码调用新的厂商的后端服务。但代码基本的运行环境是一样的,这个不用担心。
对于服务依赖的问题:
1、有个基于Nodejs的Serverless程序开发框架,对上层应用层抽象,下层把云服务进行封装,适配不同的云厂商(目前支持8家);
对于环境依赖的问题:
1、今年发布的Google Cloud Run采用的方案是部署Docker镜像,这种借助了Docker来解决环境适配的问题。
Serverless服务开发我自己是主要使用了Python 3.6,下面列举一下相关工具包:
1、https://github.com/Miserlou/Zappa AWS Lambda部署工具
我写的小服务是部署在AWS Lambda,所以我对Zappa有实践经验,下面两个木有。
2、https://github.com/serverlessplus 腾讯云
3、https://github.com/aliyun/fun 阿里云
特别单独说说一下这家独立厂商,结合了github的玩法比较有趣,授权github之后,push代码到github的仓库,会自动部署代码到zeit服务器,推荐大家玩一下。
关于服务计费:Serverless真正实现了“按需付费”,应用程序触发执行的时候才计费。对比目前的云服务器,即使你的应用程序无人访问,也需要支付托管费用,这点上Serverless优势很大。
关于服务扩容:无需关心。
冷启动问题:Serverless由于不是常驻服务,如服务没有预热,冷启动的时候响应速度会稍慢(0.x秒),所以这里常见的方案是设置一个定时触发器将应用程序warmup,缓解冷启动速度慢的问题。
ProgressBar(进度条):https://progressbar.net/
功能是计算当前时刻年月日的百分比进度。
是偶然的一个机会在Twitter看到一个号:https://twitter.com/ProgressBar201X 得到启发,于是做了这样的一个小服务。
基于Python 3.6开发,开发框架是Flask,使用Zappa部署在Amazon AWS Lambda里。
====
机器人提醒:这个是工作上的小工具,对接了企业微信的群机器人接口,发群消息。使用的是PHP开发,用的是阿里云函数计算。
最近Python、Nodejs都用了不少,几种语言换着写的有点精神分裂了:P
新的玩具:之前一直计划弄个软路由来着,但NUC只有单个网口。昨天买了一个USB的千兆网卡,后面打算把NUC配置一下路由功能,这样NUC就真的变为:
路由、存储、影音播放一体化的终极设备了。
https://serverless.ink/
http://jolestar.com/serverless-faas-current-status-and-future/
https://amio.github.io/serverless-zhcn/
https://jimmysong.io/posts/what-is-serverless/
https://martinfowler.com/articles/serverless.html
https://aws.amazon.com/cn/blogs/china/iaas-faas-serverless/
https://aws.amazon.com/cn/blogs/china/lambda-serverless/