Lúc đầu, chúng tôi gọi orchestration là “sức mạnh lập trình để tạo ra trải nghiệm người dùng thống nhất trong thế giới nhắn tin bất đồng bộ trên các blockchain và giao thức kết nối riêng biệt.” Nhưng đây không phải là một khái niệm mới xuất hiện cùng với Web3. Trong lĩnh vực phần mềm, orchestration thường đề cập đến việc tự động cấu hình, phối hợp và quản lý các hệ thống máy tính và ứng dụng phần mềm.
Orchestration trong Web2:
Trong Web2, orchestration là một phần cốt yếu để đảm bảo các ứng dụng chúng ta sử dụng hàng ngày như Spotify hoặc Slack hoạt động hiệu quả, có khả năng mở rộng và chịu lỗi. Nếu không có orchestration, những ứng dụng này sẽ không thể hoạt động.
Bản chất của Orchestration:
Orchestration là việc quản lý các dịch vụ và quy trình phụ thuộc lẫn nhau theo cách đơn giản hóa hoạt động và duy trì tính toàn vẹn của hệ thống. Để hiểu rõ hơn về cách các công cụ orchestration được xây dựng bởi Agoric và các nhóm như Skip và Socket có thể giúp Web3 sẵn sàng cho hàng triệu người dùng, hãy cùng xem một số ví dụ về công nghệ orchestration Web2 và cách nó được sử dụng bởi một số ứng dụng thành công nhất trên thế giới.
Kubernetes
Một trong những ví dụ nổi bật nhất về orchestration phần mềm trong thực tế là Kubernetes.
Được phát triển ban đầu bởi Google và hiện do Cloud Native Computing Foundation bảo trì, Kubernetes là một nền tảng orchestration container được thiết kế để tự động hóa việc triển khai, mở rộng và vận hành các container ứng dụng trên các cụm máy chủ.
Nó giúp quản lý các ứng dụng được container hóa phức tạp và cung cấp các công cụ để triển khai ứng dụng, mở rộng chúng khi cần thiết, theo dõi tình trạng của chúng và quản lý các bản cập nhật và bảo trì. Sức mạnh của Kubernetes nằm ở khả năng quản lý các hệ thống phân tán quy mô lớn một cách hiệu quả và với sự can thiệp của con người tối thiểu.
Các bên đang sử dụng Kubernetes:
- Google: Là đơn vị khởi tạo Kubernetes, Google sử dụng hệ thống này rộng rãi trong các dịch vụ đám mây của mình, cung cấp dịch vụ Kubernetes được quản lý thông qua Google Kubernetes Engine (GKE).
- Spotify: Gã khổng lồ phát nhạc trực tuyến sử dụng Kubernetes để xử lý hơn một nghìn dịch vụ và triển khai hàng nghìn phần mềm mỗi ngày, đảm bảo khả năng mở rộng và độ tin cậy.
- Zalando: Nhà bán lẻ thời trang trực tuyến châu Âu sử dụng Kubernetes để điều phối cơ sở hạ tầng container của mình, cải thiện khả năng mở rộng hoạt động của họ trên nhiều khu vực liền mạch.
Apache Hadoop
Apache Hadoop là một nền tảng mã nguồn mở cho phép xử lý phân tán các tập dữ liệu lớn trên các cụm máy tính bằng các mô hình lập trình đơn giản.
Trung tâm kiến trúc của nó là Hadoop YARN (Yet Another Resource Negotiator), chịu trách nhiệm quản lý tài nguyên tính toán trong các cụm và sử dụng chúng để lên lịch cho các ứng dụng của người dùng. YARN điều phối hiệu quả khả năng xử lý của các cụm dữ liệu khổng lồ này, cho phép Hadoop xử lý hàng petabyte dữ liệu, biến nó thành một công cụ quan trọng cho các công ty xử lý khối lượng dữ liệu khổng lồ.
Các bên đang sử dụng Apache Hadoop:
- Yahoo: Là một trong những đơn vị đóng góp lớn nhất cho sự phát triển của Hadoop, Yahoo sử dụng Hadoop rộng rãi cho tìm kiếm, quảng cáo, email và hơn thế nữa, quản lý một trong những cụm Hadoop lớn nhất thế giới.
- Facebook: Nền tảng mạng xã hội này sử dụng Hadoop để lưu trữ bản sao của nhật ký nội bộ và dữ liệu từ các ứng dụng bên ngoài, xử lý hiệu quả khối lượng dữ liệu khổng lồ.
- X (Twitter): X sử dụng Hadoop như một thành phần cơ bản của kiến trúc dữ liệu của mình, xử lý khối lượng dữ liệu khổng lồ được tạo ra từ các bài đăng và tương tác.
Terraform
Terraform là một công cụ mã nguồn mở cho phép lập trình viên xây dựng, thay đổi và quản lý phiên bản cơ sở hạ tầng. Nó có khả năng chuyển đổi các API đám mây thành các file cấu hình. Khả năng orchestration của Terraform cho phép quản lý vòng đời của nhiều thành phần dịch vụ khác nhau trên các nhà cung cấp dịch vụ khác nhau. Điều này bao gồm khởi tạo, triển khai và cập nhật. Điểm mạnh của Terraform là khả năng quản lý cả các nhà cung cấp dịch vụ hiện có và các giải pháp nội bộ tùy chỉnh, cung cấp quy trình làm việc nhất quán để quản lý và cung cấp tài nguyên.
Các bên đang sử dụng Terraform:
- Slack: Nền tảng nhắn tin phổ biến này sử dụng Terraform để quản lý cơ sở hạ tầng rộng lớn của mình trên nhiều nhà cung cấp đám mây khác nhau, đảm bảo tính nhất quán trong cấu hình và dễ dàng mở rộng quy mô.
- Uber: Uber sử dụng Terraform để xử lý cơ sở hạ tầng rộng lớn và năng động của mình trên toàn cầu, hỗ trợ hàng triệu chuyến đi mỗi ngày.
- Pinterest: Pinterest sử dụng Terraform để tạo, quản lý và cập nhật hàng trăm tài nguyên AWS một cách hiệu quả, giúp quản lý cơ sở hạ tầng cho công cụ tìm kiếm hình ảnh của họ.
Jenkins
Jenkins là một máy chủ tự động hóa mã nguồn mở cung cấp hàng trăm plugin hỗ trợ xây dựng, triển khai và tự động hóa bất kỳ dự án phần mềm nào.
Và, Jenkins điều phối các quy trình tích hợp liên tục và phân phối liên tục (CI/CD) để cải thiện vòng đời phát triển của các dự án phần mềm. Bằng cách tự động hóa các yếu tố trong từng giai đoạn phân phối phần mềm, Jenkins giúp đảm bảo phần mềm luôn sẵn sàng để phát hành. Khả năng orchestration của Jenkins cho phép các nhà phát triển nhanh chóng tích hợp các thay đổi vào dự án và xem hiệu ứng của những thay đổi này theo thời gian thực, thúc đẩy các quy trình phát triển hiệu quả hơn.
Các bên đang sử dụng Jenkins:
- eBay: eBay sử dụng Jenkins để tích hợp liên tục (CI) nhằm tự động hóa các quy trình kiểm thử và phân phối, giúp họ quản lý các ứng dụng web quy mô lớn của mình.
- Netflix: Netflix đã sử dụng Jenkins để tích hợp liên tục trong nhiều năm, cũng như cho nhiều tác vụ tự động hóa khác nhau.
- Twitch: Gã khổng lồ phát trực tuyến Twitch sử dụng Jenkins để xây dựng và kiểm thử tự động, cũng như triển khai và khôi phục nhanh chóng các thay đổi trên nền tảng.
Orchestration và Tương lai của Web3
Orchestration trong phần mềm không chỉ đơn thuần là tự động hóa; nó còn liên quan đến việc biến các hệ thống phức tạp trở nên dễ quản lý và hiệu quả. Cho dù đó là triển khai ứng dụng với Kubernetes, xử lý dữ liệu lớn với Hadoop, quản lý cơ sở hạ tầng với Terraform hay tự động hóa quy trình phát triển phần mềm với Jenkins, thì các công cụ orchestration đều là yếu tố không thể thiếu trong bối cảnh kỹ thuật số hiện đại. Chúng đảm bảo rằng khi hệ thống ngày càng phức tạp, các doanh nghiệp vẫn có thể cung cấp dịch vụ một cách hiệu quả và đáng tin cậy.
Nguyên tắc orchestration thậm chí còn quan trọng hơn đối với Web3.
Trong Web3, orchestration sẽ cho phép các mạng lưới phi tập trung mở rộng quy mô, thành công và phát triển mạnh mẽ bất chấp vô số thách thức.
Web3 làm tăng nhu cầu đối với các công cụ orchestration tinh vi, có khả năng quản lý các giao tiếp và tương tác không đồng bộ trên một bối cảnh phân mảnh gồm nhiều blockchain và giao thức khác nhau.
Công việc đang được thực hiện tại Agoric, cùng với các nhóm tại Skip và Socket, nhấn mạnh vai trò then chốt của orchestration trong Web3. Các nền tảng này đóng vai trò nền tảng để đảm bảo Web3 có thể hỗ trợ lượng người dùng sánh ngang với Web2. Khả năng quản lý trơn tru nhiều tương tác blockchain, xử lý hợp đồng thông minh hiệu quả và duy trì tính toàn vẹn của hệ thống trên các mạng lưới riêng biệt chính là yếu tố cuối cùng cho phép Web3 xử lý hàng triệu người dùng.

