MangaWith

บริษัท GameWith จำกัด

ประธานกรรมการ มุราตะ โทโมะโยชิ

ฝ่ายพัฒนาบริการ โนกุจิ ฮิโรชิ

ฝ่ายพัฒนาบริการ ทากุจิ โค

บริษัท GameWith จำกัด เป็นบริษัทที่ดำเนินงานเว็บไซต์『GameWith』 ที่ให้ข้อมูลเกี่ยวกับแอพเกม ที่ใหญ่ที่สุดในญี่ปุ่น เข้าจดทะเบียนใน TSE Mothers ในปี 2560 ปัจจุบันเป็นที่น่าจับตามองในฐานะที่เป็นหนึ่งในบริษัทที่เติบโตเร็วที่สุด ในอนาคตความรู้เกี่ยวกับธุรกิจสื่อสารมวลชนที่เราได้ปลูกฝังกันมา จะไม่ได้เติบโตเฉพาะตลาดในประเทศเท่านั้น แต่รวมถึงการขยายตัวในต่างประเทศโดยเฉพาะในประเทศที่ใช้ภาษาอังกฤษและไต้หวัน อีกทั้งเรากำลังเผชิญกับความท้าทายต่างๆเพื่อที่จะกลายเป็นผู้นำในอุตสาหกรรมเกม อย่างการรับมือกับการเปลี่ยนแปลงของตลาด เช่นการพัฒนาของ Blockchain games ที่ใช้เทคโนโลยีบล็อกเชน หรือ e-sports game (กีฬาอิเล็กทรอนิกส์)

นอกจากนี้ในเดือนธันวาคม ปี 2018 เราได้เปิดตัว "MangaWith" ซึ่งเป็นบริการมังงะเว็บสำหรับสมาร์ทโฟน ร่วมมือกับสำนักพิมพ์รายใหญ่ ให้บริการการ์ตูนอิเล็กทรอนิกส์มากกว่า 150,000 เรื่อง และตัวที่รองรับสนับสนุน MangaWith อยู่คือ GCP( Google Cloud Platform )


มุราตะ โทโมะโยชิ ประธานกรรมการผู้จัดการ โนกุจิ ฮิโรชิ และ ทากุจิ โค ฝ่ายพัฒนาบริการ ซึ่งมีส่วนร่วมในการเริ่มต้น "MangaWith" จะมาพูดคุยเกี่ยวกับความเป็นมาและข้อดีของการนำ GCP มาใช้ และการทำงานกับ Cloud Ace

คลิกที่นี้ กรณีตัวอย่างของ Google Cloud 「ใช้เวลาอันสั้นเพียง 6 เดือนในการสร้าง「MangaWith」จนถึงเปิดตัว โดยใช้ GKE ที่มีวิสัยทัศน์ใน containerization และ multi-cloud」



ความเป็นมาจนถึงมีการนำGCPมาใช้

โนกุจิ:บริษัทของเรามีเนื้อหาของสื่ออยู่2รายการ ซึ่ง『GameWith』และ『MangaWith』สอง web media ที่กำลังพัฒนาอยู่นั้น ตัว『GameWith』ได้ใช้ AWS(Amazon Web Services)และ『MangaWith』ใช้ GCP

ก่อนที่นำ GCP มาใช้ ภายในบริษัทมีการรวบรวม สะสมความรู้เกี่ยวกับ AWS ที่ใช้ใน GameWith อย่างเพียงพอแล้ว จึงได้ตัดสินใจใช้ GCP ที่ออกมาตอนเปิดตัวบริการใหม่ในปี 2018 พอดี เพราะคิดว่าหากใช้ GCP แล้วเราน่าจะสามารถรวบรวมความรู้ใหม่เกี่ยวกับ GCP ได้ ดั้งนั้นเลยเริ่มใช้ GCP โดยไม่มีการลังเล

ทากุจิ:ในอนาคต ขณะที่เรากำลังขยายบริการต่าง ๆ การเลือกบริการคอมพิวเตอร์ที่เหมาะสมสำหรับการบริการนั้นๆ มีความจำเป็นอย่างมาก ในฐานะบริษัทแล้วความคิดที่ว่า “เพราะรู้จักอยู่แค่AWS เลยเลือกใช้ทั้งหมดเป็น AWS” เป็นสิ่งที่ไมีค่อยจะดีสักเท่าไหร่ หนึ่งในตัวเลือกอย่าง GCP ก็สมควรที่จะได้รับการพิจารณา ครั้งนี้เลยมีความตั้งใจที่จะลองท้าทายเลือกใช้ GCP

มุราตะ:ตอนนี้เรากำลังเตรียมที่จะเพิ่มฟังก์ชันใหม่ให้กับบริการที่เรานำเสนอ และ『MangaWith』คือแบบทดสอบของเรา อย่างไรก็ตามสำหรับบริษัทเราแล้วการขยายของเขตตัวเลือกนั้นถือเป็นการป้องกันความเสี่ยงอย่างหนึ่ง


การสร้างระบบ GCP ของ「MangaWith」

โนกุจิ:"MangaWith" เปิดตัวในเดือนธันวาคม ปี 2018 หากนับตั้งแต่ตอนที่เริ่มพัฒนาก็ตั้งแต่เดือนมิถุนายน 2018 เพราะมีเวลาในพัฒนาเพียงแค่ครึ่งปีเท่านั้น เลยมีความเป็นกังวลด้านตารางเวลา หากเป็น ASW ที่ใช้มาโดยตลอดแล้วละก็คงง่ายที่จะวางใจแล้วคิดว่า “แค่นี้ก็คงจะเสร็จ” แต่ในกรณีของ GCP ที่ยังไม่มีผลงานที่ผ่านมา การคาดการณ์เป็นเรื่องที่ยาก ในตอนแรกเลยลังเลและสับสน

มุราตะ:ในส่วนของการพัฒนาคือ วิศวกร 2.5 คนต่อหนึ่งเดือน และรวมผมในฐานะนักวางแผนธุรกิจกับอีกหนึ่งคน เป็นทั้งหมด 4.5 คน.

โนกุจิ: ในส่วนของ Ar กำหนดไว้ว่าเป็น GCP อยู่แล้ว แต่ที่หนักใจคือจะเลือกอันไหนดีระหว่าง GAE( Google App Engine )หรือ GKE( Google Kubernetes Engine )เนื่องจากคุณลักษณะของ บริการมังงะคือการใช้บริการในช่วงเวลากลางคืนและตอนเช้าตอนไปทำงานที่มากที่สุด เราจึงเลือกใช้ GKE เมื่อพิจารณาจากความเร็วในการปรับขนาดของเวลา


นอกจากนี้ มังงะมีความจำเป็นต้องเข้ารหัส และต้องติดต่อร่วมมือกับภายนอกจำนวนมาก ดังนั้นเลยจำเป็นต้องเตรียมพร้อมสภาพแวดล้อมที่สามารถรวบรวมซอร์สโค้ดรหัสจากภายนอกได้ จุดแข็งของGKEคือสามารถผนวก สภาพแวดล้อมของ『MangaWith』และ สภาพแวดล้อมที่รับมาจากข้างนอก เข้าด้วยกันได้อย่างอิสระ


มุราตะ: จำเป็นต้องใช้ข้อมูลรหัส จากการติดต่อร่วมมือกับหลายๆแห่ง ไม่ใช้เพียงแค่สำนักพิมพ์ แต่รวมถึง บริษัทตัวกลาง นอกจากนี้ ตอนที่ส่งมังงะก็จำเป็นต้องร่วมมือกับบริษัทที่ให้บริการด้านโซลูชั่นของการเข้ารหัส ตอนแรกก็ไม่ได้คิดถึงว่าจะต้องร่วมมือกับหลายแห่งขนาดนั้น แต่พอได้ใช้ GKE ที่สามารถรองรับสิ่งเหล่านั้นได้ ผลลัพท์ที่ออกมานั้นถือว่าได้ประโยชน์มากทีเดียว

โนกุจิ:มีความเป็นไปได้สูงที่กรณีที่คล้ายกันจะเพิ่มขึ้นในอนาคต ซึ่งก็ถือเป็นเรื่องที่ดี แต่มันก็ยากสำหรับผมที่จะทำให้มันเกิดขึ้นจริงๆ(หัวเราะ)เนื่องจากมีเอกสารที่ใช้ในการอ้างอิงไม่มากพอ จึงค้นหาซอร์สบน GitHub และ ในที่สุดก็สร้างสิ่งที่ดูเหมือนจะเข้าข่ายในแบบที่ต้องการ

นอกจากนี้ เนื่องจากลักษณะของการให้บริการมีหลายส่วนที่ต้องใช้ IP ที่คงที่ จึงเป็นเรื่องยากที่จะสร้างโดยคำนึงถึงขนาดไปด้วย GKE แบ่งออกเป็นสองส่วนคือส่วนที่ต้องการ IP คงที่และส่วนที่ไม่ต้องการ ส่วนที่ต้องการ IPคงที่นั้นจะมีช่วงในการปรับขนาดที่แน่นอน และถูกสร้างให้ในตอนนั้นการบริการจะไม่หยุดแม้ว่าจะมีความผิดปกติเกิดขึ้นก็ตาม และในส่วนอื่นๆที่เกี่ยวข้องนั้นก็มีขีดจำกัดเช่นกัน แต่เราก็ทำให้ง่ายต่อการปรับขนาดอยู่

ทากุจิ:สำหรับภาพหน้าปกและข้อมูลภาพของมังงะ เราใช้บริการโซลูชันคลาวด์ที่เรียกว่า GCS (Cloud Storage) Cloud Memorystore BigQuery หรือ CloudBuild เป็นต้น ได้ใช้บริการของผลิตภัณฑ์ GCP ไปประมาณ 10 รายการ


ผลของการนำ GCP มาใช้

โนกุจิ:เมื่อเราเปิดตัว"MangaWith" ครั้งแรก ก็พุ่งทะยานขึ้นมาในทันที เนื่องจากผลกระทบจากการแถลงข่าวและ Youtuber อีกทั้งยังยืดหยุ่นและใช้งานได้อย่างเสถียร

นอกจากนี้ ที่กล่าวไปข้างต้นว่าต้องมีการเชื่อมโยงภายนอกจำนวนมาก ดังนั้นจึงเป็นข้อได้เปรียบอย่างมากที่สามารถพัฒนาในขณะที่ทำการเชื่อมต่อกันอย่างอิสระได้ และโดยทั่วไปบริการของ GCP นั้นสามารถเข้าถึงได้โดย API เลยเป็นเรื่องง่ายที่จะเข้ารหัสได้อย่างอย่างรวดเร็ว

ทากุจิ:เราได้เตรียมสภาพแวดล้อมที่ใช้ในการทดสอบแล้ว แต่อย่างไรก็ตาม จนถึงตอนนี้ก็ยังไม่สามารถสร้างซอร์สโค้ดได้อย่างอิสระบนสภาพแวดล้อมเหล่านั้นได้

โนกุจิ:สามารถปรับใช้สาขาที่ต้องการได้อย่างรวดเร็วในสภาพแวดล้อมที่ได้รับการพัฒนานั้น เนื่องจากฟังก์ชั่นดังกล่าวให้บริการโดย API และ SDK จึงเป็นข้อได้เปรียบอย่างมากที่สามารถจัดการทรัพยากรได้ง่าย


มุราตะ:ตามอย่างที่ทั้งสองคนเป็นกังวล ตอนแรกที่ใช้ GCP ก็สับสนและเป็นกังวล เพราะไม่สามารถควบคุมในส่วนของขั้นตอนอย่าง ตารางเวลาในการพัฒนาและต้นทุนในการพัฒนา ต่อไปในอนาคตเราเชื่อว่าหากมีการสะสมความรู้เพิ่มขึ้น เราจะสามารถดำเนินการได้อย่างรวดเร็วมากยิ่งขึ้น หรืออีกความหมายหนึ่งก็คือ ตามตั้งแต่แรกที่คิดไว้ การสะสมความรู้ใหม่ๆภายในบริษัทจะนำไปสู่วัสดุที่ใช้ในการพิจารณาของผลิตภัณ์ใหม่ๆ และสิ่งเหล่านั้นคือความท้าทายที่ดี


Cloud Ace รองรับการสร้าง GCP ที่รวดเร็ว

โนกุจิ: ที่เลือกCloud Aceเป็นเพราะ วิศวะกรที่รู้จักบอกมาว่า Cloud Aceให้การตอบรับที่รวดเร็ว ตอนที่จะนำGCPมาใช้ ได้พิจารณา Cloud Ace และ อีกบริษัทหนึ่ง พอลองติดต่อ Cloud Aceดูก็ได้รับการติดต่อกลับมาจาก Cloud Ace อย่างรวดเร็ว ตารางเวลาของบริษัทเราค่อนข้างแน่น ดังนั้นการตอบกลับอย่างรวดเร็วจึงเป็นปัจจัยที่สำคัญมาก อีกทั้งยังตั้งห้องแชทตอบคำถามอย่างรวดเร็วและสุภาพ ทำให้รู้สึกถึงความน่าเชื่อถือและความเป็นมืออาชีพ

ในครั้งนี้เรามี วิศวกรด้านเซิร์ฟเวอร์ Front-end engineer และวิศวกรโครงสร้างพื้นฐานของ Cloud Ace คอยซัพพอร์ต ช่วงเวลาในการพัฒนาของเราค่อนข้างสั้นและจำกัดเราจึงขอการสนับสนุนด้านAI การสร้าง staging และ production environment และความปลอดภัยสำหรับบริการมังงะที่จะนำมาใช้ โดยเฉพาะการสร้าง staging environment ช่วยทำให้อุ่นใจได้มาก นอกจากนี้Cloud Ace ยังช่วยซัพพอร์ต Kubernetes ที่ทางเราพัฒนา

นอกเหนือจากการสนับสนุนด้านการพัฒนา ยังคอยให้คำปรึกษาโดยละเอียดเกี่ยวกับการใช้ GCP ซึ่งเป็นประโยชน์อย่างมาก อย่างตอนที่ไม่ค่อยเข้าใจเกี่ยวกับไฟล์Manifest จึงลองถามไปว่า「เมื่อตอนที่ทำการดีพลอยอยู่ดีๆก็ขึ้นหน้าจอerrorขึ้นมาควรทำอย่างไรดี」ต่อให้เป็นการสอบถามเรื่องยิบย่อยก็ทำการปรับสเกลเป็นระดับสูงสุดให้อย่างรวดเร็วทันที ขอบคุณมากครับ


การใช้งาน Google Cloud Platform ในอนาคต

โนกุจิ:ต่อจากนี้ก็อยากที่จะปรับปรุงในส่วนของ CD ถึงแม้จะทำให้อยู่ในรูปแบบอัตโนมัติแล้วแต่อยากจะเพิ่ม Spinnaker เพื่อให้สามารถบริการได้อย่างมีเสถียรภาพยิ่งขึ้น

นอกจากนี้ เนื่องจาก GCP Cloud NAT ออกวางจำหน่ายก่อนหน้าที่จะปล่อย "MangaWith" ได้ไม่นาน ครั้งนี้จึงไม่สามารถใช้งานได้ ดังนั้นในครั้งต่อไปก็อยากลองใช้งานดู

ปัจจุบันสามารถใช้งานเฉพาะส่วนพื้นฐานเท่านั้นดังนั้นจึงมีฟังก์ชั่นทั้งหมดประมาณ 50% ในอนาคตก็อยากลองใช้งานอะไรใหม่ๆดู

ทากุจิ:ผมสร้าง firebase ที่ทำให้การพัฒนา "MangaWith" สะดวกยิ่งขึ้น แต่การจำกัดที่อยู่ IP ดูเหมือนจะยุ่งยากเล็กน้อย ตอนนี้กำลังคิดด้านการจัดการในส่วนตรงนั้นอยู่

มุราตะ:“ MangaWith” เกิดมาเพื่อสร้าง IP ใหม่โดยใช้ข้อมูลของ“ GameWith” ที่มีผู้ใช้เกมจำนวนมากรวมตัวกัน เกมและมังงะผสมผสานกันได้ดีและมีการร่วมมือที่ทำให้จากการ์ตูนกลายเป็นเกม ปัจจุบันมีมังงะประมาณ 150,000 เล่มจัดจำหน่ายโดยร่วมมือกับผู้จัดพิมพ์รายใหญ่ นอกจากนี้ เราวางแผนที่จะยกระดับโปรโมชั่นร่วมกันกับบริษัทเกม ถึงแม้จะมีปัญหามากมายเพราะเป็นบริการที่เพิ่งเปิดตัว แต่เราจะพยายามทำให้ดีที่สุดนับจากนี้ต่อไป