Có gì thay đổi Google trân trọng giới thiệu tab tài liệu trong Google Docs,…
13 kiến trúc mẫu để bắt đầu “hành trình Google Cloud” của bạn
Bất kể nhu cầu về hiệu suất hoặc chi phí của tổ chức bạn như thế nào thì Google Cloud là một nền tảng cực kỳ linh hoạt hỗ trợ nhiều loại kiến trúc ứng dụng khác nhau. Dù bạn muốn tìm hiểu cách triển khai hybrid cloud hay ứng dụng dành cho thiết bị di động, microservie, CI/CD, máy học (ML) hay việc bảo mật, thì đến cuối bài đăng này, bạn sẽ hiểu rõ về cách bắt đầu hành trình đến với Google Cloud.
Nếu bạn chưa biết tổ chức của bạn phù hợp với mô hình kiến trúc như thế nào từ Google Cloud, thì đây là bài viết dành cho bạn!
1. Thiết lập kiến trúc hybrid trên Google Cloud và On-premise
Khi nói đến việc migrate hoặc việc chạy một phần ứng dụng trên On-Prem và phần còn lại trên Cloud, thì kiến trúc Hybrid là lựa chọn khá phổ biến. Kiến trúc Hybrid là nơi bạn sẽ triển khai frontend và/hoặc server ứng dụng trên Google Cloud và backend trên On-premise.
- Trong trường hợp đó, người dùng yêu cầu các ứng dụng qua internet và bộ cân bằng tải toàn cầu sẽ định tuyến chúng tới ứng dụng của bạn trên Google Cloud hoặc On-Prem.
- Từ đó cân bằng tải toàn cầu phân phối lưu lượng để cân bằng tải đến dịch vụ thích hợp. Các dịch vụ có thể có trên bất kỳ nền tảng cloud nào, chẳng hạn như Compute Engine, Google Kubernetes Engine (GKE), App Engine, v.v.
- Các ứng dụng cần giao tiếp với các hệ thống backend trong trung tâm dữ liệu của bạn phải kết nối qua Cloud VPN hoặc Interconnect, tùy thuộc vào băng thông theo nhu cầu của bạn. Bạn không chắc chắn nên chọn cái nào? Xem tại đây.
- Các yêu cầu đối với ứng dụng On-Prem nằm trên bộ cân bằng tải, giúp phân phối tải trên các máy chủ ứng dụng.
- Máy chủ ứng dụng kết nối với backend như tìm kiếm, bộ nhớ cache và cơ sở dữ liệu để đáp ứng yêu cầu của người dùng.
Để tìm hiểu thêm về các giải pháp hybrid, hãy xem giải pháp này.
2. Thiết lập kiến trúc hybrid trên Cloud
Tăng lưu lượng truy cập lên đám mây có thể là một cách tuyệt vời để bắt đầu sử dụng đám mây. Nếu ứng dụng của bạn được triển khai On-Prem, thì bạn có thể sử dụng ứng dụng đó cho tải cơ sở và tạm thời chuyển sang Google Cloud Platform khi bạn cần thêm dung lượng do lưu lượng truy cập tăng đột ngột. Lý do chính để làm điều này là để tránh duy trì thêm công suất tại chỗ. Và bởi vì trong đám mây, bạn chỉ trả tiền cho những gì bạn sử dụng, nên việc bùng nổ có thể giúp tiết kiệm chi phí.
Nhấn vào đây để tìm hiểu thêm về các giải pháp và mô hình hybrid.
3. Bảo quản dữ liệu mật trong chatbot bằng API Data Lost Prevention (DLP)
Hãy tưởng tượng một tình huống mà doanh nghiệp hoặc người dùng của bạn yêu cầu chia sẻ thông tin nhạy cảm với một chatbot. Để làm như vậy, bạn có thể sử dụng Dialogflow, giúp tạo trải nghiệm đàm thoại cho người dùng của bạn mà không cần phải học máy học (ML) hoặc trí tuệ nhân tạo (AI).
Ví dụ: trong kiến trúc này, người dùng tương tác với trải nghiệm trò chuyện trên điện thoại hoặc web, gọi tác nhân Dialogflow. Yêu cầu được thực hiện theo logic nghiệp vụ bằng cách sử dụng Chức năng đám mây không có máy chủ hoặc máy ảo. Sau đó, nếu muốn hủy nhận dạng thông tin nhạy cảm khỏi trải nghiệm trò chuyện, bạn có thể sử dụng API DLP và lưu trữ thông tin đó vào BigQuery để xử lý thêm.
4. Xây dựng backend ứng dụng di động trên Google Cloud
Khi xây dựng ứng dụng dành cho thiết bị di động trên GCP, Firebase là một tùy chọn tốt để lưu trữ, xác thực người dùng, lưu trữ, v.v. Bạn có thể tích hợp Firebase với nhiều chương trình phụ trợ, chẳng hạn như Chức năng đám mây không có máy chủ để kết hợp logic kinh doanh với nhau hoặc Cloud Run để chạy các vùng chứa không có máy chủ dưới dạng chương trình phụ trợ của ứng dụng. Bạn cũng có thể kết nối với Application và Computer, nếu đó là nơi tồn tại các chương trình backend của bạn.
Để tìm hiểu thêm, hãy xem loạt bài này.
5. Di chuyển cơ sở dữ liệu Oracle sang Spanner
Cách tốt nhất để di chuyển Oracle sang Cloud Spanner là gì? Nếu bạn đang sử dụng cơ sở dữ liệu Oracle và đang tìm cách di chuyển nó sang Spanner cho quy mô toàn cầu, thì trước tiên bạn cần xuất cơ sở dữ liệu Oracle của mình sang định dạng tệp di động như CSV và lưu trữ trong Google Storage. Sau đó, nhập dữ liệu vào Dataflow nơi bạn sẽ đọc và phân tích cú pháp các tệp, chuyển đổi dữ liệu và tạo các đột biến Spanner, xử lý mọi lỗi và cuối cùng ghi vào Spanner.
Để tìm hiểu thêm, hãy xem giải pháp này.
6. Xây dựng Data Lake trên Google Cloud (Kho dữ liệu)
Mục đích của Data Lake là nhập và lưu trữ dữ liệu để khai thác và các quy trình công việc khác như data mart, real-time analytics, ML, v.v.! Dưới đây là một số điều cần xem xét khi thiết lập hồ dữ liệu trong Google Cloud:
- Bạn có thể nhập dữ liệu từ các nguồn khác nhau như IoT, On-Prem, hoạt động của người dùng như clickstream, giao dịch trực tuyến, v.v.
- Dữ liệu thời gian thực có thể được nhập bằng cách sử dụng Pub/Sub và Dataflow, dễ dàng mở rộng quy mô cho các khối lượng dữ liệu khác nhau.
- Dữ liệu hàng loạt có thể được nhập bằng Transfer Appliance, Transfer Service hoặc gsutil, tùy thuộc vào băng thông và dung lượng của bạn. Dữ liệu thời gian thực tinh chỉnh có thể được lưu trữ trong Bigtable hoặc Spanner.
- Bạn có thể khai thác dữ liệu trong hồ dữ liệu bằng Datalab và Dataprep. Hoặc, đối với máy học, hãy sử dụng Datalab hoặc ML Engine để đào tạo và lưu trữ các dự đoán trong Bigtable.
- Để lưu kho, bạn có thể gửi dữ liệu tới BigQuery hoặc tới Dataproc nếu bạn là người dùng hệ sinh thái Hive.
Để tìm hiểu thêm, hãy xem giải pháp này về cách sử dụng Cloud Storage làm kho dữ liệu.
7. Hosting website
Để mở rộng quy mô một trang web dựa trên lưu lượng truy cập không phải là một nhiệm vụ dễ dàng. Google Cloud cung cấp các cách đơn giản và tiết kiệm chi phí để lưu trữ trang web cũng như mở rộng quy mô để hỗ trợ số lượng yêu cầu ngày càng nhiều trên website. Dưới đây là cách scale (nới rộng về hạ tầng) trên trang web với Cloud Google :
- Khi người dùng gửi yêu cầu đến trang web của bạn, Cloud DNS sẽ dịch host name thành web server’s IP address.
- Sau đó, yêu cầu chuyển đến Cloud CDN, yêu cầu này sẽ phản hồi từ cache. Nếu không có phản hồi được lưu trong bộ nhớ cache, thì yêu cầu sẽ chuyển đến Global Load Balancing để cân bằng tải trên các web servers trên Compute Engine. Bạn thậm chí có thể đặt on-prem hoặc một cấu hình cloud khác làm backend.
- Các tệp tĩnh như hình ảnh được cung cấp từ Cloud Storage. Sau đó, bộ cân bằng tải nội bộ sẽ gửi yêu cầu tới các app server và cuối cùng là tới bất kỳ cơ sở dữ liệu nào.
- Sử dụng document database Firestore cho các hoạt động và hồ sơ người dùng.
- Sử dụng CloudSQL cho dữ liệu liên kết (realtional data)
- Để bảo vệ backend của bạn khỏi các cuộc tấn công DDoS lớp 3 và 4, hãy bật Cloud Armor bằng bộ Global load balancer.
- Ví dụ này sử dụng Compute Engine làm backend, nhưng bạn cũng có thể triển khai các backend của bạn trong các container chạy trên GKE, Cloud Run hoặc App Engine.
- Để nới rộng quy mô về hạ tầng khi sử dụng Compute Engine, hãy sử dụng Managed instance groups để giúp tự động cân bằng khi lượng tải tăng (App Engine và Cloud Run mở rộng quy mô với autoscaling)
8.Thiết lập đường dẫn CI/CD trên Google Cloud
CI/CD là một cách hiệu quả để hỗ trợ các nhà phát triển ứng dụng dễ dàng hơn và tăng hiệu suất, duy trì việc triển khai hệ thống nhanh hơn. Việc thiết lập CI/CD với Google Cloud rất đơn giản:
- Các Developer sẽ viết mã và đẩy vào kho lưu trữ nguồn Google Cloud, bitbucket hoặc git repo.
- Ngay khi mã xuất hiện trong repo, Cloud Build sẽ khởi động— nó chạy thử nghiệm và quét bảo mật, đồng thời xây dựng hình ảnh docker, sau đó đẩy mã đó tới Spinnaker, một nền tảng open-source phân phối liên tục các multi-cloud (bạn cũng có thể sử dụng Jenkins hoặc Gitlab ).
- Sau đó, Spinnaker triển khai container đến một cụm cluster trên GKE, Cloud Run hoặc Compute Engine; nó cũng có thể triển khai một ứng dụng canary để đảm bảo các thay đổi được kiểm tra dựa trên lưu lượng truy cập thực.
- Lưu lượng người dùng đến chạm vào bộ cân bằng tải và được chuyển đến ứng dụng canary hoặc prod.
- Nếu ứng dụng canary không đạt yêu cầu, bạn có thể tự động khôi phục nhanh.
Để tìm hiểu thêm, hãy xem giải pháp CI/CD.
9. Xây dựng serverless microservice trên Google Cloud
Microservice và serverless mang đến khả năng mở rộng lớn hơn, linh hoạt hơn và thời gian phát hành nhanh hơn, hơn hết tất cả đều ở mức chi phí thấp. Một cách hay để xây dựng kiến trúc serverless microservice trên Google Cloud là sử dụng Cloud Run. Hãy sử dụng một ví dụ về ứng dụng thương mại điện tử:
- Khi người dùng đặt hàng, frontend trên Cloud Run sẽ nhận yêu cầu và gửi yêu cầu đó tới Pub/Sub, một dịch vụ nhắn tin không đồng bộ.
- Các microservice tiếp theo cũng được triển khai trên Cloud Run, theo dõi các sự kiện Pub/Sub.
- Giả sử dịch vụ xác thực thực hiện lệnh gọi tới Firestore, một serverless NoSQL document database. Dịch vụ kiểm kê truy vấn DB trong document database được quản lý hoàn toàn của Cloud SQL hoặc trong Firestore. Sau đó, order service sẽ nhận một sự kiện từ Pub/Sub để xử lý tiếp.
- Các tệp tĩnh được lưu trữ trong Cloud Storage, sau đó có thể kích hoạt chức năng cloud để phân tích dữ liệu bằng các API ML.
- Có thể có các microservices như address lookup deployed được triển khai trên Cloud Function.
- Tất cả nhật ký được lưu trữ trong Cloud Logging.
- BigQuery lưu trữ tất cả dữ liệu cho serverless warehousing.
Để tìm hiểu thêm, hãy xem hướng dẫn cách chọn nền tảng serverless.
10. Machine learning trên Google Cloud
Các tổ chức liên tục tạo dữ liệu và có thể sử dụng các kỹ thuật ML để hiểu rõ hơn về dữ liệu đó. Dưới đây là các bước để hoàn thành việc cấu hình ML trên Google Cloud:
- Trước tiên, hãy nhập dữ liệu bằng Transfer Appliance hoặc Transfer Service into Cloud Storage hoặc BigQuery
- Sau đó, chuẩn bị và xử lý trước dữ liệu bằng BigQuery, Dataprep, Dataflow hoặc Dataproc.
- Sử dụng AI Hub để khám phá các pipelines và nội dung AI đã tồn tại.
- Khi đã sẵn sàng, hãy sử dụng AI Platform’s Data Labeling Service để gắn nhãn dữ liệu.
- Xây dựng ứng dụng ML của bạn bằng managed Jupyter notebooks và Deep Learning VM image.
- Sau đó, hãy sử dụng AI platform training& prediction để đào tạo mô hình của bạn và deploy lên Google Cloud trong môi trường serverless environment hoặc dùng Kubeflow on-prem.
- Sử dụng explainable AI để giải thích kết quả mô hình của bạn cho người dùng doanh nghiệp, sau đó chia sẻ chúng trên AI Hub.
Để tìm hiểu thêm, hãy xem công nghệ máy học
11. Xử lý hình ảnh, video hoặc văn bản serverless trong Google Cloud
Hầu hết các ứng dụng đều yêu cầu một lượng xử lý hình ảnh, video hoặc văn bản nhất định. Trong kiến trúc này, giả sử một trang web viết blog nơi người dùng tạo nội dung dưới dạng video, hình ảnh và văn bản.
- Nội dung do người dùng tạo từ frontend được lưu trữ trong Cloud Storage, tạo ra Pub/Sub event và kích hoạt cloud function.
- Sau đó, Cloud Function chuyển tiếp đến Vision API, API Video Intelligence hoặc API NLP, tùy thuộc vào loại tệp do người dùng tải lên.
- Cloud function sẽ nhận phản hồi JSON từ API ML tương ứng, rồi xử lý thêm các vấn đề khác và gửi kết quả tới BigQuery để phân tích.
- Google Data Studio hoặc một công cụ trực quan khác (visualization tool) có thể được sử dụng để tạo dashboard tùy chỉnh nhằm phân tích nó.
Để tìm hiểu thêm, hãy xem Nền tảng AI.
12. Internet of Things (IoT) trên Google Cloud
Nếu bạn có một số lượng lớn thiết bị tạo dữ liệu, bạn có thể sử dụng quy trình công việc IoT để kết nối, quản lý và nhập dữ liệu một cách dễ dàng và an toàn nhằm sử dụng dữ liệu đó cho các ứng dụng hạ nguồn. Đây là quy trình công việc IoT mẫu:
- Một cảm biến gửi dữ liệu đến một edge device trang bị Edge TPU, một con chip chạy các mô hình ML.
- Ở đó, layer phần mềm Cloud IoT Edge cho phép thực thi các mô hình ML và chạy trên Android Things hoặc Linux OS.
- Từ edge device , dữ liệu được gửi đến Cloud IoT Core qua MQTT hoặc HTTP(S), tạo ra các sự kiện trong Pub/Sub.
- Pub/Sub sau đó kích hoạt Cloud Functions để cập nhật bất kỳ cấu hình thiết bị nào.
- Để lưu trữ lâu hơn, Dataflow sẽ lọc và xử lý dữ liệu rồi gửi dữ liệu đến database Bigtable NoSQL hoặc BigQuery.
- Từ BigQuery, bạn có thể đào tạo một mô hình ML bằng BigqueryML hoặc AI Platform.
- Bạn có thể trực quan hóa dữ liệu trong Data Studio hoặc trên một dashboard khác.
Để tìm hiểu thêm, hãy tham khảo Cloud IoT Core.
13. Thiết lập mô hình bảo mật trên BeyondCorp
BeyondCorp là triển khai của Google về mô hình bảo mật không tin cậy. Nó được xây dựng sau 8 năm xây dựng các mạng không tin tưởng tại Google, kết hợp với các ý tưởng và phương pháp hay nhất từ cộng đồng. Hãy lấy một ví dụ về một công ty mà một nhân viên đang cố gắng truy cập một ứng dụng nội bộ.
- Yêu cầu được chuyển tới Cân bằng tải trên đám mây, yêu cầu này sẽ gửi yêu cầu đó tới một Proxy nhận biết phần mềm nhận dạng (IAP).
- IAP sau đó kết nối với kho thiết bị và kiểm tra xem người dùng có hợp pháp hay không, kết nối với danh tính Đám mây để quản lý điểm cuối, Active Directory để xác thực, Quản lý danh tính và truy cập (IAM) và Trình quản lý bối cảnh truy cập để truy cập theo ngữ cảnh dựa trên chính sách. Những kiểm tra này có thể được định cấu hình khác nhau cho nhân viên so với nhà thầu.
- Sau khi thông qua, kiểm tra được chuyển đến dịch vụ. Nếu kiểm tra không được thông qua, người dùng sẽ bị từ chối truy cập.
- Nếu phần backend là on-premise thì trình kết nối IAP tại chỗ và Cloud Interconnect hoặc Cloud VPN sẽ kết nối trực tiếp với trung tâm dữ liệu.
Để tìm hiểu thêm, hãy xem BeyondCorp tại đây.
Kết luận
Các những doanh nghiệp khởi nghiệp với yêu cầu cao về nền tảng hạ tầng mạnh mẽ, dễ dàng mở rộng theo tốc độ phát triển đồng thời không tốn nhiều chi phí nguồn lực để xây dựng, vận hành cho nền tảng bên dưới mà chỉ cần tập trung việc phát triển ứng dụng doanh nghiệp.
Gimasys hy vọng bạn thích tổng hợp các kiến trúc tham khảo Google Cloud phổ biến nhất này. Nếu tổ chức hoặc doanh nghiệp của bạn vẫn đang loay hoay hoặc đang tìm kiếm kiến trúc phù hợp cho mình, Gimasys hỗ trợ các start-up Việt với khoản fund hơn $200K, chi tiết chương trình tại đây.
Để biết được hỗ trợ về mặt chuyên môn kỹ thuật, bạn có thể liên hệ Gimasys – Premier Partner của Google tại Việt Nam theo thông tin:
- Hotline: 0974 417 099 (HCM) | 0987 682 505 (HN)
- Email: gcp@gimasys.com
Nguồn: Gimasys