Truyền dữ liệu dạng luồng là dòng chảy dữ liệu liên tục và ổn định, thường với khối lượng lớn. Một trong những khía cạnh quan trọng nhất của luồng dữ liệu là tính nhạy thời gian. Vì vậy, sau một khoảng thời gian nhất định, nội dung của một luồng dữ liệu có thể trở nên kém liên quan hơn.
Điều này có nghĩa là các công ty có thể thu được giá trị to lớn từ phân tích và thông tin chi tiết theo thời gian thực từ các luồng dữ liệu của họ. Đây là lúc kiến trúc truyền dữ liệu chuyên biệt phát huy tác dụng. Một trong những lựa chọn phổ biến và mạnh mẽ nhất cho truyền dữ liệu là AWS Kinesis.
Trong bài viết này, chúng tôi giới thiệu AWS Kinesis và khám phá hai dịch vụ cốt lõi thuộc nhóm Kinesis: Kinesis Data Streams và Kinesis Video Streams. Ở cuối bài, chúng tôi cũng so sánh những khác biệt chính giữa hai dịch vụ truyền dữ liệu: AWS Kinesis và Apache Kafka (và Amazon MSK).
Nếu bạn mới bắt đầu với AWS, hãy xem khóa học AWS nhập môn sẽ giúp bạn nắm các khái niệm cơ bản đằng sau nhà cung cấp đám mây hàng đầu hiện nay.
AWS Kinesis là gì?
Amazon Kinesis được ra mắt năm 2013 nhằm phản ứng với xu hướng thị trường chuyển dịch sang thu nạp và phân tích dữ liệu theo thời gian thực.
Tuy nhiên, AWS tiến xa hơn khi Amazon Kinesis có thể xử lý các luồng dữ liệu lớn trong một dịch vụ hoàn toàn do nhà cung cấp quản lý, có khả năng mở rộng và dựa trên đám mây.
Trong những năm sau khi phát hành, AWS đã mở rộng các dịch vụ thuộc Amazon Kinesis. Điều này bắt đầu với việc ra mắt Amazon Kinesis Data Firehose vào tháng 10/2015 và sau đó là Amazon Kinesis Data Analytics vào tháng 8/2016.
Ban đầu, AWS chỉ cung cấp dịch vụ Kinesis Data Streams để xử lý và phân tích lượng dữ liệu lớn theo thời gian thực. Mãi đến năm 2017, AWS mới giới thiệu Kinesis Video Streams để thu nhận, xử lý và lưu trữ luồng video.
Tuy vậy, Amazon Kinesis tiếp tục phát triển và thay đổi qua các năm. Đến hiện tại, chỉ còn lại hai dịch vụ cốt lõi: Kinesis Data Streams và Kinesis Video Streams. Chúng tôi sẽ bàn chi tiết hơn về các thay đổi này ở phần sau trong mục này.

Nguồn: AWS
Amazon Kinesis được dùng để làm gì?
Amazon Kinesis được thiết kế cho truyền dữ liệu theo thời gian thực.
Điều này có nghĩa là bất kỳ tổ chức nào muốn khai thác khối lượng lớn dữ liệu theo thời gian thực (hoặc gần thời gian thực) đều sẽ hưởng lợi rất nhiều từ Amazon Kinesis.
Dưới đây là một số trường hợp sử dụng mà Amazon Kinesis phù hợp nhất:
- Truyền log và dữ liệu sự kiện từ một hoặc nhiều nguồn. Dữ liệu từ ứng dụng, máy chủ và thiết bị có thể được thu nạp theo thời gian thực.
- Thu thập luồng video từ thiết bị có camera. Ví dụ hệ thống giám sát gia đình và doanh nghiệp, camera đèn giao thông, v.v.
- Phân tích dữ liệu luồng theo thời gian thực. Chẳng hạn các trường hợp phát hiện gian lận có tính nhạy thời gian cao và phụ thuộc vào kiến trúc truyền dữ liệu vững chắc.

Ví dụ trường hợp sử dụng Amazon Kinesis Video Streams (Nguồn: AWS)
Những thay đổi gần đây đối với các dịch vụ Amazon Kinesis
Đáp lại phản hồi của người dùng, AWS gần đây đã thực hiện một vài thay đổi đối với các dịch vụ của mình.
Amazon Kinesis Data Analytics > Amazon Managed Service for Apache Flink
Amazon Kinesis Data Analytics được đổi tên thành Amazon Managed Service for Apache Flink (MSF) vào ngày 30 tháng 8 năm 2023.
Không chỉ vậy, hỗ trợ cho Amazon Kinesis Data Analytics dành cho ứng dụng SQL sẽ bị ngừng trong tương lai. Khách hàng sẽ cần chuyển ứng dụng của mình sang MSF cho các ứng dụng dựa trên SQL.
MSF là dịch vụ không máy chủ, do nhà cung cấp quản lý hoàn toàn để xây dựng và chạy các ứng dụng truyền dữ liệu thời gian thực bằng Apache Flink. MSF hỗ trợ SQL cùng các ngôn ngữ lập trình khác như Java và Scala.
Amazon Kinesis Data Firehose > Amazon Data Firehose
Ngày 9 tháng 2 năm 2024, AWS thông báo đổi tên Amazon Kinesis Data Firehose thành Amazon Data Firehose.
AWS thực hiện thay đổi này để phản ánh sự gia tăng các nguồn dữ liệu và đầu nối trong Amazon Data Firehose. Bên cạnh Amazon Kinesis Data Streams, đã bổ sung hỗ trợ tích hợp cho Amazon MSK và hơn 40 đầu nối nguồn và đích khác của AWS.
AWS Kinesis Data Streams
AWS Kinesis Data Streams là dịch vụ chủ lực của Amazon trong nhóm Amazon Kinesis.
Trong phần này, chúng ta sẽ tìm hiểu dịch vụ này và các trường hợp sử dụng phù hợp nhất.
Kinesis Data Streams là gì?
Kinesis Data Streams có thể liên tục thu nạp khối lượng dữ liệu lớn (tốc độ hàng gigabyte mỗi giây) để phục vụ các trường hợp phân tích thời gian thực.
Ngoài việc tích hợp hoàn toàn với các dịch vụ AWS khác, dưới đây là một vài tính năng nổi bật của Kinesis Data Streams:
- Dịch vụ không máy chủ (serverless), nên không cần cấp phát hay quản lý máy chủ trước, giúp giảm chi phí ban đầu khi bắt đầu với truyền dữ liệu.
- Với Kinesis, thu thập dữ liệu tách biệt với xử lý dữ liệu. Sự tách biệt này giúp ứng dụng dễ dàng thích ứng với thông tin thay đổi nhanh chóng.
- Kinesis Data Streams có thể ghi nhận khối lượng lớn dữ liệu trong mili giây, khiến đây trở thành một giải pháp độ trễ thấp tuyệt vời.
- Bạn có thể lựa chọn giữa chế độ dung lượng theo yêu cầu và cấp phát trước để phù hợp với yêu cầu truyền dữ liệu của mình.
- Kinesis Data Streams vừa an toàn vừa tuân thủ. Dữ liệu có thể được mã hóa và bảo vệ khi lưu trữ để đảm bảo an ninh tối đa.
Amazon Kinesis Data Streams gồm ba thành phần chính: shard, producer và consumer. Hãy cùng phân tích bằng ví dụ thực tế về hệ thống phân tích luồng cho một website thương mại điện tử.
Shard
Shard là đơn vị trong Kinesis quyết định lượng dữ liệu có thể được xử lý tại một thời điểm.
Ví dụ, nếu website thương mại điện tử xử lý 100 giao dịch mỗi giây, có thể cần nhiều shard để xử lý mượt mà dữ liệu đến. Mỗi shard xử lý tối đa 1 MB dữ liệu vào mỗi giây, nên khi lưu lượng tăng đột biến, thêm shard sẽ đảm bảo dữ liệu được xử lý hiệu quả.
Producer
Producer là bất kỳ hệ thống nào gửi dữ liệu vào luồng Kinesis.
Chẳng hạn, trang thương mại điện tử tạo log thời gian thực mỗi khi người dùng thêm sản phẩm vào giỏ, hoàn tất mua hàng hoặc để lại đánh giá. Mỗi sự kiện này được gửi như một bản ghi dữ liệu vào Kinesis.
Consumer
Consumer là bất kỳ ứng dụng hay hệ thống nào đọc dữ liệu từ luồng Kinesis và xử lý nó. Ví dụ:
- Hệ thống phát hiện gian lận phân tích giao dịch đến theo thời gian thực để gắn cờ hoạt động đáng ngờ.
- Bảng điều khiển cập nhật trực tiếp chỉ số doanh số cho quản lý cửa hàng.
- Công cụ gợi ý sản phẩm cho người dùng dựa trên hoạt động gần đây.
Hãy xem cách chúng tương tác qua một ví dụ:
- Khách hàng thêm sản phẩm vào giỏ → Sự kiện được gửi tới Kinesis (Producer)
- Sự kiện đi vào một shard (tùy theo tải lưu lượng)
- Một ứng dụng consumer đọc sự kiện → Cập nhật hệ thống tồn kho, kích hoạt mô hình AI gợi ý, hoặc gắn cờ rủi ro gian lận
Kinesis Data Streams được dùng để làm gì?
Kinesis Data Streams phù hợp nhất với các ứng dụng cần xử lý dữ liệu nhanh theo thời gian thực.
Ví dụ, giả sử bạn có ứng dụng hoặc thiết bị tạo log hay nguồn cấp dữ liệu. Bạn sẽ dùng Kinesis Data Streams để thu nạp luồng dữ liệu này và áp dụng xử lý hay chuyển đổi, như tính toán một số chỉ số hoặc phân tích theo thời gian thực. Sau đó, bạn có thể đẩy dữ liệu đã xử lý vào kho dữ liệu để sử dụng sau.
Đây chỉ là một ví dụ phổ biến về sự hữu ích của Kinesis Data Streams.
AWS Kinesis Video Streams
AWS Video Streams là dịch vụ Amazon Kinesis mới hơn, với những ứng dụng mạnh mẽ cho nhiều loại dữ liệu media.
Trong phần này, chúng ta tìm hiểu dịch vụ này và các ứng dụng phù hợp nhất.
Kinesis Video Streams là gì?
Kinesis Video Streams cho phép bạn thu nạp khối lượng lớn dữ liệu media được mã hóa theo thời gian từ các thiết bị kết nối.
Cụ thể hơn, dữ liệu mã hóa theo thời gian là dạng dữ liệu media mà các bản ghi có liên hệ với nhau theo chuỗi thời gian. Video và âm thanh đều là ví dụ của dữ liệu mã hóa theo thời gian vì mỗi khung hình hoặc chuỗi trong dữ liệu này liên quan đến khung trước và sau nó.

Amazon Kinesis Video Streaming (Nguồn: AWS)
Lưu ý rằng Kinesis Video Streams chỉ xử lý thu nạp và lưu trữ dữ liệu media. Việc xử lý và phân tích phải diễn ra ở dịch vụ khác. Ví dụ như Amazon Rekognition Video hoặc Amazon SageMaker cho các ứng dụng máy học.
Xem hướng dẫn đầy đủ về Amazon SageMaker để bắt đầu xây dựng ứng dụng máy học trên AWS.
Kinesis Video Streams được dùng để làm gì?
Kết nối và truyền media lên AWS bằng Kinesis Video Streams rất dễ dàng (và an toàn). Có các SDK và API thời gian thực được xây dựng riêng cho Amazon Kinesis.
Điều này có nghĩa là bạn có thể bắt đầu nhanh chóng và dễ dàng với Amazon Kinesis Video Streams cho các ứng dụng truyền media.
Một trong những mục đích phổ biến nhất của luồng video là xây dựng ứng dụng máy học thị giác máy tính theo thời gian thực. Chúng có thể dùng trong nhiều lĩnh vực như an ninh và giám sát, nhà thông minh, ứng phó khẩn cấp đô thị, v.v.
Giá AWS Kinesis
Một trong những điều tuyệt vời về AWS là mô hình định giá trả tiền theo mức sử dụng. Phần lớn, nếu không muốn nói là tất cả, dịch vụ AWS đều áp dụng mô hình này và AWS Kinesis cũng vậy.
Không có chi phí trả trước hay mức phí tối thiểu. Bạn chỉ trả tiền cho tài nguyên bạn sử dụng.
Hãy cùng điểm qua cách tính giá cho AWS Kinesis và cách áp dụng một số thực tiễn tốt nhất để tối ưu chi phí.
Tổng quan về giá
Hai dịch vụ cốt lõi trong AWS Kinesis, Kinesis Data Streams và Kinesis Video Streams, có chi phí và tùy chọn thanh toán khác nhau tùy theo cách bạn thiết lập dịch vụ.
Kinesis Data Streams có hai chế độ dung lượng, mỗi chế độ có chi phí khác nhau. Tóm tắt ngắn gọn:
- Theo yêu cầu: Bạn bị tính phí theo khối lượng dữ liệu thu nạp và truy xuất, cũng như mức phí theo giờ cho mỗi luồng dữ liệu bạn tạo trong tài khoản AWS.
- Cấp phát trước: Với chế độ dung lượng cấp phát, bạn phải chỉ định số lượng shard cần cho ứng dụng và sẽ bị tính phí theo giờ cho mỗi shard.
Chế độ dung lượng theo yêu cầu linh hoạt và đơn giản hơn, phù hợp khi bạn mới bắt đầu với Kinesis Data Streams.
Tuy nhiên, khi ứng dụng đạt đến mức lưu lượng có thể dự đoán và dễ ước lượng hơn, chế độ dung lượng cấp phát có thể là lựa chọn tiết kiệm chi phí hơn.
Kinesis Video Streams cung cấp tùy chọn định giá linh hoạt theo yêu cầu dựa trên ba yếu tố:
- Khối lượng dữ liệu bạn thu nạp (tính bằng gigabyte).
- Khối lượng dữ liệu bạn tiêu thụ (tính bằng gigabyte).
- Khối lượng dữ liệu bạn lưu trữ trong một tháng (tính bằng gigabyte).
Mẹo và thực tiễn tốt nhất để tối ưu chi phí
Cả Kinesis Data Streams và Kinesis Video Streams đều không có trong AWS Free Tier. Điều này có nghĩa là bạn sẽ bị tính phí ngay khi thiết lập một trong các luồng này trên AWS.
Tuy nhiên, có một số thực tiễn tốt và vài mẹo bạn có thể làm theo khi thiết lập AWS Kinesis cho ứng dụng để giữ chi phí thấp.
Để tối ưu chi phí, dưới đây là ba mẹo hàng đầu nên áp dụng:
- Chuyển sang chế độ dung lượng cấp phát ngay khi lưu lượng trở nên có thể dự đoán. Mặc dù chế độ theo yêu cầu giúp loại bỏ việc giám sát và quản lý shard, nhưng có thể tốn kém hơn nhiều.
- Bạn có thể dễ dàng chuyển đổi giữa chế độ theo yêu cầu và cấp phát dựa trên mẫu lưu lượng. Ví dụ, nếu bạn dự đoán tăng đột biến trong một số khung giờ nhất định, bạn có thể chuyển sang theo yêu cầu rồi chuyển lại chế độ cấp phát khi lưu lượng ổn định hơn. Tuy nhiên hãy cẩn trọng, bạn chỉ có thể thực hiện chuyển đổi này tối đa hai lần trong 24 giờ.
- Thiết lập chính sách lưu giữ dữ liệu từ sớm. Kinesis Data Streams không được thiết kế cho lưu trữ dài hạn. Bạn sẽ bị tính phí cho dữ liệu lưu trữ quá 24 giờ (lưu trữ miễn phí trong 24 giờ đầu).
AWS Kinesis vs Kafka
Amazon Managed Streaming for Apache Kafka (Amazon MSK) là một dịch vụ truyền dữ liệu phổ biến khác do AWS cung cấp.
Bạn có thể xem hướng dẫn toàn diện cho người mới bắt đầu về Amazon MSK trong một bài viết riêng, cũng như hướng dẫn về Kafka.
Khi so sánh Amazon MSK với Kinesis, có rất nhiều điểm trùng lặp. Cả hai đều cung cấp giải pháp truyền dữ liệu có khả năng mở rộng, bảo mật và sẵn sàng cao.
Sự khác biệt thực sự khi quyết định dùng dịch vụ nào phụ thuộc vào sở thích, yêu cầu và hạ tầng hiện có của bạn.
Nếu bạn đã dùng Apache Kafka, bạn có thể hưởng lợi khi chuyển sang giải pháp đám mây được quản lý hoàn toàn như Amazon MSK. Tương tự, nếu đội ngũ của bạn quen thuộc với Apache Kafka, thì Amazon MSK sẽ phù hợp hơn Amazon Kinesis.
Ngược lại, nếu bạn chưa có hạ tầng truyền dữ liệu, Amazon Kinesis có thể thân thiện với người mới bắt đầu và dễ tiếp cận hơn.
Kết luận
Phân tích dữ liệu theo thời gian thực ngày càng phổ biến và quan trọng đối với nhiều ngành và doanh nghiệp. Để đạt được điều này, cần thiết lập hệ thống truyền dữ liệu tốt có thể xử lý lượng dữ liệu lớn mà không bị trễ hay gián đoạn.
AWS đã nhận thấy nhu cầu gia tăng này từ năm 2013 và tiếp tục phát triển, tinh chỉnh một trong những giải pháp truyền dữ liệu tốt nhất của họ: Amazon Kinesis. Ngày nay, Amazon Kinesis là giải pháp hàng đầu để thu nạp và xử lý luồng dữ liệu với tốc độ ấn tượng.
Nếu bạn mới với AWS, hãy bắt đầu với khóa học thân thiện cho người mới để tìm hiểu thêm về AWS và các dịch vụ của họ. Nếu bạn sẵn sàng bắt đầu sự nghiệp với các dịch vụ đám mây như AWS, hãy xem bài viết về chứng chỉ AWS và cách chọn chứng chỉ phù hợp nhất với mục tiêu của bạn. Sau đó, tiến thêm bước nữa bằng cách chuẩn bị cho buổi phỏng vấn và luyện tập các câu hỏi phỏng vấn AWS hàng đầu.
Truyền dữ liệu dạng luồng là dòng chảy dữ liệu liên tục và ổn định, thường với khối lượng lớn. Một trong những khía cạnh quan trọng nhất của luồng dữ liệu là tính nhạy thời gian. Vì vậy, sau một khoảng thời gian nhất định, nội dung của một luồng dữ liệu có thể trở nên kém liên quan hơn.
Điều này có nghĩa là các công ty có thể thu được giá trị to lớn từ phân tích và thông tin chi tiết theo thời gian thực từ các luồng dữ liệu của họ. Đây là lúc kiến trúc truyền dữ liệu chuyên biệt phát huy tác dụng. Một trong những lựa chọn phổ biến và mạnh mẽ nhất cho truyền dữ liệu là AWS Kinesis.
Trong bài viết này, chúng tôi giới thiệu AWS Kinesis và khám phá hai dịch vụ cốt lõi thuộc nhóm Kinesis: Kinesis Data Streams và Kinesis Video Streams. Ở cuối bài, chúng tôi cũng so sánh những khác biệt chính giữa hai dịch vụ truyền dữ liệu: AWS Kinesis và Apache Kafka (và Amazon MSK).
Nếu bạn mới bắt đầu với AWS, hãy xem khóa học AWS nhập môn sẽ giúp bạn nắm các khái niệm cơ bản đằng sau nhà cung cấp đám mây hàng đầu hiện nay.
AWS Kinesis là gì?
Amazon Kinesis được ra mắt năm 2013 nhằm phản ứng với xu hướng thị trường chuyển dịch sang thu nạp và phân tích dữ liệu theo thời gian thực.
Tuy nhiên, AWS tiến xa hơn khi Amazon Kinesis có thể xử lý các luồng dữ liệu lớn trong một dịch vụ hoàn toàn do nhà cung cấp quản lý, có khả năng mở rộng và dựa trên đám mây.
Trong những năm sau khi phát hành, AWS đã mở rộng các dịch vụ thuộc Amazon Kinesis. Điều này bắt đầu với việc ra mắt Amazon Kinesis Data Firehose vào tháng 10/2015 và sau đó là Amazon Kinesis Data Analytics vào tháng 8/2016.
Ban đầu, AWS chỉ cung cấp dịch vụ Kinesis Data Streams để xử lý và phân tích lượng dữ liệu lớn theo thời gian thực. Mãi đến năm 2017, AWS mới giới thiệu Kinesis Video Streams để thu nhận, xử lý và lưu trữ luồng video.
Tuy vậy, Amazon Kinesis tiếp tục phát triển và thay đổi qua các năm. Đến hiện tại, chỉ còn lại hai dịch vụ cốt lõi: Kinesis Data Streams và Kinesis Video Streams. Chúng tôi sẽ bàn chi tiết hơn về các thay đổi này ở phần sau trong mục này.
Nguồn: AWS
Amazon Kinesis được dùng để làm gì?
Amazon Kinesis được thiết kế cho truyền dữ liệu theo thời gian thực.
Điều này có nghĩa là bất kỳ tổ chức nào muốn khai thác khối lượng lớn dữ liệu theo thời gian thực (hoặc gần thời gian thực) đều sẽ hưởng lợi rất nhiều từ Amazon Kinesis.
Dưới đây là một số trường hợp sử dụng mà Amazon Kinesis phù hợp nhất:
Ví dụ trường hợp sử dụng Amazon Kinesis Video Streams (Nguồn: AWS)
Những thay đổi gần đây đối với các dịch vụ Amazon Kinesis
Đáp lại phản hồi của người dùng, AWS gần đây đã thực hiện một vài thay đổi đối với các dịch vụ của mình.
Amazon Kinesis Data Analytics > Amazon Managed Service for Apache Flink
Amazon Kinesis Data Analytics được đổi tên thành Amazon Managed Service for Apache Flink (MSF) vào ngày 30 tháng 8 năm 2023.
Không chỉ vậy, hỗ trợ cho Amazon Kinesis Data Analytics dành cho ứng dụng SQL sẽ bị ngừng trong tương lai. Khách hàng sẽ cần chuyển ứng dụng của mình sang MSF cho các ứng dụng dựa trên SQL.
MSF là dịch vụ không máy chủ, do nhà cung cấp quản lý hoàn toàn để xây dựng và chạy các ứng dụng truyền dữ liệu thời gian thực bằng Apache Flink. MSF hỗ trợ SQL cùng các ngôn ngữ lập trình khác như Java và Scala.
Amazon Kinesis Data Firehose > Amazon Data Firehose
Ngày 9 tháng 2 năm 2024, AWS thông báo đổi tên Amazon Kinesis Data Firehose thành Amazon Data Firehose.
AWS thực hiện thay đổi này để phản ánh sự gia tăng các nguồn dữ liệu và đầu nối trong Amazon Data Firehose. Bên cạnh Amazon Kinesis Data Streams, đã bổ sung hỗ trợ tích hợp cho Amazon MSK và hơn 40 đầu nối nguồn và đích khác của AWS.
AWS Kinesis Data Streams
AWS Kinesis Data Streams là dịch vụ chủ lực của Amazon trong nhóm Amazon Kinesis.
Trong phần này, chúng ta sẽ tìm hiểu dịch vụ này và các trường hợp sử dụng phù hợp nhất.
Kinesis Data Streams là gì?
Kinesis Data Streams có thể liên tục thu nạp khối lượng dữ liệu lớn (tốc độ hàng gigabyte mỗi giây) để phục vụ các trường hợp phân tích thời gian thực.
Ngoài việc tích hợp hoàn toàn với các dịch vụ AWS khác, dưới đây là một vài tính năng nổi bật của Kinesis Data Streams:
Amazon Kinesis Data Streams gồm ba thành phần chính: shard, producer và consumer. Hãy cùng phân tích bằng ví dụ thực tế về hệ thống phân tích luồng cho một website thương mại điện tử.
Shard
Shard là đơn vị trong Kinesis quyết định lượng dữ liệu có thể được xử lý tại một thời điểm.
Ví dụ, nếu website thương mại điện tử xử lý 100 giao dịch mỗi giây, có thể cần nhiều shard để xử lý mượt mà dữ liệu đến. Mỗi shard xử lý tối đa 1 MB dữ liệu vào mỗi giây, nên khi lưu lượng tăng đột biến, thêm shard sẽ đảm bảo dữ liệu được xử lý hiệu quả.
Producer
Producer là bất kỳ hệ thống nào gửi dữ liệu vào luồng Kinesis.
Chẳng hạn, trang thương mại điện tử tạo log thời gian thực mỗi khi người dùng thêm sản phẩm vào giỏ, hoàn tất mua hàng hoặc để lại đánh giá. Mỗi sự kiện này được gửi như một bản ghi dữ liệu vào Kinesis.
Consumer
Consumer là bất kỳ ứng dụng hay hệ thống nào đọc dữ liệu từ luồng Kinesis và xử lý nó. Ví dụ:
Hãy xem cách chúng tương tác qua một ví dụ:
Kinesis Data Streams được dùng để làm gì?
Kinesis Data Streams phù hợp nhất với các ứng dụng cần xử lý dữ liệu nhanh theo thời gian thực.
Ví dụ, giả sử bạn có ứng dụng hoặc thiết bị tạo log hay nguồn cấp dữ liệu. Bạn sẽ dùng Kinesis Data Streams để thu nạp luồng dữ liệu này và áp dụng xử lý hay chuyển đổi, như tính toán một số chỉ số hoặc phân tích theo thời gian thực. Sau đó, bạn có thể đẩy dữ liệu đã xử lý vào kho dữ liệu để sử dụng sau.
Đây chỉ là một ví dụ phổ biến về sự hữu ích của Kinesis Data Streams.
AWS Kinesis Video Streams
AWS Video Streams là dịch vụ Amazon Kinesis mới hơn, với những ứng dụng mạnh mẽ cho nhiều loại dữ liệu media.
Trong phần này, chúng ta tìm hiểu dịch vụ này và các ứng dụng phù hợp nhất.
Kinesis Video Streams là gì?
Kinesis Video Streams cho phép bạn thu nạp khối lượng lớn dữ liệu media được mã hóa theo thời gian từ các thiết bị kết nối.
Cụ thể hơn, dữ liệu mã hóa theo thời gian là dạng dữ liệu media mà các bản ghi có liên hệ với nhau theo chuỗi thời gian. Video và âm thanh đều là ví dụ của dữ liệu mã hóa theo thời gian vì mỗi khung hình hoặc chuỗi trong dữ liệu này liên quan đến khung trước và sau nó.
Amazon Kinesis Video Streaming (Nguồn: AWS)
Lưu ý rằng Kinesis Video Streams chỉ xử lý thu nạp và lưu trữ dữ liệu media. Việc xử lý và phân tích phải diễn ra ở dịch vụ khác. Ví dụ như Amazon Rekognition Video hoặc Amazon SageMaker cho các ứng dụng máy học.
Xem hướng dẫn đầy đủ về Amazon SageMaker để bắt đầu xây dựng ứng dụng máy học trên AWS.
Kinesis Video Streams được dùng để làm gì?
Kết nối và truyền media lên AWS bằng Kinesis Video Streams rất dễ dàng (và an toàn). Có các SDK và API thời gian thực được xây dựng riêng cho Amazon Kinesis.
Điều này có nghĩa là bạn có thể bắt đầu nhanh chóng và dễ dàng với Amazon Kinesis Video Streams cho các ứng dụng truyền media.
Một trong những mục đích phổ biến nhất của luồng video là xây dựng ứng dụng máy học thị giác máy tính theo thời gian thực. Chúng có thể dùng trong nhiều lĩnh vực như an ninh và giám sát, nhà thông minh, ứng phó khẩn cấp đô thị, v.v.
Giá AWS Kinesis
Một trong những điều tuyệt vời về AWS là mô hình định giá trả tiền theo mức sử dụng. Phần lớn, nếu không muốn nói là tất cả, dịch vụ AWS đều áp dụng mô hình này và AWS Kinesis cũng vậy.
Không có chi phí trả trước hay mức phí tối thiểu. Bạn chỉ trả tiền cho tài nguyên bạn sử dụng.
Hãy cùng điểm qua cách tính giá cho AWS Kinesis và cách áp dụng một số thực tiễn tốt nhất để tối ưu chi phí.
Tổng quan về giá
Hai dịch vụ cốt lõi trong AWS Kinesis, Kinesis Data Streams và Kinesis Video Streams, có chi phí và tùy chọn thanh toán khác nhau tùy theo cách bạn thiết lập dịch vụ.
Kinesis Data Streams có hai chế độ dung lượng, mỗi chế độ có chi phí khác nhau. Tóm tắt ngắn gọn:
Chế độ dung lượng theo yêu cầu linh hoạt và đơn giản hơn, phù hợp khi bạn mới bắt đầu với Kinesis Data Streams.
Tuy nhiên, khi ứng dụng đạt đến mức lưu lượng có thể dự đoán và dễ ước lượng hơn, chế độ dung lượng cấp phát có thể là lựa chọn tiết kiệm chi phí hơn.
Kinesis Video Streams cung cấp tùy chọn định giá linh hoạt theo yêu cầu dựa trên ba yếu tố:
Mẹo và thực tiễn tốt nhất để tối ưu chi phí
Cả Kinesis Data Streams và Kinesis Video Streams đều không có trong AWS Free Tier. Điều này có nghĩa là bạn sẽ bị tính phí ngay khi thiết lập một trong các luồng này trên AWS.
Tuy nhiên, có một số thực tiễn tốt và vài mẹo bạn có thể làm theo khi thiết lập AWS Kinesis cho ứng dụng để giữ chi phí thấp.
Để tối ưu chi phí, dưới đây là ba mẹo hàng đầu nên áp dụng:
AWS Kinesis vs Kafka
Amazon Managed Streaming for Apache Kafka (Amazon MSK) là một dịch vụ truyền dữ liệu phổ biến khác do AWS cung cấp.
Bạn có thể xem hướng dẫn toàn diện cho người mới bắt đầu về Amazon MSK trong một bài viết riêng, cũng như hướng dẫn về Kafka.
Khi so sánh Amazon MSK với Kinesis, có rất nhiều điểm trùng lặp. Cả hai đều cung cấp giải pháp truyền dữ liệu có khả năng mở rộng, bảo mật và sẵn sàng cao.
Sự khác biệt thực sự khi quyết định dùng dịch vụ nào phụ thuộc vào sở thích, yêu cầu và hạ tầng hiện có của bạn.
Nếu bạn đã dùng Apache Kafka, bạn có thể hưởng lợi khi chuyển sang giải pháp đám mây được quản lý hoàn toàn như Amazon MSK. Tương tự, nếu đội ngũ của bạn quen thuộc với Apache Kafka, thì Amazon MSK sẽ phù hợp hơn Amazon Kinesis.
Ngược lại, nếu bạn chưa có hạ tầng truyền dữ liệu, Amazon Kinesis có thể thân thiện với người mới bắt đầu và dễ tiếp cận hơn.
Kết luận
Phân tích dữ liệu theo thời gian thực ngày càng phổ biến và quan trọng đối với nhiều ngành và doanh nghiệp. Để đạt được điều này, cần thiết lập hệ thống truyền dữ liệu tốt có thể xử lý lượng dữ liệu lớn mà không bị trễ hay gián đoạn.
AWS đã nhận thấy nhu cầu gia tăng này từ năm 2013 và tiếp tục phát triển, tinh chỉnh một trong những giải pháp truyền dữ liệu tốt nhất của họ: Amazon Kinesis. Ngày nay, Amazon Kinesis là giải pháp hàng đầu để thu nạp và xử lý luồng dữ liệu với tốc độ ấn tượng.
Nếu bạn mới với AWS, hãy bắt đầu với khóa học thân thiện cho người mới để tìm hiểu thêm về AWS và các dịch vụ của họ. Nếu bạn sẵn sàng bắt đầu sự nghiệp với các dịch vụ đám mây như AWS, hãy xem bài viết về chứng chỉ AWS và cách chọn chứng chỉ phù hợp nhất với mục tiêu của bạn. Sau đó, tiến thêm bước nữa bằng cách chuẩn bị cho buổi phỏng vấn và luyện tập các câu hỏi phỏng vấn AWS hàng đầu.