customer_landing_page_graphics166x_pokemon_co

The Pokémon Company Bermigrasi ke Database yang Dibuat untuk Tujuan AWS

2020

Diluncurkan di Jepang pada tahun 1996, Pokémon telah menjadi salah satu merek hiburan paling populer di 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, insinyur 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 database sangat penting untuk memberikan pengalaman pengguna yang luar biasa."

Setelah peluncuran Pokémon GO pada tahun 2016, jumlah pengguna yang membutuhkan akses ke sistem ini meningkat menjadi lebih dari 300 juta dalam dua tahun. Perusahaan memutuskan untuk bermigrasi ke solusi yang terkelola sepenuhnya untuk menghemat waktu dan sumber daya untuk fokus pada inisiatif strategis.

mulai tutorial python
kr_quotemark

Menggunakan Amazon Aurora, kami beralih dari 300 node menjadi 30, dan kami tidak lagi membayar lisensi database. Biaya database bulanan kami turun hingga puluhan ribu dolar setiap bulannya."

Jeff Webb
Manajer Pengembangan (Development Manager), The Pokémon Company International

Pertarungan Database

Awalnya, Pokémon Trainer Club didukung oleh database 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 database-nya dan sistem cachinig memorinya di Amazon Elastic Compute Cloud (Amazon EC2), dengan Elastic Load Balancing 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 penggunanya 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, database nilai kunci yang memberikan performa milidetik satu digit sesuai skala. Selain itu, mereka juga memindahkan data peristiwa, seperti riwayat login dan catatan audit perubahan pengguna, ke Amazon S3.

Pengurangan Biaya, Peningkatan Kapasitas, dan Nol Waktu Henti

Penyimpanan data nonrelasional dimigrasi terlebih dahulu, diikuti dengan migrasi data pengguna dan shard database 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 lebih lanjut, buka aws.amazon.com/gametech/databases.


Tentang The Pokemon Company International

The Pokémon Company International, anak perusahaan dari The Pokémon Company di Jepang, mengelola properti di luar Asia dan bertanggung jawab atas manajemen merek, Pokémon Trading Card Game, hiburan rumah, dan situs web resmi Pokémon.

Manfaat AWS

  • Menghemat biaya bulanan hingga puluhan ribu dolar
  • Mengurangi jumlah node dari 300 menjadi 30
  • Mengurangi upaya masuk bot hingga 90%
  • Menghilangkan biaya lisensi database
  • Mengalami waktu henti nol jam atau penurunan performa setelah migrasi
  • Menangani hingga 300 login per detik

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.

Pelajari selengkapnya »

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.

Pelajari selengkapnya »

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.

Pelajari selengkapnya »

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.

Pelajari selengkapnya »


Memulai

Organisasi dari semua ukuran di semua industri mengubah dan menjalankan misi mereka setiap hari menggunakan AWS. Hubungi ahli kami dan mulai perjalanan AWS Cloud Anda sekarang juga.