ชื่อพันธมิตร: Rikkeisoft Co., Limited
กรณีศึกษา: การใช้ AWS เป็นโครงสร้างพื้นฐานสำหรับแอปพลิเคชัน「9999 Tet」ที่มีการเข้าถึงสูง
ขอบเขตการทำงาน: การพัฒนา การปรับใช้ และการบำรุงรักษา
ระบบปฏิบัติการ: Amazon Linux
ฐานข้อมูล: MySQL
บริการ AWS: Amazon Elastic Beanstalk, Amazon EC2, Amazon RDS for MySQL, Amazon S3, Amazon Elastic Load Balancing, Amazon ElastiCache for Redis, Amazon CloudFormation, Amazon CloudWatch, Amazon Route 53
ข้อมูลลูกค้า:
ชื่อลูกค้า: AIC Joint Stock Company
สาขาธุรกิจ: ไม่เปิดเผย
จำนวนพนักงาน: มากกว่า 1200 คน
ปีที่ก่อตั้ง: 2005
URL ระบบ: https://api.tetvietaic.com/api/appstatus
ความต้องการของลูกค้า:
กลุ่ม AIC วางแผนที่จะสร้างแอปพลิเคชันสำหรับผู้ใช้เวียดนามในโอกาสของเทศกาลตรุษตรัง (Tết) Rikkeisoft ได้รับการว่าจ้างให้ทำบริการออกแบบ พัฒนา ปรับใช้ และบำรุงรักษาทั้งหมด「9999 Tet」ได้รับการออกแบบให้เป็นแอปพลิเคชันแบบออลอินวันที่ให้ข้อมูลเกี่ยวกับเทศกาลตรุษตรังในหมวดหมู่ต่างๆ เช่น วัฒนธรรม ความบันเทิง จิตวิญญาณ การขนส่ง การแพทย์ และการช้อปปิง เป็นต้น
เนื่องจากลักษณะของแอปพลิเคชัน จึงคาดว่าจะมีการเพิ่มขึ้นของการเข้าถึงระหว่างช่วงเวลารอบวันผ่านปีเก่า ตัวอย่างเช่น แอปพลิเคชันนี้มีคุณสมบัติพิเศษที่เรียกว่า「Lucky Money Shake」ซึ่งช่วยให้ผู้ใช้สามารถสั่นเหวี่ยงอุปกรณ์มือถือของพวกเขาเพื่อรับเงินโชคดีในรูปแบบบัตรของขวัญในวันผ่านปีเก่า หลังจากเทศกาลตรุษตรัง การเข้าถึงจึงคาดว่าจะลดลงอย่างมาก
AIC ต้องการโซลูชันโครงสร้างพื้นฐานที่มีความยืดหยุ่น และสามารถปรับขนาดขึ้นโดยอัตโนมัติในช่วงเวลาที่มีการเข้าถึงสูง และปรับกลับไปเป็นภาระการงานปกติในภายหลัง ในด้านความปลอดภัย โซลูชันที่ต้องการจะต้องมีความทนทานต่อการโจมตีที่เป็นอันตราย ในทางกลับกัน โซลูชันไม่ควรต้องใช้ความพยายามของมนุษย์มากเกินไปในการตรวจสอบและบำรุงรักษา
โซลูชันที่เสนอ:
เนื่องจากลักษณะของธุรกิจของลูกค้า AIC ได้พึ่งพาโครงสร้างพื้นฐานทางกายภาพ อย่างไรก็ตาม เรามีข้อสังเกตว่า ในสถานการณ์นี้ แนวทางที่ใช้คลาวด์จะประหยัดเวลาและต้นทุนมากกว่า เนื่องจากมีเพียง 1.5 เดือนสำหรับกระบวนการพัฒนาและการเผยแพร่ทั้งหมด ดังนั้น เราจึงเสนอ AWS เป็นผู้ให้บริการโครงสร้างพื้นฐาน เนื่องจากความสามารถในการปรับขนาดและความยืดหยุ่นของมัน
ด้านหลังได้รับการพัฒนาใน Python Django เป็นแอปพลิเคชันเว็บมาตรฐาน ดังนั้น AWS Elastic Beanstalk จึงถูกใช้เพื่อให้ปรับปรุงกระบวนการปรับใช้ เพื่อให้ได้ความสามารถในการปรับขนาดโดยอัตโนมัติ เราเสนอให้ใช้ AWS CloudWatch เพื่อตรวจสอบการโหลดและ AWS Autoscaling เพื่อจัดการคลัสเตอร์ AWS EC2 AWS LoadBalancer ได้รับการเสนออื่นเพื่อเชื่อมต่อกับคลัสเตอร์เหล่านั้น
สำหรับการจัดเก็บข้อมูล เราเสนอการรวมกันของสามบริการ
AWS ElastiCache สำหรับการแคชแอปพลิเคชัน
AWS RDS สำหรับฐานข้อมูล ในกรณีของเรา มีการเสนอคลัสเตอร์ RDS MySQL พร้อมการตั้งค่าการจำลองที่ใช้งาน
AWS S3 สำหรับการจัดเก็บและการแจกจ่ายสื่อ รวมถึงเนื้อหาที่เผยแพร่และเนื้อหาที่ผู้ใช้สร้างขึ้น และสินทรัพย์เช่นปลั๊กอินหรือเนื้อหาคงที่
เพื่อความปลอดภัย เราเสนอ VPC เพื่อแยกแยะเครือข่ายส่วนตัว (สภาพแวดล้อมการพัฒนาและโหนดที่ทำงาน CMS) และเครือข่ายสาธารณะ (โหนดสำหรับ API แอปพลิเคชัน)
AWS Route 53 ยังได้รับการเสนอสำหรับการจัดการชื่อโดเมน
ผลลัพธ์:
ในช่วงเวลาที่มีการโหลดสูง เราเพิ่มขึ้น ElastiCache เพื่อเพิ่มประสิทธิภาพ เนื่องจากผู้ใช้ส่วนใหญ่ร้องขอเนื้อหาเดียวกัน หลังจากกิจกรรม ElastiCache ถูกลดขนาดลงเป็นอินสแตนซ์ที่เล็กกว่าเพื่อประหยัดต้นทุน
ไม่มีการรายงานเหตุการณ์โอเวอร์โหลดเซิร์ฟเวอร์ระหว่างช่วงเวลารอบเทศกาลตรุษตรัง
แอปพลิเคชันให้บริการผู้ใช้มากกว่า 1 ล้านคนและทำงานได้ดีระหว่างเทศกาลตรุษตรัง
การติดตั้งแอปพลิเคชันมากกว่า 1 ล้านครั้งใน Google Play Store และ Apple Store
ผู้ใช้ออนไลน์มากกว่า 8000 คนในเวลาที่มีการโหลดสูง
ธุรกรรม Lucky Money Shake มากกว่า 1.2 ล้าน
ข้อมูลย้อนกลับของลูกค้า:
ลูกค้าของเราพอใจกับการแก้ปัญหาของเราตามโครงสร้างพื้นฐาน AWS ในแง่ของคุณภาพการบริการและประสิทธิภาพของต้นทุน
โครงการนี้เป็นประสบการณ์ครั้งแรกของ AIC กับ AWS และถือเป็นความสำเร็จ ซึ่งจะนำไปสู่กรณีการใช้งานเพิ่มเติมในอนาคต
ระยะเวลาของโครงการ: 1.5 เดือน
สถาปัตยกรรมระบบ:










