現代應用程式

透過應用程式設計創造價值

Infinity_Fish

各行各業的組織都希望變得更靈活,才能加速創新和應對變化。組織需要比以往更快地建置應用程式,能快速擴展到數百萬使用者、具備全球可用性,即使不能處理數 EB 的資料也要能管理數 PB 資料,並在幾毫秒內做出回應。我們將這些稱為現代應用程式,它們涵蓋各種使用案例,包括 Web 和行動後端、IoT 應用程式、AI/ML 工作負載、批次處理、共享服務平台、微型服務後端等等。現代應用程式結合模組化架構模式、無伺服器操作模型和敏捷的開發人員程序建置而成,讓組織能夠加速創新,同時降低風險、縮短產品上市時間以及降低總體擁有成本。

如果您如今管理應用程式和工作負載組合,則有機會針對每一項做出選擇:我們將您的選擇歸類為 7R,即保留 (retain)、淘汰 (retire)、重新放置 (relocate)、重新託管 (re-host)、重新購買 (repurchase)、重組平台 (re-platform) 和重構 (refactor)。對於保留的應用程式,您無須變更即可遷移至雲端 (重新託管)。現代化是指重組平台,即將您自己的容器、資料庫或訊息代理程式移至受管雲端服務,或進行重構,重寫為雲端原生架構。您的選擇受到諸多因素的影響,包括您對開放原始碼解決方案可攜性的偏好,或 AWS 原生架構的操作性和敏捷性優勢。該應用程式對您的組織和客戶越關鍵,現代化帶來的優勢就越大。

Dunelm 透過無伺服器支援英國業務增長
尋找遷移動機
了解組織為何遷移至雲端,以及 AWS 如何協助您實現獨特的目標。
開始您的 AWS 遷移 
migration_site_merch_icon
如何開始現代化
透過建立現代應用程式創造競爭差異。
取得電子書 
Serverless_2up_workshop_site_merch_3 copy 4

現代應用程式的元素

  • 應用程式架構 >>
  • 軟體交付 >>
  • 資料策略 >>
  • 營運 >>
  • 管理與管控 >>
  • 應用程式架構 >>
  • 應用程式架構︰模組化微型服務

    整合型應用程式很受歡迎,因為它們的開發速度快。不過,隨著程式碼基底的不斷成長,它們變得難以擴展和更新,因為應用程式的每個層面都是緊密耦合的。當應用程式使用模組化獨立元件 (稱為微型服務) 建立時,因為更容易對任何元件進行變更,因此發行速度會加快。微型服務可讓應用程式更輕鬆擴展並加快開發速度,不僅促進創新,更縮短上市時間。
    J200877_AWS_MAD_Refresh_Webpage_Microservices_Diagram_Thumbnail
    J200877_AWS_MAD_Refresh_Webpage_Microservices_2_Diagram_v2
    在這種架構中,我們使用 3 種不同的服務來管理簡單的 Web 應用程式。Amazon Amplify Console 託管各種靜態 Web 資源,包括 HTML、CSS、JavaScript,以及透過 S3 在使用者瀏覽器中載入的影像檔。瀏覽器中執行的 JavaScript 會傳送和接收公有後端 API 中使用 AWS Lambda 和 Amazon API Gateway 建置的資料。Amazon Cognito 提供使用者管理和身份驗證功能,以保護後端 API。最後,DynamoDB 提供一個持久層,API 的 Lambda 函數可在其中存放資料。
    利用微型服務進行擴展
    分離您的應用程式並將其建立成獨立的微型服務。
    閱讀指南 
    重構整合型架構:Mobvista
    Mobvista 是行動廣告和行銷服務技術供應商,採用微型服務架構來提高其平台的可擴展性和可靠性。自 2013 年以來,Mobvista 的業務迅速發展,從 2017 年的每日平均廣告請求量 180 億次猛增至 2019 年的 1,000 億次。透過將其整合型應用程式重構為微型服務架構,他們可以輕鬆識別瓶頸並將資源分配至關鍵位置進行擴展。
    進一步了解 
  • 軟體交付 >>
  • 軟體交付:自動化、抽象化和標準化

    前端和後端開發人員需要工具、框架和程序,以便其能夠快速、安全地向客戶交付新功能,通常為每天或更多次。框架和工具摘要消除了佈建和設定資源的複雜性。發佈管道自動化,包括持續整合和持續部署 (CI/CD),讓團隊能夠快速測試和發佈大量程式碼,同時錯誤減至最低。透過基礎設施即程式碼範本的標準化,利用程式碼為應用程式佈建整個技術堆疊,確保團隊符合中心要求。
    J200877_AWS_MAD_Refresh_Webpage_ReleasePipeline_Diagram_Thumbnail
    J200877_AWS_MAD_Refresh_Webpage_ReleasePipeline_Diagram_v2(1)

    在這個架構中,我們使用適用於 Fargate 的 CI/CD 堆疊發佈應用程式 (如需完整的應用程式架構,請試試這個入門教學)。我們使用 AWS 命令列界面執行可建立所需基礎設施元件的命令,包括利用 AWS CodeCommit、CodeBuild 和 CodePipeline 的全受管 CI/CD 堆疊。我們還將運用 AWS Cloud9 這個以雲端為基礎的 IDE,在瀏覽器內完成所有必要的開發任務。 

    測試、發佈、重複
    將 DevOps 移至雲端以改善您的開發程序。
    閱讀指南 
    Release_pipelines_carousel_sitemerch1
    縮短開發時間:Bank al Etihad
    阿提哈德銀行現在透過基礎架構即程式碼,部署速度提升了 10 倍,資本支出降低了 50%。在競爭日益激烈的市場中,阿提哈德銀行一直在尋求變得更加敏捷的方法,因此,該銀行選擇透過基礎架構即程式碼,來支援 DevOps 模型作為現代化計劃的一部分。
    閱讀完整案例 
  • 資料策略 >>
  • 資料策略:解偶和專用

    與整合型應用程式非常相似,單一資料庫也難以擴展。這可能成為容錯挑戰的罩門。現代應用程式利用解偶的資料存放區,其中有資料庫和微型服務的一對一對應。將資料與微型服務分離之後,團隊可以自由選擇最適合服務需求的資料庫,例如選擇手邊任務的專用資料庫。
    J200877_AWS_MAD_Refresh_Webpage_Database_Diagram_Thumbnail
    J200877_AWS_MAD_Refresh_Webpage_Database_Diagram_v2
    在這種架構中,遊戲公司使用兩個資料庫,針對遊戲應用程式的獨特元件執行不同的功能。Amazon DynamoDB 利用可擴展性保存玩家資料,而 Amazon Aurora 則優化微型交易效率。
    為任務選擇合適的工具
    使用能滿足應用程式需求的資料庫。
    閱讀指南 
    Databases_carousel_site_merch1
    削減資料庫成本:Pokémon Company
    Pokémon Company 透過遷移至 Amazon Aurora,每秒減少了數万 USD 的成本,同時每秒處理 300 多次登入。隨著 2016 年推出 Pokémon GO,需要使用其系統的使用者數量在兩年內增加至超過 3 億,並且 Amazon Aurora 以較低成本支援此規模。
    閱讀完整案例 
  • 營運 >>
  • 營運:盡可能無伺服器

    現代應用程式有許多行動部件,包括許多配備獨特資料庫的微型服務,這些服務都會經常發佈功能。無伺服器技術減輕了該負擔,因為執行這些服務時,不需要佈建和擴展基礎設施,它有內建的可用性和安全性。此外,他們還有按價值付費的計費模型。整個應用程式堆疊都有無伺服器服務:運算、儲存和整合。
    J200877_AWS_MAD_Refresh_Webpage_Operational_Diagram_Thumbnail
    J200877_AWS_MAD_Refresh_Webpage_Operational_Diagram_v2
    在這種架構中,我們使用無伺服器技術即時處理和視覺化資料。我們將使用 AWS Lambda 處理即時串流、使用 Amazon DynamoDB 保存資料、使用 Amazon Kinesis Data Analytics 建立無伺服器應用程式來彙整資料、使用 Amazon Kinesis Data Firehose 將原始資料存檔至 Amazon S3,以及使用 AWS Athena 針對原始資料執行臨機操作查詢。
    減輕基礎設施管理負擔
    採用無伺服器操作模型,拋開繁重的操作。
    閱讀指南 
    Serverless_carousel_site_merch_1
    透過無伺服器更快地移動:Amazon F3
    Amazon F3 是 Prime Now、Amazon Fresh 和 Amazon Restaurants 的組合,透過無伺服器產品管理解決方案每週可節省 250 個小時。Amazon F3 現在可以在 30 秒內查詢 800 萬種產品的型錄,而不用花費大量時間來輸入供應商資料,信任其對可能違反業務規則的自動警告,從而減少了人為錯誤的風險。
    閱讀完整案例 
  • 管理與管控 >>
  • 管理與管控:程式設計防護

    嚴實、合法和安全地管理組織是首要任務,但強而有力的管控常常會導致檢查點放慢創新速度。組織越來越多地採用防護概念來解決此問題,防護是一種機制,例如實務程序,可以減少不良應用程式行為的發生和影響範圍。防護通常以程式碼表示,可以讓監控、佈建、部署、成本管理和應用程式安全性的程序和實務標準化,而不會造成瓶頸或減緩創新。
    J200877_AWS_MAD_Refresh_Webpage_Security_Diagram_Thumbnail
    J200877_AWS_MAD_Refresh_Webpage_Security_Diagram_v2
    在這個架構中,我們使用 AWS WAF 篩選規則來控制無伺服器 Web 應用程式的流量。使用 WAF 時,我們可以建立自訂的規則來封鎖常見的攻擊模式,例如 SQL Injection 或跨網站指令碼。
    雲端管控
    了解管控如何同時控制和啟用。
    閱讀指南 
    確保合規同時加快行動:Travelex
    Travelex 使用 AWS 將產品快速推向市場,同時保持嚴格的財務合規性標準。該組織需要啟動一項新服務並遵循現有標準,同時充分利用 AWS 來簡化流程,由於沒有第三方雲端供應商進行處理,因此程序更加簡單快捷。將來,所有 Travelex 產品和服務都將繼承此安全模型。
    閱讀完整案例 

現代應用程式開發的優勢

Homestate_box1_icon

更快地上市

縮短建置和發行週期以及省去營運開銷,讓開發人員可以快速地建立各種新功能。自動化測試和發佈程序能降低錯誤率,讓產品更快地進入市場。
Homestate_box2_icon

增加創新

利用模組化架構,可以快速變更任何個別應用程式元件,還能降低應用程式的整體風險,讓團隊更頻繁地嘗試新的構思。
Homestate_box3_icon

提升可靠性

在開發生命週期的每個階段自動進行測試程序和監控,確保現代應用程式在部署時的可靠性。任何問題都可以即時評估和解決。
Homestate_box4_icon

降低成本

透過按價值付費定價模式,現代應用程式可減少因過度佈建或資源閒置而造成的不必要支出。省去基礎設施管理的麻煩,維護成本也會隨之降低。
企業現代化
IDC 探索現代化對架構、營運和交付的影響。
閱讀白皮書:企業中的應用程式現代化 
IDC_1up_icon

客戶現代化案例

fender_logo
Fender 減輕操作負擔
Fender 使用無伺服器優先策略,減少手動程序和基礎架構管理,因此,他們可以專注於客戶體驗,而不必擔心停機時間或半夜尋呼。
aldo_logo
Aldo 加速新應用程式的開發
Aldo 在不到三個月的時間內,即使用 AWS 的全受管 GraphQL 服務 AWS AppSync 建置了應用程式,而過去使用多個 API,則需要 6 至 12 個月。
siemens_logo
Siemens 降低基礎架構成本
通過採用無伺服器架構,Siemens 將客戶控制系統警示降低了 90%,並將基礎架構成本降低了 85%,同時在 18 個月內沒有遇到計劃外的停機。
snap_logo
Snap Inc. 讓開發人員能夠專注於創新
Snap Inc. 透過拆分整合型應用程式並採用 Amazon EKS 和 ECR,將開發人員啟動新服務所需的時間減少了 77%。他們現在每秒可執行超過 200 萬次交易。
降低伺服器的總體擁有成本
閱讀 Deloitte 報告,比較無伺服器和傳統應用程式的總體擁有成本。
取得報告 
deloitte_2up_icon
同類最佳 FAAS 與容器
Forrester 對功能即服務和企業容器平台供應商進行評估 – AWS 位列第一。
取得報告 
forrester_2up_icon

了解我們的合作夥伴如何協助組織落實現代應用程式開發程序

我們的 APN 諮詢合作夥伴提供的這些可定製優惠包括︰協助您評估目前的應用程式組合、分析組織結構、確定理想的工作負載並開發您的首個現代化應用程式,以及建立業務案例和路線圖以使您的現代化之旅取得成功。
聯絡 AWS,了解如何更新您的應用程式組合。