《獸醫的超日常》:我該承認誤宰了他們的寶貴公雞,還是推給狐狸?

《獸醫的超日常》:我該承認誤宰了他們的寶貴公雞,還是推給狐狸?
Photo Credit: Shutterstock/達志影像

我們想讓你知道的是

現在,我的胃裡一陣翻攪,心裡知道得很清楚。這些拍打、抽搐的動作,不是慾火焚身的公雞對某位後宮佳麗的求偶舞,而是死亡邊緣的迴光返照。

文:強納森・克蘭斯頓(Jonathan Cranston)

「凡事首重耐心。得到一隻雞的辦法是孵蛋,而不是把蛋打破。」

——美國幽默作家阿諾德・亨利・格拉索(Arnold H. Glasow)

理論上,人和人之間第一次見面時,我們只有七秒鐘的機會留下第一印象。有鑒於只有一次機會塑造這個自我形象,我們自然希望對方日後回想起雙方的初遇時,內心能夠洋溢著溫暖與情誼。無論出於什麼原因,如果我們失敗了,日後就要花很多的時間和努力,才能改變別人一開始對我們的觀感。身為獸醫,大家把動物交付給我們,不管是野生的或家裡養的,也不管是寵物或家畜,我們務必從一開始就展現出負責、內行、親切的專業形象。

然而,無論我們多努力,難免總有事與願違的時候。小女孩的倉鼠在你小心翼翼拿起牠時咬你一口,馬兒趁你打開馬廄時衝了出去,一下車你的腳就慘遭農夫的狗襲擊,衛星導航把你誤導到山谷另一邊的農場…… 落入諸如此類的窘境時,你通常就硬著頭皮應付過去,結束之後或是鬆一口氣,或是連忙逃回車上加速駛離。然而,也有些時候,整個看診或出診的過程拖了又拖,你就必須堅強起來,挺過人生中最尷尬的時刻。

睿智的獸醫界前輩常對我說,農場主人的眼裡容不下笨蛋。當你處理的是他們的牲口,事關他們的生計,他們為什麼要包容你? 獸醫界普遍的共識是你只有一次機會。如果做得好,贏得農場主人的歡心,那麼你就會受到慷慨的款待:一大塊牛肉、一籃子雞蛋、一整箱蘋果、自家烤的司康、到府看診完後共進午餐或早餐,甚至邀你假日一同打獵。然而,如果事情不順利,那你就等著被罵得狗血淋頭。農場上的牧羊犬會恭送你出去,一路對著你的腳跟狂叫。從此以後,每當這位農場主人要請獸醫出診時,你都會在預約登記簿上看到「誰都可以,就是不要強納森」的註記。

「強納森,我幫你排了星期一早上八點半去霍華德先生那邊做結核病篩檢。」潔琪週五下班前對我說:「有一整群牛都要檢驗,所以總共四百隻左右。你之前應該沒去過,但他那裡還滿好找的。他是個和藹可親的大好人,要是他喜歡你的話。但他也滿有個性的,要是他不喜歡你的話。我相信你們處得來的。」

這是每週五的例行公事,潔琪會事先讓我們知道星期一早上預約出診的排程,屆時我們或者直接從家裡出發,或者提早到醫院來整理要帶去的東西。牛結核病之盛行使得我們被相關檢驗工作淹沒,每位獸醫每週都至少有一場大型檢驗要做,我那一場通常是在星期一。這是一件非常乏味的工作,但往往能提供一個與新客戶見見面、打好關係的機會,你也可以藉機了解他們農場的狀況。入行兩年之後,我對結核病篩檢已是熟極而流。所以,雖然對新的一週來說,這是一個無聊的開始,但我不需要在週末做任何功課,那個週末我也不用待命。於是乎,整個週末我都沒有多想這件事,直到星期天晚上,我才算了算次日一早過去那裡要花多久時間。

潔琪認為到農場要二十分鐘,而且跟往常一樣,她詳細說明了路怎麼走。然而,這是我首度造訪這座農場,為了確保不要遲到,我決定早上八點從醫院出發。我在七點四十五分到醫院拿我的裝備和文件,確定萬事俱備,就上路了。

一如往常,潔琪的指示準確無比,我一路順暢無誤地來到農場。既然還有時間,我決定在農場前面的路肩暫停,把握見面前的十分鐘,再整理一下。所有器材都準備就緒,我心滿意足地把車開出去,往前開了兩百公尺,來到山毛櫸農場(Beech Farm)大門口的柏油路,再繼續沿著車道從木樁和鐵絲打造的圍籬之間開過去。車道大約將近一百公尺長,娟姍牛在兩旁的草地上吃草。車道兩側種了十二棵六公尺高的利蘭氏柏樹,一側各有六棵。現代化的紅磚房矗立在車道盡頭,利蘭氏柏樹大概是種來保護隱私之用。

我駛近這排常綠植物,在開到離農舍約二十公尺的地方時,一群各式各樣的雞正慢吞吞地穿過了車道,大概有二十來隻,品種和個頭大小不一。牠們無視於我的到來,從右邊晃到左邊,如饑似渴地獵食蟲子和土裡的肥美幼蟲,在圍籬前方的草地上啄來啄去、東抓西扒。我自然而然地停下我的五十鈴遊騎兵,讓牠們通過。我的狗兒麥克斯在副駕駛座上狂叫,一個勁兒催促牠們,但短短的距離還是花了牠們大半晌。從駕駛座上看出去,我的視野稍微被擋住了,但最後我看牠們全都走到了我左邊,心無旁騖地撥著泥土找蟲吃。於是,我從樹前開過去,在屋前停下。

我熄掉引擎,下車去穿我的雨鞋和雨衣。繞到後車廂去時,利蘭氏柏樹後面有個東西吸引了我的視線。看起來是一團羽毛,拍打著,抽搐著,滿地翻滾著。我大驚失色,立刻就知道那是什麼。我的記憶瞬間回到小時候,我曾養了三十隻雞,親自負責照料牠們。偶有生了病的雞隻,或不適合食用淘汰掉的公雞,我就按照家父從小教我的辦法,將牠們人道毀滅。然而,有一次,宰了一隻公雞之後,我立刻把牠拿到洗滌室的水槽去拔毛、清內臟,準備冰到冷凍庫。這隻斷了頭的鳥兒卻突然從水槽跳出來,從我頭上跑過去,接著在整間洗滌室裡亂竄,搞得櫥櫃、牆壁和剛洗好的衣服都是雞血。在脊髓的神經網路刺激之下,鳥兒的肌肉產生不受大腦控制的誇張動作。當時家母剛好不在家,我著急地趕在她回家之前收拾殘局。

所以,現在,我的胃裡一陣翻攪,心裡知道得很清楚。這些拍打、抽搐的動作,不是慾火焚身的公雞對某位後宮佳麗的求偶舞,而是死亡邊緣的迴光返照。這隻被霍華德夫婦養得頭好壯壯、毛色豔麗的俊俏公雞,只怕已經回天乏術了。我三步併作兩步,儘量若無其事地趕到奄奄一息的公雞跟前,暗中祈禱奇蹟發生,拜託牠只是昏過去,並且迫切希望不要引起農舍裡任何人的注意。然而,農舍的大窗戶就對著車道,我感覺霍華德夫婦就在他們那溫馨舒適的廚房裡,密切觀察我的一舉一動。


猜你喜歡


挖掘雲端開放架構優勢!Amazon EKS高可用性叢集快速部署容器

挖掘雲端開放架構優勢!Amazon EKS高可用性叢集快速部署容器

我們想讓你知道的是

企業如何在 Amazon EKS(Elastic Kubernetes Services)上使用 GitLab 創建自動化部署,減輕人力負擔,提升專案服務運作效率?

所謂現代化智慧 IT,所有工程師最希望的境界,莫過於只要輕鬆點幾下設定,系統就會自動跑起來,管理者再也不用隨時待命在機台旁邊,從此工作悠哉又快樂!儘管這樣情境還沒到來,但隨著敏捷式開發的流行,除了 DevOps 人員,有越來越多開發者將 CI/CD 概念融入到工作流程當中,例如從 build code、執行 unit test、到部署應用程式。

透過 AWS 增加雲端技能 在組織發揮影響力

上述種種反覆步驟自動化執行,也就能提昇服務品質、主動通知開發人員以減輕人力負擔,讓專案服務能持續運作。

其中,GitLab 是執行 CI/CD 常用的工具之一,也是開發者使用程式碼儲存庫的地方。為了讓 GitLab Runner 在雲端快速實踐 CI/CD,《AWS 開發者系列》透過影片分享,如何在 Amazon EKS(Elastic Kubernetes Services)上使用 GitLab 創建自動化部署。

以下節錄工作坊影音內容,幫助開發者快速理解如何運用 Amazon EKS 的高可用性且安全的叢集,將修補、部署節點、更新等關鍵任務,全部做到自動化設定。同時影片也會示範 Amazon EKS 搭配 GitLab 如何展開自動部署,幫助工程團隊實踐 CI/CD 價值。

Amazon EKS 對容器管理輕鬆簡單、維運省時省力

容器化服務越來越興盛,當容器(Container)越來越多,在複雜的微服務(Microservice)系統環境之下,運維團隊的管理成本可能相對會增加不少,為了有效調度容器部署, 導入Kubernetes 無疑是近年企業熱門的話題之一。

建構 Kubernetes Cluster 流主要可區分兩大塊,一是安排容器調度的Control Plane、另一則是容器運行時需要用到的 Worker Node。

Control Plane 裡面涵蓋有儲存狀態的 ETCD、CoController manager 、Scheduler 的調度管理、甚至是操作時進行互動的 APIServer,若是自己創建 的 Kubernetes Cluster ,需要自己安裝這些元件,後續仍需要對 Control Plane 進行相關管理、維護、升級工作。為了減少上述 Components 的繁複維護,在透過 AWS EKS 代管的 Kubernete Control Plane 部可以獲得以下三大好處。

Amazon EKS 一鍵式部署,展現三大優勢

第一,Amazon EKS代管的 Control Plane實踐了跨AZ的高可用部署,使用者不需要擔心單一節點故障的風險。

第二,Amazon EKS 支持至少四個 Kubernetes版本,持續跟進每季 CNCF 的發佈,同時 EKS 也完全符合上游 CNCF 規範。

第三,部署 Amazon EKS 之後,可直接使用 AWS 平台上現成的服務工具,在安全性管理、網路設定方面,可以做到無縫整合。

最後 AWS 台灣解決方案架構師也提到,若想在容器環境進行 CI/CD 及應用程式的管理,可以進一步透過 IaC 整合部署 Amazon EKS 叢集,透過使用 Console、把 EKS 變成 Cloudformation 的模板、使用 AWS 所開發出來的 eksctl.io、或指令是採用 AWS CDK 可以讓開發者用自身熟悉的語言,在 AWS 平台整合 CI/CD 工具進行維運及部署 EKS。

打造第一個在 AWS 上的應用程式

了解 Amazon EKS 整合 GitLab ,獲得三面向價值

對開發者而言,想把 Amazon EKS 整合到 CI/CD 工具之一的 GitLab 平台上,可以看到那些實際的優勢?

在 DevOps 開發者示範工作坊當中,GitLab 資深解決方案架構師指出,GitLab 使用到 Kubernetes 技術,主要有三種搭配方法,包含 GitLab Server、GitLab Runner、以及創建 Deployment Environment。

本次示範教學會主要聚焦在 GitLab Runner 如何採取 Auto-scaled 方式進行 Build、Test、Package Apps;以及在 Deployment Environment 運用 Kubernetes 技術,做到 Auto Deploy、Review App。

正因為 Amazon EKS 能夠在 DevOps 過程提供所需要的彈性計算資源,幫助開發者在 GitLab 平台上面獲得以下三個層次的優勢:

  • 在 GitLab 內建的部署工作流程當中,自動生成整套 CI/CD 最佳實踐腳本。
  • Review App 過程,從 Merge Request 中可直接訪問應用程式 /App 的 UI 介面,並且根據 Git branch 名稱、專案名稱,自動生成 Review App 的 URL,以及在 Merge 前的最後防線進行 Approval 檢查。
  • 加速 CI/CD 流水線,GitLab Runner 運行時候還可藉由 Amazon EKS Cluster 進行 Auto-scaled 的支援。

Amazon EKS 整合 GitLab ,需要兩大流程

影片最後,GitLab 資深解決方案架構師示範如何把 Amazon EKS 整合至 GitLab 執行 Auto Deploy,主要可分為兩大區塊流程,第一部分聚焦在 Amazon EKS cluster 的設置,第二部分則執行 Auto Deploy 設置。

第一塊可拆分為四個階段,首先教學怎麼創建 EC2 節點的 EKS cluster,第二階段示範把 EKS Cluster 連接到開發者的 GitLab Instance、Group 或 Project,下一步則使用 Cluster Management Project Template 創建一個 Cluster Management Project,以及最後一階段透過 Cluster Management Project 自帶的 Helm Chart,安裝在 Cluster 所需要的內建 App。

第二塊執行 Auto Deploy 設置,針對需要部署的 App 創建一個 GitLab Project,接著再把 gitlab-ci.yml 添加到 Project,並從 Web IDE 選擇及導入 Auto Deploy 的 CI 模版,讓 GitLab 自動生成最佳實踐的整套流水線。

幫助開發者更了解 Amazon EKS 整合 GitLab 的 QA 系列

Q:使用 Amazon EKS 之後,如何更有效率或優化資源去配置 Worker Node 的機器數量,以及如何有效空管開發維運的成本?

A:Kubernetes 除了本身有 HPA(Horizontal Pod Autoscaling)可根據使用程度自動調整資源流量,另外也能延伸使用 AWS Auto Scaling 方案,針對可擴展資源去設定自動擴展管理。另外在成本管控,雖然 Amazon EKS 會收取額外管理費用,但可透過 AWS 平台的 Calculato r計算每個 EKS 的價格,你會發現自動化部署及管理的費用,相對工程師人力的成本更加便宜。

Q:越來越多客戶考慮把現有 Application 變成容器部署,大多是爲了加快部署的效率,那麼變成容器模式之後,對 CI/CD 的工作流程有什麽影響嗎?

A:運用容器技術最直接的效果,可以讓應用程式的環境更一致化,例如 testing 環節、stage production,讓容器避開一些差異問題。至於 CD 部分要 delivery 一些 usage 不太一樣的時候,容器會幫忙做配置,所以 CI/CD 對容器的效益是相輔相成的。

Q: 客戶在開發流程漸漸會把 Infrastructure 變成代碼或文檔,是不是可以把程式碼跟現有的應用程式的 CI/CD 流水線整合在一起,達到一套完整的 CI/CD 部署流程?

A:觀察目前市場作法,主要分成兩個階段去做整體部署。如果規模比較小的團隊,會把 Infrastructure 代碼跟 App 代碼分開,在管理上會比較靈活;如果企業規模比較大,會有另外一個 Infrastructure 團隊來控制部署事情,這種情况之下,APP 的項目會生成一個 APP package,主要做到 delivery 這個階段爲止。而 Infrastructure 的項目會指定把需要版本的文檔,部署到他們的 Kubernetes Cluster。

填寫表單 找到適合的快速上雲服務與工具!


猜你喜歡