AWS AppSync Membantu Perangkat Lunak Public Good Menjadi Bermanfaat dengan Mendorong Tindakan Pembaca Waktu Nyata

Public Good Software adalah platform pemasaran terkait gerakan dengan tujuan untuk membuat berita agar dapat ditindaklanjuti dengan mencocokkan artikel jurnalistik dengan gerakan-gerakan sosial yang relevan. Disematkan di artikel pada situs web penerbit, widget perusahaan, Impact Unit, mengidentifikasi artikel yang cocok dan mendorong pembaca untuk bertindak. Public Good Software bekerja dengan merek-merek besar yang berkomitmen pada kampanye tindakan yang bermanfaat untuk masyarakat, serta nirlaba dan partner media

Partner media mengintegrasikan widget ke dalam templat utama sistem manajemen konten (CMS) mereka atau ke dalam server iklan. Versi Impact Unit sebelumnya membuat panggilan API ke sejumlah layanan untuk menangkap data yang harus menentukan gerakan mana yang harus dikaitkan dan ke artikel akan dikaitkan. Sejumlah besar panggilan API menambahkan latensi ke operasi widget, dan ukuran kode di balik widget tersebut terbukti menjadi problem untuk beberapa penerbit. Kombinasi antara latensi dan ukuran kode menghalangi kemampuan Public Good Software untuk memenuhi kebutuhan pelanggannya saat ini dan menarik pelanggan baru. “Pelanggan kami mendekati kami dengan kampanye yang lebih rumit dan kompleks dengan partner media yang memiliki volume lebih tinggi. Kami membutuhkan performa yang lebih baik dari Impact Unit untuk menyesuaikan dengan permintaan tersebut,” kata Michael Manley, direktur teknologi Public Good Software.

“Kami berangkat dari konsep ke produksi kurang dari satu bulan dengan teknisi tunggal yang bekerja pada layanan AWS AppSync.”

– Michael Manley, Direktur Teknologi, Public Good Software

 

  • Tentang Public Good
  • Public Good Software mengoperasikan platform pemasaran terkait gerakan terkemuka. Platform ini, melalui rekomendasi kontekstual dan dipersonalisasi, memungkinkan perusahaan media dan merek yang berfokus pada gerakan untuk mendorong keterlibatan dan tindakan yang berpusat pada gerakan-gerakan sosial.

  • Manfaat
    • Melakukan peningkatan API dan beralih ke produksi kurang dari 1 bulan
    • API yang diperbarui meningkatkan pengalaman pelanggan dan mempercepat waktu pemuatan halaman
    • Aplikasi menskalakan dengan lancar untuk mencocokkan lalu lintas situs variabel
    • Panggilan API berkurang dari kira-kira 12 ke 1 atau 2
    • Menghilangkan masalah infrastruktur membuat developer tetap fokus untuk meningkatkan API
  • Layanan AWS yang Digunakan

Dari Bukti Konsep ke Produksi Kurang Dari satu Bulan

Public Good Software berencana untuk melakukan eksperimen dengan GraphQL, bahasa kueri sumber terbuka untuk API. “Kami menyadari bahwa, jika kami menggunakan GraphQL dengan benar, Impact Unit akan harus membuat hanya satu atau dua panggilan kembali ke layanan kami. GraphQL memberi Anda kemampuan untuk menentukan secara pasti data yang Anda inginkan dan memintanya sekali, daripada memintanya sedikit demi sedikit dari beberapa layanan,” kata Manley. Saat tim Manley menemukan Amazon Web Services (AWS) yang menawarkan AWS AppSync, layanan terkelola GraphQL, mereka berpikir apakah layanan tersebut dapat membantu memecahkan persoalan latensi mereka dengan mengurangi sejumlah panggilan API dan melakukannya tanpa kebutuhan untuk memelihara infrastruktur.

Tim Public Good Software mendiskusikan penggunaan AWS AppSync pada rapat perencanaan hari Senin dan pada hari Jumat minggu tersebut telah membuat sebuah bukti konsep. Sebagai hasil dari penerapan tersebut, tim seketika dapat mengurangi sejumlah panggilan API yang dilakukan melalui HTTPS dari kira-kira selusin menjadi hanya satu atau dua. Lebih lanjut, mereka dapat melakukannya tanpa harus memelihara server API lainnya. Manley telah menganggarkan tiga bulan kerja untuk menemukan solusi, jadi menemukannya dengan sangat cepat adalah kejutan yang menyenangkan. Dalam hanya satu bulan, tim telah mengimplementasikan AWS AppSync.

“Bagi kami, waktu pemasaran adalah manfaat terbesar. Kami pergi dari konsep ke produksi kurang dari satu bulan dengan teknisi tunggal yang bekerja pada layanan AWS AppSync. Manfaat paling berharga selanjutnya adalah kemampuan layanan untuk menskalakan dengan lalu lintas variabel,” kata Manley. Public Good Software berspekulasi bahwa menggunakan AWS AppSync untuk menyediakan API GraphQL-nya akan jauh lebih mahal, untuk biaya dan tenaga kerja yang berulang, dibandingkan dengan menerapkan provider-nya sendiri di tumpukan aplikasi perusahaan.

Karena diperlukan lebih sedikit panggilan dari klien ke backend, penggunaan AWS AppSync menurunkan latensi dalam mengirimkan konten yang dapat ditindaklanjuti. Kombinasi antara data yang dimaksud AWS AppSync and GraphQL dapat diambil dan diagregasi di seluruh layanan mikro dalam permintaan jaringan tunggal. “AWS AppSync memungkinkan kami untuk mengirimkan pustaka JavaScript yang lebih ramping dengan widget Impact Unit, yang mengurangi ukuran kode dan latensi. Itu artinya kami dapat menawarkan kepada pelanggan kami pengalaman yang ditingkatkan dengan kampanye yang rumit dan mempercepat waktu pemuatan halaman untuk partner media kami,” kata Manley.

Menghilangkan Masalah Infrastruktur dan Fokus pada Keuntungan Kompetitif

Public Good Software menganut filosofi bahwa jika kompetensi teknis tidak membuat perusahaan berbeda di marketplace, maka harus menyerahkan tugas-tugas tersebut di tempat lain. Bagi perusahaan tersebut, itu berarti mendelegasikan fungsi ke produk-produk AWS. Memindahkan semua masalah ini ke AWS telah membebaskan tim untuk fokus lebih pada API-nya dan proyek-proyek kunci lainnya. Manley berkata, “Hanya ada empat teknisi di tim kami. Untuk perusahaan seukuran kami, masuk akal untuk menyerahkan kepada AWS 80 atau 90 persen fungsi infrastruktur tersebut yang telah dibangun oleh AWS. Hal itu membebaskan kami untuk menghabiskan waktu pada 10 hingga 20 persen fungsi yang unik untuk Public Good Software.”

Public Good Software mempertimbangkan beberapa penyedia GraphQL sumber tertutup dan terbuka yang mungkin telah berfungsi sebagai lapisan antara layanan mikro yang ada dan aplikasi klien. Namun demikian, masing-masing penyedia selalu memerlukan overhead operasional tambahan, kebanyakan adalah dalam bentuk layanan aplikasi yang harus disediakan, dikuatkan, dan diskalakan oleh tim. Manley melihat keuntungan kompetitif signifikan dalam menyediakan API GraphQL-nya tetapi jauh lebih sedikit dalam mengoperasikan dan merawat infrastruktur untuk mendukungnya. “Jika kami dapat mendelegasikan tanggung jawab operasional untuk infrastruktur API tersebut dan bukan berfokus pada sumber daya untuk menyesuaikan perilaku API, itu merupakan kemenangan besar. Ini sebabnya kami menggunakan layanan AWS. AWS AppSync menyediakan fungsionalitas komoditas dapat diskalakan pada tingkat yang lebih tinggi di tumpukan aplikasi.”

Menyempurnakan Model Machine Learning

Bukan perusahaan yang cepat berpuas diri dan bermalas-malasan, Public Good Software berlanjut untuk menemukan cara untuk memberikan layanan yang ditingkatkan dan didiferensiasikan untuk pelanggannya. Penggunaan machine learning yang lebih besar ada di hadapan perusahaan tersebut, saat perusahaan mencari cara untuk menggunakan Amazon SageMaker, sebuah layanan yang membantu developer dan ilmuwan data dengan cepat membangun, melatih, dan men-deploy model machine learning. Tujuannya adalah untuk menemukan cara machine learning dan analisis teks otomatis agar dapat secara dramatis menskalakan proses pencocokan antara konten jurnalistik dan gerakan-gerakan yang relevan. “Bagian paling besar dari apa yang kami lakukan adalah menemukan cara mencocokkan konten jurnalistik dengan tindakan yang bermanfaat untuk masyarakat. Bagaimana cari kami mengetahui konten yang dapat ditindaklanjuti? Bagaimana cara mengetahui organisasi yang akan ditunjukkan dan tindakan yang akan disarankan? Kampanye tindakan yang bermanfaat untuk masyarakat apa yang cocok? Kami menggunakan Amazon SageMaker untuk melatih model machine learning kami untuk menjawab pertanyaan-pertanyaan tersebut,” kata Manley.


Pelajari Selengkapnya

Untuk mempelajari selengkapnya, kunjungi thinkwithwp.com/appsync.