flynn

https://github.com/flynn/flynn/blob/2c20757de8b32a40ba06f7e5b363b2d4dd6b332e/README.md



https://pt.slideshare.net/hellofrankey/passflynn-51129812



Flynn是一個開源的PaaS平臺,可自動構建部署任何應用到Docker容器叢集上執行,其功能特性與元件設計大量參考了傳統的PaaS平臺Heroku。



https://www.itread01.com/content/1546490717.html

http://flynn.mydoc.io/?p=show&v=12174



flynn 是一个不错的开源paas 平台,基于git 以及容器技术,开发模型与
heroku 基本一样,同时构建方式就是基于heroku 的buildpacks



安装
官方文档提示说明是ubuntu 操作系统16 以及14 ,所以安装就试用ubuntu了



shell
sudo bash < <(curl -fsSL https://dl.flynn.io/install-flynn)



https://www.cnblogs.com/rongfengliang/p/9784592.html



https://www.pianshen.com/article/93291219015/



Heroku平台
Heroku平台的灵活性极高且支持多种编程语言。若想把程序部署到Heroku上,开发者要使用Git把程序推送到Heroku的Git服务器上。在服务器上,git push命令会自动触发安装、配置和部署程序。



Heroku使用名为Dyno的计算单元衡量用量,并以此为依据收取服务费用。最常用的Dyno类型是Web Dyno,表示一个Web服务器实例。程序可以通过使用更多的Web Dyno以增强其请求处理能力。另一种Dyno类型是Worker Dyno,用来执行后台作业或其他辅助任务。



Heroku提供了大量的插件和扩展,可用于数据库、电子邮件支持和其他很多服务。



https://www.jianshu.com/p/7bc34e56fa39



https://zhuanlan.zhihu.com/p/108032307



为什么需要PaaS?对Deis,Heroku,Flynn的一些观察



一句话,现在的应用程序从源代码到运行阶段太复杂,没有标准的,通用的方式。 整个过程及产出如下:



开发阶段:源代码
构建阶段:发布包/可执行程序
部署阶段:可运行的镜像(发布包+配置)
运行阶段:进程、集群、日志、监控信息、网络
不论是Deis,Heroku,Flynn或者其他PaaS的目标,都是为了让2-4这3个阶段尽可能的简单。看了他们所设计的产品,简单到了什么程度?通过一个客户端命令行工具,实现了:



开发到构建:



用户通过git提交源代码,由PaaS自动构建镜像,并提供版本的管理——用户可以创建新版本(提交新代码或修改部署配置)、回滚老版本等。



部署到运行:



自动选择运行机器,为每个进程副本部署启动单独的容器,解决请求路由和负载均衡,并提供进程的管理——用户可以做扩缩容、查看日志、监控状态等、回滚历史的发布



#为什么是这些功能?为什么这些功能不能分别由各种工具实现?



在我看来,代码从发布到运行由两根轴组成。



##纵轴: 源代码——发布包——可运行的镜像——进程



这里的关系是一步接一步,顺序往下,不论你用什么工具什么平台,这4步都是流水式的向下。



##横轴: 负载均衡、集群部署扩容缩容、健康检查、日志



线上的应用,有以下几种情况



发布新功能:全量更新和部署
性能压力:通过健康检查或手工触发,进行扩容和缩容
保证业务连续性:在上面的更新中,通过负载均衡,把新请求导入到更新后的容器上,等待旧的处理完后进行更新



https://blog.csdn.net/weixin_34107955/article/details/92615423



Category docker