前言
微信小程序最近热度退去,关注度已经不像刚出现时那么火热。不过从功能上看,小程序为微信公众号更灵活,很多公众号无法实现的能力在小程序里可以轻松实现,而借助微信这个超级流量平台,小程序依然会吸引一批有需求的服务商入驻。
假如你需要开发微信小程序,想必对小程序的方方面面已经有所了解。微信自身对于小程序的支撑主要在客户端,定义了小程序在客户端的目录结构、配置文件以及可以使用的API。在这个互联网时代,只有客户端的程序未免过于单薄,能实现的功能太少。现在的软件几乎都有自己的服务端,核心逻辑放在服务器上,客户端只负责界面展示以及用户交互。
既然需要一个服务端,就少不了对服务端的部署和运维。维护服务端是件很无趣的事情,无论对新手还是老手:准备机器、配置运行环境、把代码推送到机器上,启动,调试。整件事情纯体力劳动,而且中间经常遇到各种各样稀奇古怪的问题,要么是缺少依赖,要么是莫名的不工作,排查有浪费了大量的时间。而有的服务比较复杂,还得依赖数据库或者其他服务,在搭一套数据库,又增加了大量的时间成本。而且这些还没考虑服务端应用更新的操作。
使用容器服务
使用容器服务,可以减轻环境搭建和部署的成本,后续的软件更新也可以通过容器服务完成。甚至通过容器服务的DevOps支持实现从提交代码到更新服务的全自动流程。
你得先了解Docker才能开始使用容器服务,在容器服务团队的云栖公众号上提供了完善的Docker学习路线图,希望能帮助你从头开始学习Docker。
使用容器服务部署应用的过程非常简单,可以总结为
- 把应用打包成Docker镜像,推送到阿里云镜像仓库
- 准备编排模板,一个yaml文件,格式非常简单,在个文件里描述你的应用镜像,应用配置以及依赖的数据库等服务。
- 在容器服务上部署新应用
这里提供了一个Python Web+Redis的样例。
至此,我们已经部署了一个应用,但是线上服务总是要更新的。在容器服务里更新应用也很简单:
- 修改代码
- 构建新镜像,推送到镜像仓库
- 在容器服务控制台点击重新部署
这里要手工构建镜像,还得打开容器服务控制台才能用新镜像重新部署,能不能修改代码之后立即就部署呢?其实很简单,容器服务完全支持这种场景,这篇文章详细介绍了如何在容器服务里配置完整的持续交付流程。
支持https和websocket
微信小程序要求普通请求必须走https,长连接用websocket。在容器服务里怎么支持https和websocket呢?很容易实现,这里介绍了如何在容器服务上配置websocket,至于https,由于容器服务前端使用slb做转发,所以只要在slb上配置了证书,就可以通过https访问服务了。