Skenario 4: Deteksi dan notifikasi anomali waktu nyata sensor perangkat
Perusahaan ABC4Logistics mengangkut produk minyak bumi yang sangat mudah terbakar seperti bensin, gas minyak cair (LPG), dan nafta dari pelabuhan ke berbagai kota. Ada ratusan kendaraan yang memiliki sejumlah sensor yang terpasang untuk memantau hal-hal seperti lokasi, suhu mesin, suhu di dalam kontainer, kecepatan mengemudi, lokasi parkir, kondisi jalan, dan sebagainya. Salah satu kebutuhan ABC4Logistics adalah memantau suhu mesin dan kontainer secara waktu nyata serta memberi tahu pengemudi dan tim pemantauan armada jika terjadi anomali. Untuk mendeteksi kondisi tersebut dan menghasilkan pemberitahuan secara waktu nyata, ABC4Logistics menerapkan arsitektur berikut di AWS.

Arsitektur deteksi dan notifikasi anomali waktu nyata sensor perangkat ABC4Logistics
Data dari sensor perangkat diserap oleh AWS IoT Gateway, tempat mesin aturan AWS IoT akan membuat data pengaliran tersedia di Amazon Kinesis Data Streams. Menggunakan Kinesis Data Analytics, ABC4Logistics dapat melakukan analitik waktu nyata pada data pengaliran di Kinesis Data Streams.
Menggunakan Kinesis Data Analytics, ABC4Logistics dapat mendeteksi jika pembacaan suhu dari sensor menyimpang dari pembacaan normal selama sepuluh detik, dan menyerap catatannya ke instans Kinesis Data Streams lain, dengan mengidentifikasi catatan yang beranomali. Amazon Kinesis Data Streams kemudian memanggil fungsi Lambda, yang dapat mengirim pemberitahuan ke pengemudi dan tim pemantauan armada melalui Amazon SNS.
Data dalam Kinesis Data Streams juga didorong ke Amazon Kinesis Data Firehose. Amazon Kinesis Data Firehose mempersistensi data ini di Amazon S3, sehingga memungkinkan ABC4Logistics melakukan analitik batch atau hampir waktu nyata terhadap data sensor. ABC4Logistics menggunakan Amazon Athena
Komponen penting dari arsitektur ini diuraikan selanjutnya.
Amazon Kinesis Data Analytics
Amazon Kinesis Data Analytics
Dengan Amazon Kinesis Data Analytics, Anda dapat secara interaktif mengkueri data pengaliran menggunakan sejumlah opsi, termasuk Standard SQL, aplikasi Apache Flink di Java, Python, dan Scala, serta membangun aplikasi Apache Beam menggunakan Java untuk menganalisis aliran data.
Sejumlah opsi ini memberi Anda fleksibilitas dalam menggunakan pendekatan tertentu tergantung pada tingkat kompleksitas aplikasi pengaliran dan dukungan sumber/target. Bagian berikut membahas opsi Aplikasi Kinesis Data Analytics for Flink.
Aplikasi Amazon Kinesis Data Analytics for Apache Flink
Apache Flink
Dengan Amazon Kinesis Data Analytics for Apache Flink, Anda dapat menulis dan menjalankan kode terhadap sumber pengaliran untuk melakukan analitik deret waktu, mengirim umpan ke dasbor waktu nyata, dan membuat metrik waktu nyata tanpa mengelola lingkungan Apache Flink terdistribusi yang kompleks. Anda dapat menggunakan fitur pemrograman Flink tingkat tinggi dengan cara yang sama seperti saat meng-host sendiri infrastruktur Flink.
Kinesis Data Analytics for Apache Flink memungkinkan Anda membuat aplikasi di Java, Scala, Python, atau SQL untuk memproses dan menganalisis data pengaliran. Sebuah aplikasi Flink standar akan membaca data dari aliran atau lokasi data input atau sumber, mentransformasikan/memfilter atau menggabungkan data menggunakan operator atau fungsi, serta menyimpan data pada aliran atau lokasi data output, atau sink.
Diagram arsitektur berikut menunjukkan beberapa sumber dan sink yang didukung untuk aplikasi Kinesis Data Analytics Flink. Selain konektor bawaan untuk sumber/sink, Anda juga dapat membawa konektor kustom ke berbagai sumber/sink lainnya untuk Aplikasi Flink di Kinesis Data Analytics.

Aplikasi Apache Flink di Kinesis Data Analytics untuk pemrosesan aliran waktu nyata
Developer dapat menggunakan IDE pilihan mereka untuk mengembangkan aplikasi Flink dan men-deploy-nya pada Kinesis Data Analytics dari AWS Management Console
Amazon Kinesis Data Analytics Studio
Sebagai bagian dari layanan Kinesis Data Analytics, Kinesis Data Analytics Studio
Menggunakan notebook Studio, Anda memiliki kemampuan untuk mengembangkan kode Aplikasi Flink Anda di lingkungan notebook, melihat hasil kode Anda secara waktu nyata, dan memvisualisasikannya dalam notebook Anda. Anda dapat membuat Notebook Studio yang didukung oleh Apache Zeppelin dan Apache Flink dengan satu klik dari Kinesis Data Streams dan konsol Amazon MSK, atau meluncurkannya dari Kinesis Data Analytics Console.
Setelah Anda mengembangkan kode secara iteratif sebagai bagian dari Kinesis Data Analytics Studio, Anda dapat men-deploy notebook sebagai aplikasi analitik data Kinesis, untuk berjalan dalam mode pengaliran secara terus-menerus, membaca data dari sumber Anda, menulis ke tujuan Anda, mempertahankan status aplikasi yang berjalan lama, dan menskalakan secara otomatis berdasarkan throughput aliran sumber Anda. Sebelumnya, pelanggan menggunakan Kinesis Data Analytics for SQL Applications untuk analitik interaktif terhadap data pengaliran waktu nyata di AWS.
Kinesis Data Analytics for SQL Applications masih tersedia, tetapi untuk proyek baru, AWS merekomendasikan agar Anda menggunakan Kinesis Data Analytics Studio
Untuk membuat aplikasi Kinesis Data Analytics Flink yang toleran terhadap kesalahan, Anda dapat menggunakan checkpointing dan snapshot, seperti yang dijelaskan dalam Menerapkan Toleransi Kesalahan di Kinesis Data Analytics for Apache Flink.
Aplikasi Kinesis Data Analytics Flink berguna untuk menulis aplikasi analitik pengaliran yang kompleks seperti aplikasi dengan semantik persis sekali
Setelah memproses data pengaliran di aplikasi Flink, Anda dapat menyimpan data ke berbagai sink atau tujuan seperti Amazon Kinesis Data Streams, Amazon Kinesis Data Firehose, Amazon DynamoDB, Amazon OpenSearch Service, Amazon Timestream, Amazon S3, dan sebagainya. Aplikasi Kinesis Data Analytics Flink juga memberikan jaminan performa sub-detik.
Apache Beam applications for Kinesis Data Analytics
Apache Beam
Anda dapat menggunakan kerangka kerja Apache Beam dengan aplikasi analitik data Kinesis Anda untuk memproses data pengaliran. Aplikasi analitik data Kinesis yang menggunakan Apache Beam memanfaatkan runner Apache Flink
Ringkasan
Dengan memanfaatkan layanan pengaliran AWS Amazon Kinesis Data Streams, Amazon Kinesis Data Analytics, dan Amazon Kinesis Data Firehose,
ABC4Logistics dapat mendeteksi pola anomali dalam pembacaan suhu dan memberi tahu pengemudi dan tim manajemen armada secara waktu nyata, sehingga mencegah kecelakaan besar seperti kerusakan kendaraan yang parah atau kebakaran.