網際網路產業急速膨脹也帶來軟硬體技術的更新換代,比如雲計算、大資料、人工智慧、ict融合等,在這些大概念的下面是各種不勝列舉的新的語言、框架、架構等,比如golang、非同步io、generator、容器、微服務、nosql、tensorflow等。
網際網路是技術發展的乙個必然產物,本文僅僅試圖從資源配置的角度來理解一下這些趨勢背後的推動力,非業內人士,假語村言,博君一笑。
話說世界誕生之初,天地混沌如雞子,盤古開天闢地,清上公升為天、濁下沉為地。我們已經無法回到過去,去體會盤古的一斧
神威開創了世界的進化,但是小時玩過泥漿的同學可能有體會,如果把一把泥沙放到裝滿水的瓶子裡使勁晃晃,慢慢地,隨著泥漿的旋轉,大粒的沙石最先沉澱下來,然後是粗粒度的土塊,最後在上面的非常纖細的泥土,時間足夠的話,水又變得澄清了。從瓶子外面能夠清楚地看到從下往上,粒度越來越細,越來越緊湊。作為乙個徹底的無神論者,我時常感覺社會的進步、技術的發展都能夠在簡單的現象中找到某種隱喻,用程式設計師的語言講,是某種對映(map)。
網際網路從來就沒有憑空創造乙個行業
如果以泥漿沉澱過程來對資源配置的發展做隱喻的話,我們能夠從中悟到什麼道理呢?那就是資源配置正從粗放變得集約,從笨重變得精細,從低效變得高效。如果將這個過程比作是在曲面上滾動的小球的話,那提公升資源配置效率就是那個最快梯度,大勢所趨、勢不可擋。
回過頭來考慮一下互當今社會的幾大場景:
1.電商。沒有人能否認電商對人們生活的巨大影響,**、京東等b2c業務大大方便了人們的生活,釋放了無數的購買慾望,產生了無數的「剁手黨」。從資源配置的角度講,電商首先將各種商品名錄種類齊全地送到消費者手中,消費者足不出戶就能夠貨比三家,了解商品的屬性,挑選到符合自己需求的商品;其次,電商能夠省去眾多中間環節,商品交易鏈更短,交易更便捷,同時,現代物流業能夠將商品快速直接從商家交到消費者手中;第三,大資料的運用,讓電商能夠揣摩消費者心理,精確推送商品廣告,促進潛在需求的消費。以上種種,都提高了商品的流通精度和速度,更好地滿足了消費者對各種「資源」的需求。
2.共享經濟。這個詞應該是從滴滴開始的吧?順風車,且不說政策上限制的問題,讓廣大車主在用車過程中,在有空閒座位、路線比較吻合的情況下,既方便了乘客,緩解了公共運輸壓力,利用了閒置資源,又給自己帶來了一定的收益。進一步的,今年剛剛出現的共享單車、共享汽車,讓出行工具在充分發揮代步功能的同時,省去了個人對工具的購買和維護。如果照這個趨勢發展下去的話,公共運輸和共享交通相互補充,使用者只要為本次出行買單,不需要考慮車輛的維修保養、停車等,這樣,
強化使用權、弱化所有權,
車輛的總量會下降,但是利用效率大大提高。
3.農村土地的集中。這個不是it領域的,但是代表了一類場景,就是資源的集中利用。
一滴水不是資源,但是一口井、一片湖面可以認為是資源,這體現了資源的聚集性。現代大機械化生產讓農村土地改革以來形成的一家一戶分散經營成了阻礙生產力提高的乙個障礙,近年來,隨著城市化和新農村政策等的推出,農村土地又呈現出由分散到集中的現象,讓農場主擁有幾百上千畝地成為可能,這就為機械化大生產提供了必要條件。這個場景比較特殊,因為從微觀角度看,機械化對土地的利用不是更精細,而是更粗放,但是從巨集**,機械化生產提高了生產效率,節約了人力成本。原來一家一戶用鐮刀一上午能收割一畝的麥子,現在一台聯合收割機一上午可能就可以收割幾十上百畝地。
再從軟體工程師的角度看一下軟體技術發展的幾個場景:
1.開源。且不管各種開源license背後的商業邏輯是什麼,從實際效果看,開源軟體可以稱為現在軟體行業的基石。經常有些「牛人」抱怨開源軟體這個不好、那個不行,總想自己發明乙個輪子,但是往往最終不是走了開源的老路,就是自己也看不下去,無力維護了。開源,體現了在軟硬體行業對智力資源的共享利用,是將開發者的場景分析、架構設計、**開發測試等資源全部共享出來,滿足大家共同的需求。
2.雲計算。xaas可能是在it領域對資源配置優化說法最有力的乙個證明了,比如aws提供的iaas,最初就是亞馬遜將自己公司內部空閒的基礎設施資源作為服務對外暴露出來,提供給外部使用者,在使用過程中,所有使用者共享計算、儲存、網路等基礎資源。是不是可以理解為,通過這樣的資源優化配置,亞馬遜將空閒的cpu時間、空閒的磁碟、空閒的頻寬進行了變現?私有雲,感覺有點類似於上面土地集中的場景,企業內部為了提高資源利用率,將各部門分散配置的伺服器等軟硬體設施集中起來,組建成私有雲,對企業內部提供各種共享服務。
3.物件導向。oop這個概念現在可能挑不起程式設計師的任何胃口了,就像公尺飯一樣,天天吃。但是在2023年對賈伯斯的一次採訪中,喬幫主在自豪地聲稱pc是人類歷史上最偉大的發明,而他就在其中之後,預言oop和網際網路將是計算機行業發展的方向,可見oop在當時的重要意義。如果說開源是在全世界程式設計師中共享資源的話,oop就是在**內部的微觀層面進行的資源優化配置。高扇入、低扇出講的是什麼?就是我這裡有資源,你們都用我這個就行,不要自己寫了。
假設資源的優化配置是各領域發展的驅動力,那如何發現下乙個方向或者機會點呢?不妨做乙個矩陣,橫向是業務領域,縱向是發展方式:
通過將已有的網際網路公司填入上述**,就不難發現**有空白了。
但是需要清醒地認識到,找到機會點只是萬里長征第一步,如果不能有爬雪山、過草地的精神,沒有四渡赤水的智慧型和勇氣,那找到機會點也毫無意義。
spark的動態資源配置
對於spark應用來說,資源是影響spark應用執行效率的乙個重要因素。當乙個長期執行 的服務 比如thrift server 若分配給它多個executor,可是卻沒有任何任務分配給它,而此時有其他的應用卻資源張,這就造成了很大的資源浪費和資源不合理的排程。動態資源排程就是為了解決這種場景,根據當...
從資源取用的角度理解雲計算
從資源取用的角度理解雲計算 從資源取用的角度理解雲計算,主要可以從四個方面進行解讀,具體如下 硬體和軟體都是資源,通過網路以服務的方式提供給使用者。在雲計算中,資源已經不限定在諸如處理器機時 網路頻寬等物理範疇,而是擴充套件到了軟體平台 web服務和應用程式的軟體範疇。傳統模式下自給自足的it運用模...
從資源池和管理的角度理解物理記憶體
乙個任務所需要的記憶體大小以及位置不應該依賴其它任務的記憶體的大小和位置,並且記憶體的位置也不應該是永久性的,任務使用記憶體就應該和人們使用公共廁所一樣。程式任務只管自己的計算邏輯,用到記憶體的時候,不必自己操心,應該有乙個服務機構為其現場分配記憶體,分配多少算好呢,答案就是就可能少,按照基本單位分...