《鳥的感官》:候鳥大半夜遷徙,為何不會飛錯方向?

《鳥的感官》:候鳥大半夜遷徙,為何不會飛錯方向?
Photo Credit: Depositephotos

我們想讓你知道的是

羅盤可以偵測磁場的方向,地圖則偵測磁場的強度,結合了兩種類型的資訊後,鳥兒就能找到回家的路,能穿越看起來到處都一樣的海洋,或飛越一大片土地。

文:柏克海德(Tim Birkhead)

鳥類尋路的研究已有悠久的歷史,也曾引起激烈的辯論。在19世紀中期,關於鴿子等鳥類如何找到路回家有兩派說法。一派說鳥兒記得出去的路,但這個想法沒有證據。另一派則根據相當新的發現,地球像塊大磁鐵,而鳥兒則有第六感,能夠偵測到地球的磁場。小說家凡爾納很快地用上了這個點子,在《哈特拉斯船長歷險記》(1866年出版)中,主角「……受到磁力的影響……一直朝著北方前進。」1859年,俄羅斯動物學家馮米登朵夫提出鳥類(不是人類)會用磁覺導航,但19世紀晚期大多數的鳥類學家都不以為意,包括英國的紐頓。

1936年,另一位英國鳥類學家湯森寫道:「磁覺是否存在,目前尚無證據……此外,細查之下,這個概念更失去了吸引力,因為相關的現象似乎與目的不符。」同樣地,1944年,葛萊芬在一則評論中說:「在動物身上,從未看到對磁場的敏銳度,地球的磁場十分微弱,要能敏銳察覺到這樣的磁場更不可能,因為已知的生命組織都未含有強磁性的物質(例如金屬鐵氧化物……),這種物質本身就能在地球的磁場中發出可觀的機械力。」他的評論除了這段以外,其他的見解都相當深刻。

過了不久,在1950年代早期,德國鳥類學家克拉瑪開始用新的方法思考這個問題,發覺導航需要兩個步驟。被放開的時候,鳥兒得知道當下的位置,也得知道「家」的方向。人類也用同樣的方法認路:先看看地圖(我在哪裡),再用羅盤定位(家在哪個方向)。這就是所謂的克拉瑪「地圖和羅盤」模型。

羅盤可能有好幾個。我們最熟悉的就是磁羅盤,儀器上的磁針會對齊磁力線,也就是地球磁場的力線,指向北方。遷徙生物學家也找到了其他鳥兒用來導航的羅盤,包括日光羅盤(在白天遷徙的鳥專用)和恆星羅盤(夜間遷徙候鳥專用)。

1950年代,梅克爾和他的學生威爾茲柯在德國研究歐亞鴝的遷徙行為,首度證明鳥兒可能有磁羅盤。要觀察遷徙的過程顯然不容易,尤其像歐亞鴝會在夜間遷移。然而,在遷徙開始前研究人員抓了歐亞鴝,把牠們放在特製的「定向籠」裡,也就是恩倫漏斗的前身,這樣就能看到牠們往哪個方向跳或拍翅膀,行為完美反映出遷徙的方向。梅克爾和威爾茲柯利用歐亞鴝能從裡面看到夜空的定向籠,發現鳥兒用恆星當作羅盤,在秋季遷移時從德國出發,持續朝著西南方前進。然而,觀察一片漆黑中的知更鳥時,他們發現知更鳥並不會如他們預期的摸不著方向,仍會繼續朝著習慣的西南方跳躍。其中的含意非常值得注意:鳥兒在找到準確的方向時不一定要靠著恆星。一定還有其他的因素。

為了測試磁羅盤是不是「其他的因素」,他們把歐亞鴝放入環繞電磁線圈的定向籠中,研究人員可以改變磁場的方向。然後比較了顛倒磁場或轉為東西向時歐亞鴝跳躍的方向。正如所願,歐亞鴝的表現正像牠們能偵測到磁場,並跟著改變跳躍的方向。

後續對其他鳥種做的研究也出現了類似的結果,因此,即使之前大家都懷疑,但到了1980年代,大家都同意鳥類確實有磁覺,並能用磁覺從地球的磁場讀出方向。也就是說,這些鳥兒的確具備了磁羅盤。

值得注意的是,鳥類也有磁地圖,可以辨別自己的位置——就像全球定位系統,不過不是用衛星信號,而是用地球的磁場。這不是候鳥的專利:雞不是候鳥,但也有磁覺,哺乳類和蝴蝶也有,應該可以用來找路,只是距離不怎麼長。

磁覺為何一度看似不可能存在?一個原因是鳥類沒有顯然能用來偵測磁場的特定器官。對於視覺和聽覺,眼睛和耳朵顯然便是分別用來直接偵測環境中的光線和聲音。磁覺則不同,因為磁覺能穿過身體組織,和光線和聲音不一樣。意思是,鳥兒(或其他生物)能透過全身個別細胞內的化學反應來偵測磁場。

動物(包括鳥在內)如何偵測磁場,目前有三種主要的理論。第一種稱為「電磁感應」,可能出現在魚身上,但鳥和其他動物似乎缺乏這種機制需要的高度敏銳感受器。第二種牽涉到叫作磁鐵礦(一種氧化鐵)的磁性礦物,1970年代,科學家在某些細菌裡面找到這種物質,會讓細菌在磁場中排成一線。更進一步研究後,發現其他物種也有磁鐵礦的細微結晶,包括蜜蜂、魚和鳥。1980年代,鴿子的眼周和上喙的鼻孔裡都找到了磁鐵礦的微小結晶。我們也會看到,如果結晶正是導航的要素,出現在這些位置就大有可為了。第三種理論則說磁覺可能由化學反應傳達,相當耐人尋味。

在1970年代,有人發現某些類型的化學反應可以用磁場改變,但那時沒有人想到這種過程或許能幫候鳥找路。更值得注意的則是這些特殊的化學反應似乎由光線引起,美國的一群研究人員因此推測,鳥兒或許能「看見」地球的磁場。

這個想法不太像是真的,卻鼓勵了威爾茲柯和妻子蘿絲維塔著手調查。從其他人的研究,他們知道鴿子在自由飛翔時,如果用不透明的眼罩蓋住左眼,會比蓋住右眼更容易找到回家的路。而且要注意了,在多雲的天氣(看不見太陽的時候),這種右眼表現更佳的現象更加顯著。當然,這表示牠們不能用日光羅盤,但也指出或許牠們用的磁覺不知道跟右眼有什麼關聯。聽起來不太可能,但威爾茲柯夫婦也知道鳥的腦高度側化,鴿子的結果也符合左腦(我們在第一章看到,左腦從右眼接收視覺資訊)比較適合處理和返回原地以及導航有關的資訊。為了直接測試這個想法,威爾茲柯夫婦又去研究他們最愛的鳥,也就是歐亞鴝。


猜你喜歡


挖掘雲端開放架構優勢!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。

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


猜你喜歡