Cụ thể hơn, các dịch vụ đám mây là như Amazon Elastic Compute Cloud EC2 hoặc Google Compute Engine GCE, cung cấp các API để triển khai máy chủ ảo, nơi khách hàng trả tiền theo giờ sử dụn
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ saasdassadsads,,o0o
BÀI TẬP NGUYÊN LÝ HỆ ĐIỀU
HÀNH
TÌM HIỂU VỀ GOOGLE CLOUD
Google cloud platform
Sinh viên: Nguyễn Trung Hiếu 21020627Nguyễn Việt Hùng 210201505 Lớp: Nguyên lý hệ điều hành - INT2214_20
Trang 2MỤC LỤC
I TỔNG QUAN VỀ GOOGLE CLOUD PLATFORM 1
1.1 Khái niệm “Đám mây” 1
1.2 Google Cloud Platform 1
II CÔNG NGHỆ SỬ DỤNG 2
2.1 Điện toán phân tán (Distributed compute) 2
2.1.1 Khái niệm về điện toán phân tán 2
2.1.2 Một số đặc điểm của điện toán phân tán 3
2.2 Điện toán đám mây (Cloud compute) 3
2.2.1 Khái niệm 4
2.2.2 Lợi ích của điện toán đám mây 4
2.2.3 Phân loại điện toán đám mây 5
III Kiến trúc của Google Cloud Platform 6
3.1 Dịch vụ lưu trữ: 6
3.1.1 Cloud SQL: Quản lí quan hệ lưu trữ dữ liệu 6
3.1.2 Cloud Datastore: Kho lưu trữ tài liệu 7
3.1.3 Cloud Spanner: SQL quy mô lớn 7
3.1.4 Cloud Bigtable: dữ liệu có cấu trúc quy mô lớn 8
3.1.5 Cloud Storage: object storage 9
3.2 Dịch vụ điện toán: 9
3.2.1 Compute Engine: máy ảo 9
3.2.2 Kubernetes Engine: quản lí Kubernetes clusters 10
3.2.3 App Engine: fully managed applications 11
3.2.4 Cloud Functions: serverless applications 12
3.2.5 Cloud DNS: Managed DNS hosting 13
3.3 Học máy (Machine learning) 15
3.3.1 Cloud Vision: image recognition 15
Trang 33.3.2 Cloud Natural Language: text analysis 17
3.3.3 Cloud Speech: audio-to-text-conversion 21
3.4 Cloud Translation: multilanguage machine translation 23
3.4.1 BigQuery 23
3.4.2 Cloud Dataflow 25
3.4.3 Cloud Pub/Sub 27
3.5 Cloud Machine Learning Engine: managed machine learning 28
IV DEMO - DEPLOY WORDPRESS WITH SQL ON GCP 29
4.1 Wordpress 29
4.2 MySQL 30
4.3 Demo - Deploy Wordpress với SQL trên GCP 30
V SO SÁNH VỚI CÁC DỊCH VỤ ĐÁM MÂY KHÁC 38
Trang 5I TỔNG QUAN VỀ GOOGLE CLOUD PLATFORM
Đám mây là một bộ sưu tập các dịch vụ giúp các nhà phát triển tập trung vào dự án của họ thay vì trên cơ sở hạ tầng điều khiển nó Cụ thể hơn, các dịch
vụ đám mây là như Amazon Elastic Compute Cloud (EC2) hoặc Google Compute Engine (GCE), cung cấp các API để triển khai máy chủ ảo, nơi khách hàng trả tiền theo giờ sử dụng các máy chủ này Ở nhiều khía cạnh, đám mây là tầng trừu tượng tiếp theo trong hạ tầng máy tính, nơi tính toán, lưu trữ, phân tích, mạng và nhiều thứ khác được đẩy lên tầng cao hơn trong ngăn xếp máy tính Cấu trúc này đưa tập trung của nhà phát triển ra khỏi CPU và RAM và hướng về các API cho các hoạt động cấp cao hơn như lưu trữ hoặc truy vấn dữ liệu Các dịch vụ đám mây nhắm vào việc giải quyết vấn đề của bạn, chứ không phải cung cấp cho bạn các công cụ cấp thấp để bạn tự thực hiện Hơn nữa, các dịch vụ đám mây rất linh hoạt, với hầu hết không đòi hỏi triển khai hoặc hợp đồng dài hạn Do đó, dựa vào các dịch vụ này cho phép bạn mở rộng lên và thu nhỏ mà không cần thông báo trước hoặc triển khai, trong khi chỉ trả tiền cho tài nguyên bạn sử dụng trong một tháng cụ thể
Có nhiều nhà cung cấp đám mây trên thị trường, bao gồm Google, Amazon, Microsoft, Rackspace, DigitalOcean và nhiều hơn nữa Với nhiều đối thủ trong lĩnh vực này, mỗi công ty phải có quan điểm riêng về cách phục vụ khách hàng tốt nhất Kết quả là mặc dù mỗi công ty cung cấp nhiều sản phẩm tương tự, cách triển khai và chi tiết về cách những sản phẩm này hoạt động thường thay đổi khá nhiều Nền tảng Đám mây Google (thường viết tắt là GCP)
là một bộ sưu tập các sản phẩm cho phép thế giới sử dụng một phần hạ tầng nội
bộ của Google Bộ sưu tập này bao gồm nhiều thứ phổ biến trên tất cả các nhà cung cấp đám mây, như máy ảo theo yêu cầu thông qua Google Compute Engine
Trang 6hoặc lưu trữ đối tượng để lưu trữ tệp tin thông qua Google Cloud Storage Nó cũng bao gồm các API cho một số công nghệ tiên tiến của Google, như Bigtable,Cloud Datastore hoặc Kubernetes Mặc dù Nền tảng Đám mây Google tương tự như các nhà cung cấp đám mây khác, nhưng có một số khác biệt đáng kể Trước hết, Google có "nhà" của một số người xuất sắc, đã tạo ra một số công nghệ mớituyệt vời tại đây và sau đó chia sẻ chúng với thế giới thông qua các bài báo nghiên cứu Điều này bao gồm MapReduce (bài báo nghiên cứu là nguồn gốc của Hadoop và đã thay đổi cách chúng ta xử lý "Dữ liệu lớn"), Bigtable (bài báo
là nguồn gốc của Apache HBase) và Spanner Với Nền tảng Đám mây Google, nhiều công nghệ này không còn "dành riêng cho người làm việc tại Google." Thứ hai, Google hoạt động trên một quy mô lớn đến mức có nhiều lợi thế về kinh tế, được chuyển tiếp dưới dạng giá thấp hơn Google sở hữu hạ tầng vật lý lớn đồng nghĩa với việc mua và xây dựng phần cứng tùy chỉnh để hỗ trợ nó, điềunày đồng nghĩa với giá cả tổng cộng rẻ hơn, thường kết hợp với hiệu suất tốt hơn
II CÔNG NGHỆ SỬ DỤNG
II.1 Điện toán phân tán (Distributed compute)
Điện toán phân tán được xem là thế hệ tiền nhiệm của điện toán đám mây – một trong những công nghệ hàng đầu giúp lưu trữ, chia sẻ dữ liệu
II.1.1 Khái niệm về điện toán phân tán
Điện toán phân tán (Distributed Computing) là một thuật ngữ thuộc lĩnh vực khoa học máy tính nhằm nghiên cứu các hệ thống phân tán Hiểu đơn giản, điện toán phân tán là một phương pháp xử lý dữ liệu trong đó công việc được
2
Trang 7chia thành nhiều phần và được xử lý bởi nhiều máy tính khác nhau trong một mạng lưới Điều này giúp tăng tốc độ xử lý và giảm thời gian hoàn thành công việc so với việc sử dụng một máy tính duy nhất Điện toán phân tán được sử dụng trong nhiều ứng dụng, từ các hệ thống lưu trữ đến xử lý video và tính toán khoa học
II.1.2 Một số đặc điểm của điện toán phân tán
Trong điện toán phân tán, các máy tính được đặt gần nhau và kết nối thông quan mạng cục bộ Tuy nhiên, chúng cũng có thể cách xa nhau về mặt địa
lý và kết nối bằng mạng diện rộng
Bên cạnh đó, thành phần của điện toán phân tán bao gồm: máy tính cá nhân, máy trạm, máy tính lớn hoặc máy mini So với hệ thống tập trung, điện toán phân tán mang lại nhiều giá trị thiết thực như:
Hệ thống có khả năng mở rộng dễ dàng bằng cách bổ sung thêm các máy khi cần thiết
Một dịch vụ có thể được cung cấp bởi nhiều máy tính khác nhau Vì vậy, nếu một máy ngưng hoạt động, công việc vẫn sẽ tiếp diễn và hoàntất Bên cạnh đó, những máy nhỏ hơn có thể được dùng 4 để thay thế, nên người dùng không cần tốn kém cho chi phí dự phòng
Điện toán phân tán có thể hoạt động trên phần cứng của nhiều nhà cung cấp Đồng thời, chúng được phép sử dụng nhiều thành phần phầnmềm dựa trên các tiêu chuẩn nhất định Ngoài ra, điện toán phân tán cókhả năng chạy trên nhiều hệ điều hành khác nhau, sử dụng các giao thức truyền thông khác nhau
Hệ điều hành của điện toán phân tán rất đa dạng, có thể là: UNIX, LINUXhoặc Windows Ngoài ra, với những trường hợp giao tiếp liên máy, hệ điều hành
Trang 8có thể là SNA hoặc TCP / IP trên Ethernet hoặc Token Ring Để hoạt động trên điện toán phân tán, bạn có thể tổ chức phần mềm thông qua việc phân tách chức năng thành hai phần: máy chủ và máy khách
II.2 Điện toán đám mây (Cloud compute)
II.2.1 Khái niệm
Cloud computing là một hình thức cung cấp dịch vụ tính toán, lưu trữ, mạng và các tài nguyên khác thông qua internet Điện toán đám mây hoạt động dựa trên việc sử dụng mạng lưới máy chủ từ xa thông qua Internet Nhờ đó, mọi
dữ liệu sẽ được quản lý, lưu trữ hoặc xử lý nhanh chóng Việc triển khai mô hìnhnày, giúp người dùng sở hữu một không gian lưu trữ gần như vô tận Đồng thời khả năng xử lý từ xa cũng được cải thiện mạnh mẽ
II.2.2 Lợi ích của điện toán đám mây
Tốc độ cực nhanh:
Các dịch vụ điện toán đám mây phần lớn đều có khả năng tự phục vụ theoyêu cầu Vì vậy, khi cung cấp tài nguyên cho người dùng chỉ tốn vài phút, thậm chí chỉ thông qua một cú click chuột Điều này giúp doanh nghiệp linh hoạt hơn trong quá trình sử dụng Đồng thời, những áp lực về việc lập kế hoạch công suấtcũng được giảm bớt
Tiết kiệm chi phí
Điện toán đám mây mang lại nhiều tiện ích thiết thực cho người dùng với mức chi phí thấp Những khoản phí đầu tư cho phần cứng, phần mềm, thiết lập, lưu trữ, …, đều được loại bỏ Bên cạnh đó, cơ sở hạ tầng khi sử dụng điện toán đám mây cũng được nâng cấp tối ưu
4
Trang 9Năng suất hiệu quả
Điện toán đám mây giúp doanh nghiệp thay thế các tác vụ của phần cứng, phần mềm và việc quản lý Công nghệ Thông tin (CNTT) tốn thời gian Thế nên, năng suất làm việc của các nhóm CNTT được thúc đẩy Nhờ đó, doanh nghiệp rút ngắn được thời gian để hoàn thành các mục tiêu kinh doanh quan trọng
Hiệu suất tối ưu
Các mô hình điện toán đám mây uy tín đều hoạt động trên mạng lưới trung tâm dữ liệu an toàn trên thế giới Đồng thời, chúng thường xuyên cập nhật lên phiên bản phần cứng điện toán nhanh Nhờ đó, trung tâm dữ liệu công ty có hiệu suất hoạt động mạnh mẽ hơn
ro không đáng có
II.2.3 Phân loại điện toán đám mây
Có bao nhiêu mô hình cung cấp điện toán đám mây? Hiện tại, có 3 mô hình cung cấp điện toán đám mây phổ biến nhất là: IaaS (dịch vụ cơ sở hạ tầng),PaaS (Dịch vụ nền tảng) và SaaS (dịch vụ phần mềm):
IaaS (Infrastructure as a Service)
Trang 10là mô hình cung cấp hạ tầng điện toán đám mây Khách hàng sử dụng IaaS
để thuê các tài nguyên hạ tầng như máy chủ, mạng, lưu trữ để triển khai ứng dụng của mình
PaaS (Platform as a Service)
là mô hình cung cấp nền tảng phát triển ứng dụng trên đám mây Khách hàng sử dụng PaaS để tạo và triển khai ứng dụng của mình mà không cần phải lolắng về cơ sở hạ tầng phía sau
SaaS (Software as a Service)
là mô hình cung cấp phần mềm trên đám mây Khách hàng sử dụng SaaS
để sử dụng các ứng dụng trực tuyến có sẵn trên đám mây, chẳng hạn như ứng dụng email, quản lý khách hàng, kế toán, nhân sự, v.v
III Kiến trúc của Google Cloud Platform
III.1 Dịch vụ lưu trữ:
Để bắt đầu, chúng ta sẽ khám phá thế giới đa dạng của lưu trữ dữ liệu Chúng ta sẽ tìm hiểu về nhiều hệ thống lưu trữ và cách chúng hoạt động trên Nền tảng Đám mây Google:
III.1.1 Cloud SQL: Quản lí quan hệ lưu trữ dữ liệu
Cloud SQL là một máy ảo (VM) được lưu trữ trên Google Compute Engine, được quản lý bởi Google và chạy một phiên bản của ứng dụng MySQL Điều này có nghĩa rằng bạn sẽ có một máy chủ MySQL hoàn toàn tương thích
mà bạn không cần SSH vào để điều chỉnh các cài đặt Thay vào đó, bạn có thể thay đổi tất cả các cài đặt đó trong Cloud Console, công cụ dòng lệnh Cloud
6
Trang 11SDK hoặc REST API Nếu bạn quen thuộc với Dịch vụ Cơ sở dữ liệu Liên quan của Amazon (RDS), bạn có thể xem Cloud SQL như một thứ tương tự (Hiện tại,Cloud SQL đang hỗ trợ cả MySQL, PostgreSQL và SQL Server)
Cloud SQL hoàn toàn tương thích với MySQL, vì vậy nếu bạn đang sử dụng MySQL bất kỳ nơi nào trong hệ thống của bạn, Cloud SQL là một lựa chọn khả thi cho bạn vì vậy bạn có thể sử dụng nó để lưu trữ dữ liệu cho các ứngdụng web, ứng dụng di động, và nhiều loại ứng dụng khác Ngoài ra, tích hợp với Cloud SQL không đòi hỏi gì ngoài việc thay đổi tên máy chủ trong cấu hình của bạn để trỏ đến một phiên bản Cloud SQL Ngoài ra, Cloud SQL cũng cung cấp nhiều tùy chọn bảo mật để bảo vệ dữ liệu của bạn, bao gồm kết nối an toàn, quyền truy cập và mã hóa dữ liệu
III.1.2 Cloud Datastore: Kho lưu trữ tài liệu.
Kho dữ liệu đám mây, trước đây gọi là Kho dữ liệu App Engine, ban đầu đến từ hệ thống lưu trữ do Google xây dựng có tên Megastore Nó lần đầu tiên được ra mắt như một cách mặc định để lưu trữ dữ liệu trong Google App Engine
và từ đó đã phát triển thành một hệ thống lưu trữ độc lập Cloud Datastore là một dịch vụ cơ sở dữ liệu không SQL được cung cấp bởi Google Cloud Platform(GCP) Nó cung cấp khả năng lưu trữ dữ liệu có cấu trúc và không có cấu trúc, được phân phối và mở rộng tự động trên hệ thống đám mây của Google Dịch vụnày được sử dụng rộng rãi cho việc lưu trữ dữ liệu ứng dụng web và di động, cũng như cho phát triển các ứng dụng quy mô lớn với nhu cầu lưu trữ lớn
Trang 12III.1.3 Cloud Spanner: SQL quy mô lớn
Trong một thời gian dài, nhu cầu của Google không khác gì so với bất kỳ doanh nghiệp nào khác, nơi dữ liệu được cấu trúc và có quan hệ, và phù hợp với MySQL Khi kích thước dữ liệu lưu trữ tăng lên ngoài tầm kiểm soát, điều này trở thành một vấn đề Bước đầu tiên để khắc phục vấn đề này là đẩy sự sử dụng của các cơ sở dữ liệu sẵn có đến nơi mà chúng không được thiết kế để hoạt động, chia nhỏ dữ liệu và thuê nhiều quản trị cơ sở dữ liệu để điều chỉnh hệ thống Điều này giúp ích nhưng không giải quyết triệt hạ vấn đề, và dữ liệu tiếp tục tăng Việc sử dụng một trong các hệ thống lưu trữ nội bộ (như Megastore) không phải là giải pháp vì các tính năng cần thiết là các khía cạnh như tính giao dịch hoặc quan hệ cũng như tính nhất quán mạnh mẽ, và những tính năng đó đã được đánh đổi đầu tiên khi thiết kế các hệ thống như Megastore Điều cần thiết
là một hệ thống kết hợp tính mở rộng của lưu trữ không quan hệ với các tính năng của cơ sở dữ liệu MySQL truyền thống, dẫn đến sự ra đời của Spanner.Spanner là một cơ sở dữ liệu NewSQL cung cấp nhiều tính năng của cơ sở
dữ liệu có quan hệ (như mô hình dữ liệu và truy vấn JOIN) với nhiều tính chất
về mở rộng của cơ sở dữ liệu không quan hệ (như khả năng thêm máy chủ) Trong trường hợp sự cố (hoặc tải lượng cực lớn), Spanner có thể chia và phân phối lại dữ liệu trên nhiều máy chủ, ngay cả khi chúng ở trong các trung tâm dữ liệu hoàn toàn khác nhau Thông qua việc thay đổi kích thước động và chuyển đổi các phần dữ liệu, hệ thống được chuẩn bị cho mọi loại thảm họa Spanner cũng cung cấp truy vấn với tính nhất quán mạnh mẽ, vì vậy bạn sẽ không bao giờ gặp phiên bản dữ liệu lỗi thời Theo mô hình của Nền tảng Đám mây Google, Google đã lấy cơ sở dữ liệu Spanner, ban đầu chỉ dành cho các kỹ sư Google, và đã làm cho nó có sẵn cho bất kỳ ai sử dụng Nền tảng Đám mây
8
Trang 13Google như một hệ thống lưu trữ được host, giống như Cloud Datastore hoặc Cloud Bigtable.
III.1.4 Cloud Bigtable: dữ liệu có cấu trúc quy mô lớn.
Bigtable bắt đầu như một hệ thống lưu trữ cho chỉ mục tìm kiếm web tại Google và đã trở thành một trong những công nghệ chính hỗ trợ nhiều hệ thống lưu trữ khác tại Google, như Megastore và Cloud Datastore Nó được xây dựng
để giải quyết một vấn đề cụ thể nhưng phức tạp: “Làm thế nào để lưu trữ và liên tục cập nhật petabyte dữ liệu, với khả năng xử lý cực cao, độ trễ thấp và tính sẵnsàng cao?” Câu hỏi dễ thấy là tại sao bạn không thể đặt tất cả điều này vào MySQL MySQL nhanh chóng gặp vấn đề khi đối mặt với vấn đề này, vì vậy Google đã nảy ra cách thú vị để sử dụng một bản đồ key-value được sắp xếp toàn cầu, tự động cân bằng lại dữ liệu dựa trên việc sử dụng dịch vụ để đạt được hiệu suất và khả năng mở rộng cần thiết
Cloud Bigtable được thiết kế để xử lý lượng lớn dữ liệu, đặc biệt là cho các tải trọng đọc và ghi cao, làm cho nó là lựa chọn thích hợp cho các ứng dụng đòi hỏi truy cập dữ liệu với độ trễ thấp và khả năng xử lý lớn, như phân tích thờigian thực, lưu trữ dữ liệu IoT và phân tích dữ liệu chuỗi thời gian Mặc dù CloudBigtable cung cấp hiệu suất và khả năng mở rộng ấn tượng, cần lưu ý rằng nó cóthể không phải là lựa chọn tốt nhất cho mọi ứng dụng Nó đặc biệt thích hợp chocác tình huống đòi hỏi tải trọng đọc và ghi với khả năng xử lý lớn và độ trễ thấp đối với tập dữ liệu lớn, nhưng có thể đòi hỏi kế hoạch và tối ưu hóa cẩn thận để
sử dụng một cách hiệu quả về chi phí
Trang 14III.1.5 Cloud Storage: object storage
Object storage là một loại kiến trúc lưu trữ dữ liệu phổ biến trong các dịch
vụ Cloud Storage, và nó hoạt động theo cách khác với hệ thống lưu trữ truyền thống như file storage hoặc block storage Các ví dụ về dịch vụ object storage trong các nền tảng đám mây bao gồm Amazon S3 (Simple Storage Service), Google Cloud Storage, và Azure Blob Storage Object storage được sử dụng rộng rãi trong các ứng dụng web, lưu trữ dữ liệu lớn, sao lưu dự phòng, lưu trữ
đa phương tiện, và nhiều trường hợp sử dụng khác trong lĩnh vực công nghệ thông tin và công nghiệp
III.2 Dịch vụ điện toán:
Tương tự như các hệ thống lưu trữ, có khá nhiều tùy chọn điện toán, mỗi tùy chọn đều có những lợi ích và hạn chế riêng Mỗi tùy chọn này cho phép bạn thể hiện công việc tính toán cần thực hiện bằng cách sử dụng các lớp trừu tượng khác nhau, từ cấp thấp nhất (làm việc với máy ảo) cho đến một hàm JavaScript duy nhất chạy trên đám mây Google
III.2.1 Compute Engine: máy ảo.
Google Computer Engine (GCE) là thành phần Cơ sở hạ tầng dưới dạng dịch vụ (IaaS) của Google Cloud Platform, được xây dựng trên cơ sở hạ tầng toàn cầu chạy công cụ tìm kiếm của Google, Gmail, YouTube và các dịch vụ khác Google Computer Engine cho phép người dùng khởi chạy máy ảo (VM) theo yêu cầu Máy ảo có thể được khởi chạy từ hình ảnh tiêu chuẩn hoặc hình ảnh tùy chỉnh do người dùng tạo Người dùng GCE phải xác thực dựa trên OAuth 2.0 trước khi khởi chạy VM Bạn có thể truy cập Google Computer Engine thông qua Bảng điều khiển dành cho nhà phát triển, API RESTful hoặc giao diện dòng lệnh (CLI)
10
Trang 15Google Computer Engine sử dụng KVM làm trình ảo hóa và hỗ trợ các hình ảnh khách chạy Linux và Microsoft Windows được sử dụng để khởi chạy các máy ảo dựa trên kiến trúc 64bit x86 Máy ảo khởi động từ một đĩa liên tục
có hệ thống tập tin gốc Số lượng CPU ảo, dung lượng bộ nhớ được VM hỗ trợ tùy thuộc vào loại máy được chọn
Một số loại máy ảo và giá thành mà bạn có thể chọn để phù hợp với nhu cầu của mình:
<Google compute engine – Wikipedia>
III.2.2 Kubernetes Engine: quản lí Kubernetes clusters
Google Kubernetes Engine (GKE), một dịch vụ Kubernetes được quản lý
mà bạn có thể sử dụng để triển khai và vận hành các ứng dụng trong vùng chứa trên quy mô lớn bằng cơ sở hạ tầng của Google Trang này dành cho các quản trị
Trang 16viên nền tảng đang tìm kiếm giải pháp Kubernetes được quản lý, tự động hóa và
Các ứng dụng đáng tin cậy dưới tải nặng
Môi trường GKE bao gồm các node, là các máy ảo (VM) của Computing Engine, được nhóm lại với nhau để tạo thành một cụm Bạn đóng gói các ứng dụng của mình (còn gọi là khối lượng công việc) vào các vùng chứa Bạn triển khai các bộ vùng chứa dưới dạng Pod cho các nút của mình Bạn sử dụng API Kubernetes để tương tác với khối lượng công việc của mình, bao gồm quản trị,
mở rộng quy mô và giám sát
III.2.3 App Engine: fully managed applications
Google App Engine (thường được gọi bằng từ viết tắt GAE hoặc đơn giản
là App Engine) là một nền tảng điện toán đám mây đóng vai trò là dịch vụ phát triển và lưu trữ các ứng dụng web trong các trung tâm dữ liệu do Google quản
lý Các ứng dụng được đóng hộp cát và chạy trên nhiều máy chủ App Engine cung cấp tính năng tự động mở rộng quy mô cho các ứng dụng web, khi số lượng yêu cầu đối với một ứng dụng tăng lên, App Engine sẽ tự động phân bổ nhiều tài nguyên hơn cho ứng dụng web để xử lý nhu cầu bổ sung
12
Trang 17Google App Engine chủ yếu hỗ trợ các ứng dụng Go, PHP, Java, Python, Node.js, NET và Ruby, mặc dù nó cũng có thể hỗ trợ các ngôn ngữ khác thông qua "thời gian chạy tùy chỉnh" Dịch vụ này được cung cấp miễn phí ở một mức tài nguyên tiêu thụ nhất định và chỉ trong môi trường tiêu chuẩn; nó không có sẵn trong môi trường linh hoạt.
III.2.4 Cloud Functions: serverless applications.
Google Cloud Functions là môi trường thực thi không có máy chủ để xây dựng và kết nối các dịch vụ đám mây Với Chức năng đám mây, bạn viết các hàm đơn giản, có mục đích duy nhất được gắn vào các sự kiện phát ra từ cơ sở
hạ tầng và dịch vụ đám mây của bạn Chức năng của bạn được kích hoạt khi một
sự kiện đang được theo dõi được kích hoạt Mã của bạn thực thi trong môi trường được quản lý hoàn toàn Không cần phải cung cấp bất kỳ cơ sở hạ tầng nào hoặc lo lắng về việc quản lý bất kỳ máy chủ nào
Bạn có thể viết Hàm đám mây bằng một số ngôn ngữ lập trình được hỗ trợ Bạn có thể lấy hàm của mình và chạy nó trong bất kỳ môi trường thời gian chạy tiêu chuẩn nào cho một trong các ngôn ngữ được hỗ trợ, điều này giúp cho
Trang 18năng đám mây của bạn.
Webhook
Thông qua trình kích hoạt HTTP đơn giản, hãy phản hồicác sự kiện bắt nguồn từ hệ thống của bên thứ 3 như GitHub, Slack, Stripe hoặc từ bất kỳ nơi nào có thể gửi yêu cầu HTTP
API nhẹ
Soạn thảo các ứng dụng từ các phần logic nhẹ, được ghép nối lỏng lẻo, có thể xây dựng nhanh chóng và mở rộng quy mô ngay lập tức Các hàm của bạn có thể được điều khiển theo sự kiện hoặc được gọi trực tiếp qua HTTP/S
Phụ trợ di
động
Sử dụng nền tảng di động của Google dành cho nhà pháttriển ứng dụng, Firebase và viết phần phụ trợ di động của bạn trong Cloud Functions Lắng nghe và phản hồi các sự kiện từ Firebase Analytics, Cơ sở dữ liệu thời gian thực, Xác thực và Lưu trữ
Iot
Hãy tưởng tượng hàng chục hoặc hàng trăm nghìn thiết
bị truyền dữ liệu vào Pub/Sub, từ đó khởi chạy Chức năng đám mây để xử lý, chuyển đổi và lưu trữ dữ liệu Cloud Functions cho phép bạn thực hiện điều đó theo cách hoàn toàn không có máy chủ
III.2.5 Cloud DNS: Managed DNS hosting
Google Cloud DNS là một dịch vụ được quản lý, hoạt động như một máy chủ DNS và có thể trả lời các truy vấn DNS giống như các máy chủ khác, chẳnghạn như BIND Một lý do đơn giản để sử dụng dịch vụ này là để quản lý các mục DNS của riêng bạn mà không cần chạy máy chủ BIND của riêng bạn Một
14
Trang 19lý do thú vị khác là để lộ một API cho phép tự động quản lý các mục DNS Ví dụ: với API để quản lý các mục DNS, bạn có thể định cấu hình máy ảo để tự động đăng ký mục DNS mới khi khởi động, cung cấp cho bạn những cái tên thân thiện như server1.mydomain.com Khả năng này rất quan trọng vì BIND, mặc dù đã được thử nghiệm qua nhiều năm và được chứng minh là khá đáng tin cậy, nhưng lại hơi bất tiện khi chạy và bảo trì cũng như không hỗ trợ API hiện đại để thực hiện các thay đổi đối với bản ghi DNS Thay vào đó, việc cập nhật bản ghi liên quan đến việc sửa đổi các tệp trên máy chạy dịch vụ BIND, sau đó tải lại nội dung vào bộ nhớ của quy trình Cloud DNS hoạt động như thế nào?
Để bắt đầu, giống như hệ thống DNS, Google Cloud DNS cung cấp các tài nguyên giống như BIND: vùng (được gọi là “vùng được quản lý”) và bản ghi (được gọi là “bộ bản ghi tài nguyên”) Mỗi bộ bản ghi chứa các mục DNS, tương tự như trong máy chủ DNS thực sự như BIND Mỗi vùng chứa một tập hợp các bộ bản ghi và mỗi bộ bản ghi chứa một tập hợp các bản ghi Những bản ghi này là nơi lưu trữ dữ liệu hữu ích, trong khi các tài nguyên khác tập trung vào việc phân loại dữ liệu này
Trang 20Trong trường hợp một vùng được xác định không gì khác ngoài tên (ví dụ:mydomain.com), bộ bản ghi sẽ lưu trữ tên (ví dụ: www.mydomain.com), “type” (chẳng hạn như A hoặc CNAME) và “time to live” (viết tắt là ttl), hướng dẫn khách hàng về thời gian lưu trữ những bản ghi này Chúng có khả năng lưu trữ nhiều bản ghi cho một loại và tên miền phụ nhất định Ví dụ: cấu trúc này cho phép lưu trữ một số địa chỉ IP cho www.mydomain.com bằng cách đặt nhiều bảnghi trong bộ bản ghi loại A.
III.3 Học máy (Machine learning).
Một trong những lĩnh vực nghiên cứu thú vị nhất hiện nay là thế giới máy học và trí tuệ nhân tạo, vì vậy không có gì ngạc nhiên khi Google đã đầu tư khá nhiều để đảm bảo ML hoạt động trên Google Cloud Platform Trong phần này, chúng ta sẽ tìm hiểu các API cấp cao có sẵn để giải quyết một số vấn đề về học máy truyền thống hơn (chẳng hạn như xác định vật thể trong ảnh hoặc dịch văn
16
Trang 21bản giữa các ngôn ngữ) Chúng ta sẽ kết thúc bằng cách xem xét việc học máy tổng quát bằng cách sử dụng TensorFlow và Cloud Machine Learning Engine đểxây dựng các mô hình ML của riêng bạn trên đám mây.
III.3.1 Cloud Vision: image recognition
Hiện nay, hàng tỷ hình ảnh được chia sẻ trực tuyến mỗi ngày, vì vậy công việc phân loại và gắn thẻ cho từng hình ảnh sẽ khó thực hiện thủ công Nghiên cứu về 'thị giác máy tính' và công nghệ nhận dạng hình ảnh đã được tiến hành ngay từ những năm 1960, nhưng những tiến bộ gần đây về trí tuệ nhân tạo và học máy đã mang lại tiến bộ to lớn trong lĩnh vực này, nhất là nhờ vào Google Cloud Vision API
Google Cloud Vision sẽ không chỉ xác định chủ thể của hình ảnh là đàn ông hay phụ nữ, mèo hay chó, thuyền hay máy bay - nó thậm chí còn có thể xác định xem một người đang vui hay buồn hay liệu một người có đang vui hay không hình ảnh phù hợp với Tìm kiếm An Toàn của Google Google Cloud Vision API là một công cụ rất mạnh có thể mang đến cho cuộc sống các khả năng ứng dụng vô tận khi kết hợp với thư viện Python Vision API là mô hình được đào tạo trước của Google, giúp phát hiện các đối tượng, nhận dạng khuôn mặt, nhận dạng hình ảnh, phân loại, gán nhãn và trích xuất văn bản của văn bản
in hoặc hình ảnh chữ viết tay Ngoài các tính năng trên, Vision API còn một tính năng rất thực tế và thú vị đó là cho phép bạn phát hiện nội dung không lành mạnh của hình ảnh Vision API cho phép các nhà phát triển tích hợp các tính năng thú vị vào các ứng dụng dễ dàng
Trang 22Các nhà phát triển có thể tận dụng API Google Cloud Vision và dễ dàng tích hợp khả năng nhận dạng hình ảnh với phần mềm của họ, bao gồm:
Phát hiện nhãn và thực thể: giúp xác định đối tượng chiếm ưu thế
trong hình ảnh Điều này có thể được sử dụng để xây dựng siêu dữ liệutrên danh mục hình ảnh của bạn, cho phép tìm kiếm dựa trên hình ảnh
Nhận dạng ký tự quang học (OCR): để hiểu văn bản trong hình ảnh.
Google Cloud Vision cũng có thể tự động xác định nhiều loại ngônngữ khác nhau
18
Trang 23Phát hiện Tìm kiếm an toàn: để phát hiện nội dung không phù hợp
trong hình ảnh Điều này đặc biệt hữu ích cho nội dung có nguồn gốc
từ cộng đồng
Tính năng phát hiện khuôn mặt: giúp chọn ra các khuôn mặt trong
ảnh, bao gồm các đặc điểm trên khuôn mặt như vị trí mũi, mắt vàmiệng Điều này cũng cho phép nó xác định cảm xúc
Phát hiện mốc: cùng với việc xác định vĩ độ và kinh độ liên quan Phát hiện logo: để có thể nhận biết logo sản phẩm và thương hiệu
trong một hình ảnh
Phát hiện web: Web Detection phát hiện các tham chiếu Web đến một
hình ảnh Tìm kiếm trên web cho nhãn gợi ý là tốt nhất
III.3.2 Cloud Natural Language: text analysis
API ngôn ngữ tự nhiên của Google Cloud là một dịch vụ dựa trên đám mây do Google Cloud Platform cung cấp, cho phép các nhà phát triển tích hợp
Trang 24khả năng xử lý ngôn ngữ tự nhiên (NLP) vào ứng dụng của họ API cung cấp các mô hình máy học được đào tạo trước để có thể phân tích và trích xuất thông tin chi tiết từ dữ liệu văn bản, bao gồm phân tích cảm tính, nhận dạng thực thể, phân tích cú pháp, v.v Nó được thiết kế để giúp các nhà phát triển dễ dàng kết hợp các chức năng NLP hơn mà không cần phải xây dựng và đào tạo các mô hình từ đầu.
Các trường hợp sử dụng hàng đầu của API ngôn ngữ tự nhiên trong GCP:
Phân tích tình cảm: API có thể xác định tình cảm hoặc giọng điệu
cảm xúc của văn bản, giúp doanh nghiệp đánh giá dư luận, phản hồicủa khách hàng và tình cảm trên mạng xã hội
20
Trang 25Nhận dạng thực thể: API có thể xác định và phân loại các thực thể
được đặt tên như tên người, tổ chức, địa điểm, v.v trong tài liệu vănbản
Phân tích cú pháp: Nó có thể phân tích cấu trúc ngữ pháp của câu,
bao gồm gắn thẻ thành phần lời nói, phân tích cú pháp và phân tíchphụ thuộc, cung cấp thông tin chuyên sâu về thành phần câu
Phân loại văn bản: API hỗ trợ các tác vụ phân loại văn bản trong đó
tài liệu văn bản được gán cho các danh mục được xác định trước, giúpích cho việc phân loại chủ đề và lọc nội dung
Phân tích tình cảm thực thể: Tính năng này kết hợp nhận dạng thực
thể và phân tích tình cảm để xác định tình cảm liên quan đến các thựcthể cụ thể được đề cập trong văn bản
Đề xuất nội dung: API có thể giúp đề xuất nội dung hoặc sản phẩm có
liên quan cho người dùng dựa trên phân tích các tương tác hoặc sởthích văn bản của họ
Chatbot và Trợ lý ảo: Việc tích hợp API với chatbot hoặc trợ lý ảo
cho phép chúng hiểu và trả lời các truy vấn của người dùng một cáchthông minh và theo ngữ cảnh hơn
Giám sát thương hiệu: Doanh nghiệp có thể theo dõi và phân tích nội
dung trực tuyến để hiểu cách thương hiệu của họ được nhìn nhận vàthảo luận trên nhiều nền tảng khác nhau
Kiểm soát chất lượng dịch ngôn ngữ: API có thể hỗ trợ đánh giá chất
lượng văn bản được dịch bằng máy bằng cách phân tích ngữ pháp, cúpháp và cảm xúc
Trang 26Phân tích phương tiện truyền thông xã hội: Phân tích các bài đăng,
nhận xét và đánh giá trên phương tiện truyền thông xã hội bằng APIgiúp doanh nghiệp hiểu được ý kiến, xu hướng và cảm xúc của kháchhàng
API ngôn ngữ tự nhiên của Google Cloud là một công cụ mạnh mẽ cho các ứng dụng NLP khác nhau, cung cấp các mô hình được đào tạo trước có thể
dễ dàng tích hợp vào các ứng dụng web và thiết bị di động thông qua API RESTful Nó phù hợp cho các nhà phát triển muốn bổ sung khả năng NLP vào các dự án của họ mà không cần phải có chuyên môn sâu về học máy hoặc đào tạo mô hình
Kiến trúc và cách thức hoạt động của API ngôn ngư tự nhiên trong GCP:
1 Gửi yêu cầu: Để sử dụng API ngôn ngữ tự nhiên của Google Cloud,
nhà phát triển gửi yêu cầu có nội dung văn bản đến điểm cuối API
22