Kisah pelanggan/Gaming
2020
Pokémon Company Bermigrasi ke Basis Data yang Dibuat Khusus untuk AWS
Memangkas biaya bulanan
hingga puluhan ribu dolar
300 menjadi 30
90%
Lisensi basis data
Waktu henti nol
Gambaran Umum
Diluncurkan di Jepang pada tahun 1996, Pokémon telah menjadi salah satu merek hiburan paling populer di seluruh dunia. Orang dari segala usia, hingga ratusan juta di antaranya, menikmati pelatihan dan mempertarungkan makhluk Pokémon melalui Pokémon Trading Card Game dan game seluler Pokémon GO.
Di Bellevue, Washington, teknisi di The Pokémon Company International (TPCi) bertanggung jawab untuk memastikan penggemar Pokémon di luar Asia dapat melacak pencapaiannya melalui akun pengguna dengan fitur lengkap. Dikenal sebagai Pokémon Trainer Club, solusinya tidak hanya harus memberikan pengalaman yang lancar kapan pun "pelatih" ingin mendaftar, tetapi juga harus mematuhi Undang-Undang Perlindungan Privasi Online Anak-anak dan Peraturan Perlindungan Data Umum.
"Sistem profil pengguna kami sebagian besar terdiri dari dua kumpulan data: pengguna untuk Pokémon GO dan pengguna untuk Pokémon Trading Card Game," kata Jeff Webb, manajer pengembangan di TPCi "Profil pengguna dari jenis permainan yang berbeda membutuhkan proses dan pemeliharaan yang berbeda, tetapi semuanya ada dalam sistem Pokémon Trainer Club. Karena kerumitan dan volume data yang kami tangani, skalabilitas dan keandalan basis data sangat penting untuk memberikan pengalaman pengguna yang luar biasa.”
Peluang | Pertarungan Basis Data
Awalnya, Pokémon Trainer Club didukung oleh basis data dokumen NoSQL pihak ketiga, yang berisi semua data profil pengguna dan changelog untuk lebih dari 300 juta pengguna Pokémon GO. Shard database berisi database master makhluk Pokémon, data pengguna online Trading Card Game, dan data dari kelompok "permainan terorganisir" secara langsung. Memcached menyediakan akses cepat ke data sesi pengguna. Perusahaan ini meng-host basis data dan sistem caching memorinya di Amazon Elastic Compute Cloud (Amazon EC2), dengan Elastic Load Balancing yang mengelola lalu lintas dan Amazon Simple Storage Service (Amazon S3) untuk penyimpanan objek. "Kami memilih database NoSQL kami sebelumnya karena pencariannya yang cepat," ungkap Webb. "Namun, kami menemukan bahwa untuk mencapai kecepatan yang kami inginkan memerlukan pemeliharaan banyak indeks dan pengelolaan banyak node kompleks, lebih dari 300 pada satu titik."
Menjaga node berjalan dengan lancar adalah tantangan. Ketika node indeks atau database menjadi tidak tersedia, node meningkatkan latensi. Jika node Memcached turun, pengguna tidak dapat masuk sama sekali. Ketika node data primer gagal, tim harus menghentikan semuanya untuk membangunnya kembali sementara sistem beroperasi pada node cadangan. Setelah bertahun-tahun mengalami masalah manajemen harian, diperburuk oleh masuknya pengguna Pokémon GO secara besar-besaran, TPCi memutuskan untuk bermigrasi ke Amazon Web Services (AWS) untuk layanan database yang dikelola sepenuhnya.
"Kami senang dengan performa dan keandalan Amazon EC2, Elastic Load Balancing, dan Amazon S3," ungkap Webb. "Itulah alasan kami memutuskan untuk menginvestigasi layanan database terkelola AWS." Tim tersebut melakukan pengujian ekstensif untuk menemukan solusi yang akan memenuhi kebutuhan keamanan, skala, performa, dan ketahanannya, yang pada akhirnya memilih Amazon Aurora dengan kompatibilitas PostgreSQL. "Karena permintaan autentikasi merupakan mayoritas dari lalu lintas TPCi, kami memilih Amazon Aurora PostgreSQL untuk fitur keamanan tingkat perusahaannya, termasuk enkripsi saat istirahat dan saat transit, ditambah keandalannya dalam lingkungan multiwilayah."
Tim ini juga memutuskan untuk memindahkan caching pengguna ke Amazon ElastiCache, memanfaatkan Redis dan Memcached. Redis mengantre tugas untuk pengguna baru, sehingga mereka dapat diminta untuk menyelesaikan tugas pascaautentikasi seperti menerima syarat dan ketentuan. Memcached membantu menjaga tiket tetap tayang sehingga sesi pengguna yang ada tidak terganggu saat pengguna baru bergabung. Tim tersebut memigrasikan konfigurasi global dan data secara langsung (TTL) ke Amazon DynamoDB, basis data nilai-kunci yang memberikan performa milidetik satu digit sesuai skala. Selain itu, mereka juga memindahkan data peristiwa, seperti riwayat masuk dan catatan audit perubahan pengguna, ke Amazon S3.
Menggunakan Amazon Aurora, kami beralih dari 300 simpul menjadi 30, dan kami tidak lagi membayar lisensi basis data. Biaya database bulanan kami turun hingga puluhan ribu dolar setiap bulannya."
Jeff Webb
Manajer Pengembangan (Development Manager), The Pokémon Company International
Hasil | Pengurangan Biaya, Peningkatan Kapasitas, dan Waktu Henti Nol
Penyimpanan data nonrelasional dimigrasikan terlebih dahulu, diikuti dengan migrasi data pengguna dan serpihan basis data ke Amazon Aurora. Proyek tersebut hanya memakan waktu sembilan bulan. "Kami menghabiskan beberapa bulan pertama membuat kasus penggunaan dan uji tekanan," kata Webb. "Kemudian, kami merelasionalkan semua data dan mendekonstruksi data JSON. Kami menyelesaikan migrasi tanpa waktu henti untuk proses autentikasi kami, yang luar biasa mengingat 300 orang masuk ke Pokémon Trainer Club setiap detik dari seluruh dunia."
Sejak migrasi, TPCi telah secara signifikan mengurangi waktu dan uang yang dihabiskan untuk database. "Menggunakan Amazon Aurora, kami beralih dari 300 node menjadi 30, dan kami tidak lagi membayar lisensi database," ungkap Webb. "Biaya database bulanan kami turun hingga puluhan ribu dolar setiap bulannya. Yang terpenting, kami pernah mengalami 168 jam waktu henti atau penurunan performa dalam enam bulan sebelum migrasi. Sejak itu, kami tidak pernah mengalaminya lagi."
Migrasi tersebut telah memberikan manfaat juga. "Menggunakan pengaturan TTL bawaan di Amazon DynamoDB, kami bisa melacak ketika pengguna melebihi ambang batas upaya login maksimum dan menolak upaya masuk," kata Webb. "Hasilnya penurunan upaya login bot hingga 90 persen, yang membebaskan sumber daya sistem untuk pengguna sah dan mengurangi kebutuhan kami untuk memperbesar skala."
Memanfaatkan layanan Amazon ElastiCache yang terkelola sepenuhnya secara signifikan mengurangi overhead pengelolaan node Memcached. Data sesi pengguna dan status tiket yang disimpan dalam klaster mempercepat proses autentikasi dan menghilangkan kebutuhan pengguna untuk mempertahankan koneksi ke satu server.
Lebih sedikit waktu mengelola database meluangkan waktu untuk inovasi. Perusahaan berencana untuk menggunakan komputasi tanpa server, kontainer, dan layanan mikro untuk efisiensi dan kinerja yang lebih baik. Seiring dengan peningkatan layanannya, TPCi memberdayakan jutaan orang di seluruh dunia untuk menikmati seluruh fitur Pokémon sesuai permintaan.
Untuk mempelajari selengkapnya, kunjungi thinkwithwp.com/gametech/databases.
Tentang The Pokemon Company International
Layanan AWS yang Digunakan
Amazon Aurora
Amazon Aurora adalah database relasional yang kompatibel dengan MySQL dan PostgreSQL yang dibangun untuk cloud, yang menggabungkan kinerja dan ketersediaan database perusahaan tradisional dengan sistem yang sederhana dan database sumber terbuka yang hemat biaya.
Amazon ElastiCache
Amazon ElastiCache memungkinkan Anda untuk menyiapkan, menjalankan, dan menskalakan penyimpanan data dalam memori yang kompatiel dengan Sumber terbuka populer dengan lancar di cloud. Bangun aplikasi yang padat data atau tingkatkan kinerja database yang ada dengan mengambil data dari penyimpanan data dalam memori dengan throughput tinggi dan latensi rendah. Amazon ElastiCache adalah pilihan populer untuk kasus penggunaan real-time seperti Caching, Penyimpanan Sesi, Permainan Game, Layanan Geospasial, Analitik Real-Time, dan Pengantrean.
Amazon DynamoDB
Amazon DynamoDB adalah database nilai-kunci dan dokumen yang memberikan kinerja satu digit milidetik dalam skala apa pun. Ini adalah database multimaster dan multiwilayah tahan lama yang dikelola sepenuhnya dengan keamanan bawaan, cadangan dan pemulihan, serta caching dalam memori untuk aplikasi skala internet.
Amazon S3
Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek yang menawarkan skalabilitas, ketersediaan data, keamanan, dan kinerja terdepan dalam industri. Artinya, pelanggan dari skala besar maupun kecil dan industri dapat menggunakannya untuk menyimpan dan melindungi data sebanyak apa pun untuk berbagai skenario pengunaan, seperti situs web, aplikasi seluler, pencadangan dan pemulihan, arsip, aplikasi perusahaan, perangkat IoT, dan analitik big data.
Temukan cara data mendorong transformasi
Lebih Banyak Kisah Pelanggan Gaming
Mulai
Organisasi dalam berbagai ukuran di semua industri mentransformasi bisnis mereka dan mewujudkan misi mereka setiap hari menggunakan AWS. Hubungi ahli kami dan mulai perjalanan AWS Anda sendiri sekarang juga.