突发新闻插播:
https://huggingface.co/stabilityai/stable-diffusion-3-medium
今天在看Github热榜时,看到piku这个项目,本着寻根问底的态度,把跟它相关的Heroku和dokku也都看了下,顺便一并介绍下。
根据官网介绍,取名为Piku的部分原因是:它是在 Raspberry Pi 上推出的(前面的Pi),又因为Piku是日语中“抽搐”或“摇晃”的拟声词(查了下,似乎是“ピクピクする” pikupikusuru),作者觉得用Piku这个名字会显得很可爱又有趣。
要我说:实在是开源项目太多,名字都不够用了,就到处抓瞎吧😂
最近搭建了本地的Markdown转HTML服务,今天试着调了下一些配色,但心里觉得应该还是不对。对着一本[日]笹本未央的《配色全攻略》,以及开源的在线色彩网站 hue.tools一筹莫展,对于一个缺乏美学天赋的人来说,训练和专业工具诚然能提升我的配色水准,但要真正专业,还是太难了,不得不承认:人和人是有差别的,应试教育是没有前途的🤣,这时一首《我们不一样》从远处飘来……
仓库:piku/piku
点评: piku
是一个开源的Git推送部署工具,自称是:“一个你能见到的最袖珍的PaaS”。它的创造灵感来源于dokku
,而dokku
的创造灵感又是来自于Heroku
。Heroku
又是个什么鬼呢?要说清楚它们的关系,不得不啰嗦一点。
dokku
号称:
Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen.
而piku
号称:
The tiniest PaaS you've ever seen. Piku allows you to do git push deployments to your own servers.
可想而知,英文中的 tiny 一定比 small 还要小。piku
是dokku
的低配平替,而dokku
又是Heroku
的低配平替😄
先来看下 Heroku:
Heroku
是一个著名的云计算平台,它提供了一种叫做PaaS
(Platform as a Service)的服务,即平台作为服务。那什么叫PaaS呢?可以用一个形象的比喻来解释一下。
想象一下,在这个全民创业的年代,你也想去开一家面包店。你得有个地方来做面包、卖面包,你有很多选择:可以自己买地、建房、装修,然后开始做面包和卖面包。但这样做的前期投入显然非常大:既耗时,又耗钱,还耗神!比如要开通水电、防范时不时的消防、卫生、安全检查等等。另一种选择是,你可以到已经建好的面包坊一条街去租一个档位,那里设施齐全,你要的:烤箱、工作台、原料,甚至帮手都一应俱全;你也不需要烦啥消防、卫生、安全检查,面包坊一条街自有人操这些心。你唯一要做的就是:带上你的技术和创意,全心全心地把面包烤好就行了,其它的繁琐的工作,都交给平台方就好了。Heroku
就像是一个为软件开发者准备的“面包坊一条街”。
在Heroku
上,开发者专注于编写和运行他们的应用程序,而无需担心服务器、操作系统、数据库或任何其他的“基础设施”问题。Heroku
提供了一个现成的、可以立即使用的平台,开发者只需要上传他们的应用程序代码,Heroku
就会自动处理所有其他的事情,比如服务器配置、负载均衡、自动扩展等。
Heroku
还提供了非常多的额外的服务、工具和扩展,比如数据库服务、缓存、队列等,这些都是开发者可以轻松添加到他们应用程序中的功能。而且,Heroku
的定价模式非常灵活,你可以根据你的应用程序的使用情况来付费,就像你根据烤面包店的规模来付面包店的租金一样。
国内类似Heroku
的平台无非是几大云厂商的产品:
阿里云弹性云服务器(ECS)和云开发平台(ACE) 腾讯云云函数(SCF)和云开发(TCB) 百度智能云云函数(CFC)和云应用引擎(BAE) 华为云FunctionStage和云应用引擎(CAE)
这些平台通常都会提供易用的控制台、自动化的资源管理、负载均衡、自动扩展等功能,以及与各种数据库和存储服务的集成,让开发者可以专注于应用的开发,而不是服务器的维护。
再来看下 Dokku:
Dokku是一个开源的、轻量级的PaaS平台,它的出现受到了Heroku的启发。你可以把Dokku看作是Heroku的一个迷你版,它允许你在自己的服务器上创建一个类似Heroku的应用部署环境。如果你喜欢Heroku的便利性,但又想在自己的服务器上保持控制和隐私,Dokku就是一个很好的选择。用之前的面包店比喻,如果说Heroku是一个完整的面包坊一条街,那么Dokku就像是你在自己家中打造的一个小型面包制作站。它没有Heroku那么多的现成服务和自动化功能,但它足够灵活,可以让你在自己的厨房(服务器)里烤面包(部署应用)。
Dokku的主要特点包括:
一键部署:你可以通过简单的Git命令将应用部署到服务器上,就像在Heroku上一样。
插件系统:Dokku支持插件,这意味着你可以根据需要添加额外的功能,比如数据库服务、域名管理、存储插件等。
容器化:Dokku使用Docker来容器化应用,这意味着你的应用可以在隔离的环境中运行,保证了安全性和可重复性。
简单的配置:Dokku的配置和管理相对简单,它可以通过SSH和几条命令来操作。
小型到中型应用:Dokku适合小型到中型规模的应用,如果你的应用需要大规模的集群或者高级的特性,可能还是需要考虑更全面的解决方案。
使用Dokku,你可以享受到类似于Heroku的部署体验,同时又能保持对自己服务器的完全控制。这对于那些想要避免云服务成本、合规性问题或者喜欢DIY解决问题的开发者来说,是一个很好的选择。
最后来看下Piku:
Piku 是一个开源的、极简主义的PaaS平台,它受Heroku和Dokku的启发,但更加轻量和简单。Piku 的设计理念是提供一个最小的、可扩展的、易于使用的平台,用于在任意类型的Linux系统上部署应用程序。它允许用户将自己的代码推送到个人服务器上进行部署,支持ARM和Intel架构,适用于任何能运行Python、nginx和uwsgi的云服务商或裸机。piku提供了类似Heroku的工作流程,支持多种编程语言,并能独立扩展多应用。它还支持虚拟主机、SSL证书、静态资源映射和缓存等功能,易于使用,代码简洁,适用于低配服务器和教育领域(呃,这是“穷教育”的意思么?😅)。Piku 的特点包括:
极简主义:Piku 的核心是一个不到200行代码的shell脚本,这使得它非常轻量和易于理解。 支持多种语言:Piku 支持多种编程语言和框架,只要它们能够运行在Linux环境下。 版本控制:Piku 通过Git进行版本控制,使得部署和管理应用程序变得非常简单。 环境变量管理:Piku 允许通过简单的文本文件来管理应用程序的环境变量。 支持多个应用:Piku 可以在同一台服务器上运行多个应用程序,每个应用程序都在自己的独立环境中运行。 可扩展性:Piku 允许开发者根据自己的需求添加自定义脚本和钩子。
Piku 的使用非常简单,只需要在服务器上安装Piku,然后将应用程序的代码推送到服务器上的Git仓库中,Piku 就会自动构建和部署应用程序。这种简单性和灵活性使得Piku 非常适合小型项目、个人项目或者那些喜欢自己动手搭建PaaS平台的开发者。
Piku和 Dokku都是相对轻量级、易于使用且高度可定制的PaaS平台,它让开发者在自己的服务器上快速部署和管理应用程序变得更加方便。实际开发和部署中,可以根据自己的需求,来选用或搭建不同的平台。