AWS re:Invent là một conference được Amazon tổ chức thường niên, là nơi để những developers, engineers, system administrators hay là systems architects giao lưu học hỏi, giới thiệu những sản phẩm, service, công nghệ của mình. AWS re:Invent 2015 được tổ chức từ ngày mùng 6 đến ngày mùng 9 tháng 11 tại thành phố Las Vegas, Mỹ. Xuyên suốt conference là một loạt các hoạt động được diễn ra như những khóa bootcamp để training về AWS giúp bạn có thể hiểu rõ hơn về AWS, hay sự kiện AWS re:Invent Hackathon. Hoặc có thể là những kì thi để lấy chứng chỉ của AWS như AWS Certified Solutions Architect, AWS Certified SysOps Administrator…

Tại AWS re:Invent năm nay, Amazon đã giới thiệu một loạt những service mới cho AWS ở rất nhiều lĩnh việc là Internet of Things, Analytic, Databases, Storage & Content Delivery, Security & Identity, Compute, Mobile Services và Management Tools.

Trong bài viết này mình sẽ giới thiệu về các service mới về 2 mảng là Internet of Things và Analytic. Đặc biệt là services rất hay trong phần Internet of Things.

Internet of Things (IoT)

Internet of Things (IoT) hiểu nôm na là Internet cho tất cả mọi thứ (Things). Tất cả những thứ có thể kết nối internet thì nó sẽ kết nối internet (anything that can be connected, will be connected). IoT cũng có thể hiểu là một thời kì mà tất cả các thiết bị sẽ kết nối, thu thập, truyền thông tin thông qua Internet. Smart phone, tivi, tủ lạnh, lò nướng, xe tự lái, dụng cụ đo sức khỏe… tất cả mọi thứ sẽ được kết nối đến internet. Theo phân tích của Gartner thì sẽ có 26 tỉ thiết bị kết nối đến internet trong năm 2020.

Tuy nhiên IoT có 3 vấn đề sau cần giải quyết:

  • Tài nguyên tiêu thụ: nghĩa là phải có thể tạo được những processor mạnh mà lại tiêu tốn ít tài nguyên, chiếm ít diện tích, có giá thành vừa phải.
  • Khả năng kết nối: kết nối với internet có dây hoặc không dây. Thiết bị phải được kết nối với cloud hoặc vói thiết bị khác. Ngoài ra còn phải xử lý khi thiết bị không thể kết nối liên tục đến internet.
  • Big Data: khả năng xử lý dữ liệu lớn khi mà có cực kì nhiều thiết bị kết nối đi kèm là rất rất nhiều dữ liệu được luân chuyển, xử lý.

Ngoài ra còn rất nhiều vấn đề khác cần giải quyết với từng loại device cụ thể như là máy khám sức khỏe, xe tự hành, thiết bị gia đình…

Ở AWS re:Invent 2015, Amazon đã giới thiệu AWS Internet of Things – AWS IoT, một service quản lý cloud giúp cho việc kết nối giữa thiết với cloud và giữa các thiêt bị với nhau một cách đơn giản và an toàn. AWS IoT cung cấp khả năng xử lý giữa hàng tỉ thiết bị và hàng triệu tỉ messages. Với việc sử dụng những services khác của AWS như AWS Lambda, Amazon Kinesis, Amazon S3, Amazon Machine Learning và Amazon DynamoDB, AWS IoT cũng cung cấp khả năng xử lý và điều hướng tất cả các messages tới những AWS endpoint và thiết bị một cách tin cậy và an toàn. AWS IoT cũng có thể giữ kết nối và theo dõi tất cả các thiết bị ở mọi thời điểm kể cả khi thiết bị đó không ở trạng thái connect. Và tất nhiên là bạn có thể sử dụng các service khác của AWS đễ thu thập, xử lý, phân tích khối lượng dữ liệu khổng lồ đến từ Things và messages.

AWS IoT bao gồm những thành phần sau:

  • Message Broker: cung cấp một cơ chế bảo mật cho Things và IoT applications để có thể gửi và nhận messages. Bạn có thể sử dụng giao thức MQTT để publish và subcribe message. Ngoài ra bạn cũng có thể sử dụng HTTP REST để publish
  • Rule Engine: cung cấp khả năng xử lý message và tích hợp những services khác của AWS.
  • Thing Registry (hay là Device Registry): giống như id trong database để phân biệt giữa Device hay là Thing với nhau.
  • Thing Shadow (hay là Device Shadow): bản ghi dưới dạng JSON để lưu trạng thái và thông tin của một Thing
  • Security and Identity Service: cung cấp khả năng share, gửi nhận dữ liệu ở trên AWS Cloud trong việc bảo mật. Mỗi Thing cần giữ credential an toàn để có thể gửi dữ liệu một cách an toàn. Về phía Message Broker và ule Engine sẽ sử dụng những tính năng bảo mật của AWS để có thể gửi dữ liệu đến Things một cách an toàn.

Dưới đây là cách mà AWS IoT vận hành:

Things sẽ gửi dữ liệu dưới dạng JSON tới topic của MQTT. MQTT topic sẽ là một tên được phân cấp ví dụ như “nhà của tôi/phòng khách/nhiệt độ”. Sau đó Message Broker gửi dữ liệu đến tất cả những client nào lắng nghe topic này.

Ở Rule Engine bạn sẽ tạo ra các rules, mỗi rules định nghĩa một hay nhiều actions để xử lý data nhận được như là lưu dữ liệu vào S3 hay cho vào SQS…

Ngoài ra mỗi một Thing sẽ có một Thing Shadow để lưu trữ trạng thái của Thing đó. Trạng thái sẽ bao gồm 2 thông tin là thông tin về trạng thái cuối cùng của Thing và thông tin về request của Application tới Thing. Chính vì việc có Thing Shadow nên Application có thể giao tiếp, gửi tin tới Thing kể cả khi Thing không kết nối Internet. Và bất cứ lúc nào kết nối vào Internet thì Thing sẽ ngay lập tức nhận được request từ server để xử lý và trả lời.

Điểm mạnh của AWS IoT chính là việc chúng ta có thể tận dụng tất cả những services khác của AWS, do đó không cần lo lắng về server, xử lý lưu trữ big data vì có rất nhiều services hỗ trợ việc đó. Như vậy cả 3 vấn đề của IoT có thể được giải quyết với AWS IoT.

Hiện nay thì bạn đã có thể sử dụng AWS IoT nếu có tài khoản AWS. Tuy nhiên cần lưu ý là hiện nay AWS IoT vẫn đang ở bản beta và còn cần rất nhiều update nữa để hòan thiện. Bạn có thể tìm hiểu về AWS IoT ở guide của AWS:

https://docs.aws.amazon.com/iot/latest/developerguide/what-is-aws-iot.html

Analytics

Đối với phân tích dữ liệu thì AWS đưa ra 5s service mới sau đây.

Amazon QuickSight

Amazon QuickSight là một service về kinh doanh thông minh (Business Intelligence). Amazon QuickSight sẽ giúp bạn phân tích, có cái nhìn trực quan và mang tính chất kinh doanh từ đống dữ liệu của bạn. Đơn giản là QuickSight sẽ truy cập vào data của bạn ở S3, DynamoDB, MySQL, Redshift… và sau đó bạn sẽ nhận được kết quả là những biếu đồ, sự phân tích, đánh giá và có thể là lên kế hoạch, chiến lược…

Ví dụ đơn giản như dưới đây:

Bạn chọn một bảng:

Chọn một trường Fitness:

Và dữ liệu đưa ra:

Điểm mạnh của Amazon QuickSight là có khả năng tính toán nhanh, dễ sử dụng, giá thành thấp mà bạn không cần quan tâm đến lượng dữ liệu.

Hiện tại thì QuickSight vẫn chưa được publish và nếu mới chỉ nhìn những ảnh trên thì thực sự là vẫn chưa thấy được điểm mạnh cũng như cái hay của QuickSight. Tuy nhiên, AWS đã hứa hẹn đem đến rất nhiều bất ngờ về dịch vụ này khi nó được ra mắt vào đầu năm 2016. Chúng ta hãy cùng chờ xem.

Amazon Kinesis Firehose

Như các bạn đã biết thì Amazon Kinesis hay còn gọi là Amazon Kinesis Stream là một service giúp bạn build một application dùng để thu thập, xử lý, phân tích streaming data với tốc độ cực cao. Và để hỗ trợ cho Kinesis Stream, AWS đã giới thiệu Amazon Kinesis Firehose. Kinesis Firehose giúp cho bạn load streaming data vào AWS một cách dễ dàng hơn. Với Kinesis Firehose bạn sẽ tạo một delivery stream, load trực tiếp nó đến S3 hoặc Redshift. Kinesis Firehose không chỉ lo tất cả phần quản lý, scale dữ liệu mà nó còn phân tích dữ liệu gần như là real-time với những công cụ về kinh doanh thông minh mà nó được tích hợp.

Dữ liệu được quản lý sẽ kiểu như sau:

Mỗi một delivary stream có khả năng điều tiết đến vào gigabytes dữ liệu mối giờ. Bên cạnh đó là 2500 lệnh PutRecord hoặc PutRecordBatch mối giây. Mỗi tài khoản AWS có thể tạo tối đa là 5 streams.

Hiện tại thì bạn đã có thể sử dụng Kinesis Firehose nếu bạn có tài khoản AWS.

Amazon Elasticsearch Service

Như các bạn đã biết thì Elasticsearch là một engine mã nguồn mở giúp bạn có thể tìm kiếm và phân tích dữ liệu một cách tiện lợi ví dụ như khi cần phân tích log, phân tích click stream hay là làm những app quản lý data theo real-time. Elasticsearch giúp cho bạn có thể xử lý data với một tốc độ rất nhanh và quy mô data lớn. Và để giúp bạn dễ dàng sử dụng Elasticseach, AWS đã giới thiệu một service là Amazon Elasticsearch Service (viết tắt là ES).Với ES bạn có thể dễ dàng deploy, sử dụng, scale Elasticsearch trên AWS một cách cực kì nhanh chóng và tiện lợi. Với ES bạn có thể sử dụng trực tiếp Elasticsearch open-source API nên app của bạn có thể sử dụng Elasticsearch một cách đơn giản, trơn tru. Việc cài đặt và sử dụng ES bạn có thể tìm hiểu qua bài blog dưới đây:

https://aws.amazon.com/jp/blogs/aws/new-amazon-elasticsearch-service/

Ngoài 3 services chính bên trên, trong phần Analytic thì AWS còn giới thiệu 2 service bổ trợ cho service Kinesis Stream là Amazon Kinesis Analytics và Kinesis Streams Extended Retention. Với Kinesis Analytics bạn có thể sử dụng câu lệnh SQL thẳng trên stream data. Tuy nhiên thì service này vẫn chưa chính thức publish, chắc phải đầu năm sau :-?. Còn Kinesis Streams Extended Retention là service để bạn nâng cấp Kinesis Stream lên stream data 7 ngày khi hiện tại thì bạn chỉ có thể stream data là 24h. Để có thể tìm hiểu về cách thức chuyển đồi thì bạn có thể tìm hiểu trong link sau:

https://docs.aws.amazon.com/kinesis/latest/dev/kinesis-extended-retention.html

Trong bài viết tiếp theo mình sẽ giới thiệu về các services trong phần Databases và Security and Identity.

Tham khảo: http://www.forbes.com/sites/jacobmorgan/2014/05/13/simple-explanation-internet-things-that-anyone-can-understand/