容器技術(如Kubernetes)為現代數據管道的實現帶來了可能性。來自lguazio的大數據架構師Eliran Bivas在最近舉行的北美KubeCon+CloudNativeCon 2017大會上做了演講,談論了大數據管道以及Kubernetes將如何幫助構建現代大數據管道。
在過去,大數據主要依賴Hadoop,而近年來,大數據生態系統出現了新的數據庫、流式數據和機器學習解決方案,Hadoop的部署模型(Map Reduce、YARN和HDFS)已經無法完全滿足它們的要求。它們還需要集群調度層來托管各種工作負載,如Kafka、Spark和TensorFlow,并使用存儲在各種數據庫中的數據,如Cassandra、Elasticsearch和云存儲。
Bivas談論了軟件開發生命周期中的各種團隊和他們的主要目標。應用工程師想要敏捷式的軟件開發,數據工程師更關心數據被保存在哪里,想要讓數據庫運行在最佳狀態,而DevOps團隊希望所有系統都能正常工作,減少維護和中斷時間。得益于容器技術的發展,所有這些目標都有望達成。
他介紹了一種通用框架,用于創建端到端的云原生分析應用程序。開發人員負責對數據服務與應用程序進行解耦,框架則讓大數據解決方案更靈活和高效。該框架也可用在數據服務上,用于管理各種結構化、非結構化和流式數據。
整個解決方案應該要基于云原生應用和框架,并使用Kubernetes提供的統一編排層。
Bivas描繪了一種持續分析流模型,包括處于中間層的數據服務,它們使用容器化的Spark、TensorFlow等大數據分析工具來分析來自數據存儲(關系型數據庫)和外部(物聯網)的數據。
無服務器框架Kubeless和OpenFaaS可用在這些解決方案中。無服務器解決方案可以在不使用YAML、Dockerfile等文件的情況下進行方便的部署。它們還支持自動伸縮和觸發事件。
Bivas還介紹了Nuclio的架構細節,Nuclio是最近開源的一個實時無服務器平臺。它使用Kubernetes作為YARN之外的替代方案,還使用了Spark ML、Presto、TensorFlow和Python,以及無服務器Function。Nuclio還支持可插拔的事件源和數據源。
他還談論了實時分析技術在汽車維護方面的應用,通過Web API流式化汽車相關數據,并使用微服務進行數據攝取。他們使用天氣數據和道路數據來增強汽車數據,根據天氣條件組裝合適的汽車配件。
Bivas在演講中進行了一個演示,展示了基于云原生架構進行大數據分析的優勢。在演講結時,Bivas總結了一些最佳實踐,如使用Kubernetes提供的工具、記錄應用日志、收集度量指標、通過度量指標了解應用程序的性能。
如果讀者對Nuclio框架感興趣,可以查看它的GitHub項目、代碼示例和文檔。
查看英文原文:Modern Big Data Pipelines over Kubernetes