Terakhir diperbaharui: Jan 21, 2021
AWS Amplify
Apa itu AWS Amplify?
AWS Amplify adalah kumpulan tools & service yang digunakan untuk mengembangkan aplikasi Full Stack (mobile & web) yang terintegrasi dengan layanan cloud computing dari Amazon Web Service (AWS).
Dengan menggunakan AWS Amplify kita bisa gunakan layanan cloud computing AWS untuk membuat backend dari aplikasi, seperti database, API, storage, hosting & authentication.
Jadi tugas seorang full stack developer hanya membuat Frontend untuk kemudian diintegrasikan dengan layanan backend dari AWS. Tanpa harus install database, membuat server untuk hosting, install library untuk autentikasi dll.
Jika kamu sudah pernah menggunakan Firebase, maka konsep AWS Amplify mirip dengan Firebase tapi berbeda pada fitur yang dimiliki.
BaaS
Sebelum melanjutkan kita perlu bahas tentang Backend as a Service (BaaS).
BaaS adalah model layanan cloud dimana Backend dari aplikasi dikelola oleh pihak lain.
Ketika kita menggunakan layanan BaaS maka kita fokus pada frontend dan bagaimana menghubungkan frontend yang dibuat dengan layanan BaaS.
Pada umumnya layanan BaaS meliputi Database Management, API, Cloud Storage, Authentication System, Hosting, Real Time Monitoring, Push Notification dll. Apakah AWS Amplify termasuk BaaS?
Bisa dikatakan iya, karena AWS Amplify menyediakan semua yang kita butuhkan untuk membuat sebuah backend memanfaatkan teknologi cloud.
Tetapi kita juga bisa memilih untuk tidak menggunakan semua layanan yang ada pada AWS Amplify, AWS Amplify menyediakan open source framework bernama Amplify Framework untuk mengintegrasikan frontend aplikasi dengan satu atau lebih layanan cloud AWS.
Jenis Aplikasi
Jenis aplikasi seperti apa yang bisa kita bangun menggunakan AWS Amplify?
Saat tulisan ini dibuat AWS Amplify mendukung banyak web framework seperti React, Angular, Vue, Next.js. Sedangkan untuk mobile platform AWS Amplify mendukung Android, iOS, React Native, Ionic, Flutter (Preview).
Tools
AWS Amplify bisa dibagi menjadi 2 bagian:
- Amplify Frameworks
- Amplify Console
Amplify Frameworks
Sebuah open source framework yang terdiri dari:
- Amplify CLI, cli untuk mengkonfigurasi semua layanan yang ada
- Amplify Libraries, kumpulan libraries untuk menambahkan fitur ke aplikasi
- Amplify UI Components, komponen UI tinggal pakai yang memiliki fungsi tertentu
Amplify Console
Sebuah Console untuk membantu proses deployment aplikasi baik frontend ataupun backend.
Tools atau service yang ada di dalam Amplify Console:
Amplify Hosting, untuk membantu proses hosting aplikasi (frontend) dilengkapi dengan CI/CD
Admin UI, semacam dashboard untuk mengatur dan mengelola backend yang bisa dikases dari luar AWS Management Console
Bagi yang belum pernah menggunakan AWS, untuk mengoperasikan semua layanan dari AWS kita harus login ke AWS Management Console. Dengan adanya Admin UI ini kita tidak perlu login ke AWS Managament Console dan bahkan kita tidak perlu memiliki sebuah akun AWS.
Features
Beberapa fitur dari AWS Amplify:
- Datastore
Storage engine dengan kemampuan sinkronisasi offline, layanan yang digunakan adalah AWS AppSync & Amazon DynamoDB. Dengan datastore, data masih bisa diakses meskipun dalam kondisi offline, sinkronisasi data antara device atau client dengan server akan dilakukan di background.
- Storage
Data aplikasi berupa object seperti file gambar, video dapat disimpan di cloud storage S3.
- Serverless API
Kita bisa memilih antara menggunakan REST API atau GraphQL.
- Authentication
Sistem autentikasi yang terintegrasi dengan layanan Amazon Cognito.
- Analytics
Membuat analisa dari penggunaan aplikasi.
Selain fitur yang disebutkan di atas masih ada fitur Push Notification, PubSub, Interaction(Chatbots) dan AI/ML predictions.
Penggunaan
Tiga kondisi dimana AWS Amplify bisa digunakan atau bisa menjadi solusi:
- Membuat backend dari awal
- Menghubungkan frontend dengan backend yang sudah ada
- Hosting static web app
Untuk demo penggunaan AWS Amplify selengkapnya bisa dilihat disini.
Materi selanjutnya adalah membuat ulang aplikasi DinoTes.