兩年前,初學編程時,有些懂這方面的朋友或舊生會這樣跟我說:「而家揼個網站好容易,一個container 攪掂!」我心知肚明,他們是有意無意地炫耀他們所懂,以我當時對科技的無知程度,是欺負我了!(當然,一切都是我自己一廂情願的演繹,我承認自己太有心眼)。
就是「container」這用詞在建置網站代表甚麽,我也不知,又點會容易!當中一定包含了很多過往的發展,是科技日積月累的成果,我不相信這麽「容易」。
我在學習方面一向好勝心極強,我那時心想,我早晚一定追到你們所說的水平!
那時,我學習旅途中常聽到甚麼程式甚麼框架out 了,該學甚麼甚麽新的,我了解一段時間後,知道他們胡說,係「老點」!根本所有科技野有佢演變既脈絡,如果我中間插入去,根本就糊裏糊塗,只係鸚鵡學舌,完全不知其所以然。
因為咁,我初學時用自己部電腦建置Server ,採用最傳統的LAMP stack 既方法起, 呢個階段我極痛苦,堆疊過程困難重重,懂科技既朋友跟我說:「用d framework 就得啦。」聽到這些意見,我往往會沉默不語,因為我知道,我想明既野,那些framework 不能給我。
真嘛,若不是自己用LAMP 起個網站,我先明點樣同自己屋企既網絡接駁,否則,我日後就不會明白點解在阿馬遜(AWS )建立網站時,要攪一堆VPN 既野,亦不會明白點解一掂到NAT同public IP 嗰d位,AWS 無得免費,要收錢!
若我不是明白HTML、CSS、JavaScript 和PHP ,我根本就不明白後來nodejs 既發展,和懂如何欣賞當中module 化和call API 既優點,亦不會懂React,佢所用既JSX ,根本就先要懂HTML,無得唔識!
要明白container ,首先我要明白近十年的建置網站的方法,甚麼JAM stack、MEAN stack,progressive framework,通通都要知,我試過好多次migrate 網站到唔同既雲端服務上,Google cloud platform、AWS、Linode 、Heroku等等,極明白搬網站的細節和當中的煩氣,每次搬既過程,我都見到雲端服務中有「container 服務」,我心想:container 你等一等,我就泥征服你!
這幾天,我終於學習docker , 不難上手,image file 不難掌握,因為那些配置,早在之前建置那些stack 已知是甚麽回事,然後學到那個compose file,拍案叫絕!可真令website migration很方便!
牛刀小試,終於在AWS lightsail 用container deploy 左個website。
過程中,明白埋用multi-clusters 建置網站如何優勝過single host,亦理解到甚麼叫負載平𧗾,我終於碰上Kubernetes,知道它有乜用啦!
下一站、該輪到甚麽DevOps 那回事,究竟係乜野泥呢?似是一種作法流程而非編程。
再下一站,要深耕於去中心化程式世界中,將自己成為區塊錬的「節點」。
學習的列車不會有終站,但人生旅途有盡頭,我總不能如斯這樣學下去,是時候將所學展現出來,差唔多要落車了。