您的技術對您的業務有何評價?
已發表: 2021-12-22公司經常通過更多的創新和財務收益而努力變得更好。 在識別可能的企業問題時,組織通常會著眼於更大的視野,將公司視為全面而緩慢地向內尋求。 事實上,利用公司的技術從雜草中起步,可以提供更廣泛、更全面、更深入地熟悉這張更大的照片。
隨著公司在大流行之後迅速發展並嘗試電子轉換任務,其中很大一部分無法正確完成,重要的是要熟悉您使用您的技術設計的結論將如何幫助或阻礙發展。
我們可以從他們的技術創新中具體了解一家企業的哪些信息?
團體如何組裝、互動和相互表演會對您商品的其餘風格產生深遠影響。 我們將此稱為康威規則——軟件的構建會不經意間反映開發它的勞動力的交互模型。 可以說,公司的業務是規劃產品或服務時要考慮的主要因素。
組織程序和架構具有內在聯繫——表明它們相互影響和相互制約。 在診斷任何可能出現的問題時,我們應該牢記這一點,並利用這些知識來深入了解公司的結構、為什麼會出現困難以及我們如何克服它們。 如果您的工程人員沒有實現他們的目標,那麼可能值得研究一下如何安排工作人員,以及這對於獲得期望的結果可能意味著什麼。
單體與微服務架構
根據組的排列方式,可以生成幾種不同的架構結構。 微小的分佈式組更有可能生成模塊化的、以微服務為中心的架構。 如果工作人員規模較大且與項目架構的某些部分不一致,他們可能會製作整體架構。 很多人都熟悉單體架構,因為常見的 IT 程序或公司目的通常都是以這種方式創建的。 對於同樣種類的架構,需要考慮到重要的優點和缺點。
對於已經開始從事數字化轉型工作的團隊來說,這項工作的組成部分可能是將遺留的單一應用程序分開,以支持新的現代微服務。 這種佈局的多樣性具有顯著優勢,因為它將允許更高的整體靈活性來實施沒有中斷的調整,並有助於更好的可擴展性。 即便如此,單體架構的使用和部署要簡單得多。 這通常會使其成為更小、非常簡單的應用程序開發的最大偏好,並且通常在早期初創企業中被發現。 與微服務相比,單體架構在擴展方面更具挑戰性,因為這項工作需要在具有許多目標的不同群體之間保持一致。 獲得完全錯誤的員工組成可能會降低風格方法並引發更多挑戰。
一個組織的蓬勃發展或微服務架構的不成功部署揭示了他們設計的結論,以及業務中的通信結構是否存在任何根深蒂固的問題。 在考慮是否必須拆分單體並轉向微服務架構時,必須確保您公司的解剖結構將有助於您選擇追求的任何架構。

援助膨脹
在某些情況下,很可能會發現微服務的數量大於工程師的範圍。 這被認為是輔助膨脹——這是有問題的,因為它會導致開發人員的速度和可用性降低。 這是一個重要的解釋,為什麼在沒有非常仔細的結構和保證團隊建設支持這種方法的情況下構建微服務是有風險的。
輔助膨脹是團隊沒有應用體貼的架構鏡頭的標誌——它表明對每個服務如何依賴另一個服務知之甚少。 這通常會導致微服務反樣式,這會降低可用性並在嘗試推出新功能時觸發延遲。 最好沒有組織願意以這種情況結束。
進行架構漫步
除了使用組織解剖結構及其對架構的影響之外,評估任何事物的連接方式以識別產品可能出現問題的根源也很重要。 為此,請執行簡單的架構漫遊。 要進行架構漫遊,您需要查看每件小事是如何從設備或軟件連接到數據層的,然後再返迴響應。 在進行架構漫步時,有幾件重要的事情需要繼續記住:
- 必須搜索孤立的故障點、在運行時相互依賴的供應商以及不會隨著需求的增加而擴展的組件。
- 考慮狀態性——這包括分析從一個會話到另一個涉及人的會話的事實存儲位置以及這些事實是如何保存的。
- 密切關注未分片的大型數據庫,以及作為公共雲或自託管事實中心的元素跨地點製造的呼叫。
- 出現使用平台即服務 (PaaS) 或云數據庫作為支持 (DBaaS) 正是在公共雲故障創建跨區域電話呼叫的地方。
所有高於以上的因素只是需要考慮修復您產品的任何機會障礙的一些部分。 真正採用的時機應該只考慮功能和架構需求,以獲得理想的可行成功。
高級產品工程師對此需要了解什麼?
高級項目工程領導者的重點需要是在一個共同的基礎上進行某些可擴展性和可用性組織和復雜的金融債務盤點,以便在潛在困難出現之前對其進行故障排除。 解決方案架構師或少量高級工程師應制定規則,產品團隊可以使用這些規則來設計和設計適當的規模和高可用性水平。
像 CodeScene 這樣的工具可以用來檢測供應商之間的依賴關係,並幫助解決代碼庫行為方面的挑戰。 通知積壓的重構需要和專門的信用卡債務的好處支持。
隨著企業不斷發展以適應快速發展的科技行業的需求,充分了解您的技術知識洩露了早期選擇的內容至關重要。 然後可以利用這些學習來判斷和減少將來發生的非常相似的故障,就像幫助您的團隊了解如何將他們的團隊設計用作幫助實現目標和達到新高度的工具一樣完美。
Dave Berardi,丈夫或妻子, AKF Partners