CASE STUDY AQUA

AQUA Việt Nam (viết tắt: AQUA) là công ty cung cấp thiết bị điện hàng đầu tại Việt Nam. Công ty được thành lập tại Việt Nam cùng với việc thành lập Nhà máy SANYO vào năm 1996. Công ty đã trải qua những dấu mốc lịch sử đáng nhớ như được bình chọn là thương hiệu điện gia dụng số 1 Việt Nam năm 2001 và trở thành thành viên của Tập đoàn Haier vào năm 2012. Kể từ đó, Aqua Việt Nam luôn tiếp tục phát triển và đa dạng hóa các dòng sản phẩm, thiết bị điện cho thị trường Việt Nam. Năm 2018, doanh thu của công ty đạt 200 triệu USD và mục tiêu 500 triệu USD trong 5 năm tới.

LĨNH VỰC:

Sản xuất

CÔNG NGHỆ:

AWS

THÁCH THỨC

AQUA đang chạy Microsoft workloads trên nhiều môi trường khác nhau, chủ yếu là Microsoft Azure. Tuy nhiên, theo chiến lược từ tập đoàn, AQUA được yêu cầu phải đồng bộ hệ thống trên nền tảng AWS. Ở giai đoạn đầu tiên, AQUA đã cùng Renova Cloud dịch chuyển hạ tầng lên AWS. Và trong giai đoạn thứ hai này, AQUA mong muốn thiết lập quy trình CI/CD đáng tin cậy để tăng tốc. Đồng thời tăng tính ổn định cho chu kỳ phát triển ứng dụng của họ.

AQUA có nhiều ứng dụng chạy trên Azure Web App Service và một số MS SQL Server database chạy trên Azure SQL. Trong đó, 3 ứng dụng được xác định là quan trọng trong kinh doanh và bắt buộc phải di chuyển, yêu cầu cũng tương tự đối với 2 databases. Tất cả các ứng dụng này đều là phiên bản .NET Framework 4.5.2 và yêu cầu IIS. Và cả 3 ứng dụng đều cần thiết lập quy trình CI/CD.

Yêu cầu:

• Di chuyển các ứng dụng Web và Databases lên AWS

• Giám sát và xử lý ngay lập tức sự cố phát sinh trên môi trường Production

• Dễ dàng quản trị và bảo trì hạ tầng (không cần phải kết nối từ xa đến Windows Server và thiết lập IIS web server)

• Tận dụng tối đa các dịch vụ từ AWS như dịch vụ kỹ thuật số và trực tuyến, kết nối từ xa và tự động hóa, giám sát và báo cáo.

• Tự động co giãn linh hoạt theo theo nhu cầu

• Tối ưu hóa chi phí cơ sở hạ tầng

 

• Thiết lập CI/CD cho tất cả các ứng dụng

 

Để đáp ứng những nhu cầu trên, AQUA cần một dịch vụ hỗ trợ tự động mở rộng. Và cho phép khách hàng quản lý các server từ UI (Bảng điều khiển AWS) hỗ trợ tốt cho Microsoft Windows Server và IIS.

GIẢI PHÁP

Ứng dụng của doanh nghiệp được di chuyển lên EC2 cho Microsoft Windows Server. Nơi tài nguyên được hỗ trợ bởi Elastic Beanstalk .NET trên Windows. Trên nền tảng được quản lý này, IIS web server được cấu hình để chạy các ứng dụng .NET với cài đặt tùy chỉnh.

Với sự hỗ trợ của CloudFormation template, Elastic Beanstalk có thể tự động cập nhật bằng cài đặt CI/CD workflow sử dụng Jenkins CI triển khai trên AWS. Elastic Beanstalk được thiết lập tự động mở rộng quy mô từ 1 -2 instance cho tất cả các ứng dụng. Do đó, khi lưu lượng truy cập cao, instance thứ hai sẽ được kích hoạt. Hai Microsoft SQL Server database sẽ được lưu trữ trên một RDS SQL Server instance. CloudWatch logs hỗ trợ ghi chép lại tất cả các hoạt động, thông số. Và gửi cảnh báo khi phát hiện vấn đề.

Tất cả 3 ứng dụng Elastic Beanstalk trên EC2 intances đều nằm trong private subnet với cài đặt security group giúp hạn chế lưu lượng đến. Trong khi đó, NAT Gateway và Windows bastion host được đặt trong cùng một VPC, hỗ trợ các kết nối ra internet và kết nối từ xa. Application Load Balancer được thiết lập để phân phối lưu lượng truy cập đến các EC2 instance. AQUA sử dụng nhà cung cấp DNS bên ngoài và công ty đăng ký tên miền để liên kết DNS miền tùy chỉnh với load balancer. Trong khi Renova Cloud thiết lập ACM để áp dụng SSL certificate trong ALB. Giúp các trang web chỉ có thể truy cập thông qua giao thức HTTPS an toàn.

Đối với SQL Server Databases, Renova Cloud sử dụng Database Migration Service (DMS) với Azure SQL. Cả dữ liệu và giản đồ đã được di chuyển thành công. Tuy nhiên, một số cài đặt và cấu hình phải được ghi chép và tạo lại theo cách thủ công trong RDS vì DMS không hỗ trợ cho các tác vụ này.

Renova Cloud hỗ trợ AQUA thiết lập AWS ToolKit trong môi trường phát triển Visual Studio. Đồng thời sửa đổi mã code và cấu hình ứng dụng. Để đảm bảo môi trường có khả năng mở rộng linh hoạt theo quy mô hoạt động. Điều này là vô cùng cần thiết để ứng dụng không phụ thuộc vào cài đặt đã được lưu. Đối với một số ứng dụng, mã phải được sửa đổi để ngăn ứng dụng lưu trữ tệp (hình ảnh tĩnh) trong local file system. Đối với các ứng dụng này, Renova Cloud đã hướng dẫn nhóm kỹ thuật AQUA sửa đổi ứng dụng để sử dụng các S3 bucket riêng để lưu trữ. Khi không có tệp nào trên các instance, giúp bạn linh hoạt mở rộng quy mô theo nhu cầu.

Một CI/CD pipeline hoàn chỉnh đã được thiết lập sau cuộc thảo luận giữa Renova Cloud và nhóm phát triển AQUA. CI/CD flow với Jenkins CI cluster chạy trên các EC2, được lưu trữ trong mạng VPC riêng biệt. Việc quản trị chỉ thực hiện với một master node nhỏ trên Linux, trong khi các tác vụ xây dựng được chạy trên Windows agent node. Windows Server có cài đặt công cụ .NET được sử dụng vì .NET Framework yêu cầu các bản dựng Windows. AQUA lưu trữ mã nguồn trong GitHub và khi ghi lại mã nguồn vào một trong các kho. Webhook sẽ kích hoạt bản dựng Jenkins, trên môi trường dàn dựng hoặc sản xuất dựa trên nhánh nguồn. Nếu quá trình xây dựng Jenkins thành công, package sẽ được đưa vào S3 bucket và việc triển khai Elastic Beanstalk được kích hoạt để cập nhật cho môi trường. Để giảm thiểu thời gian chết, EB được triển khai tính bất biến.

CI/CD flow:

  1. AQUA developer ghi lại mã nguồn vào kho lưu trữ trên GitHub
  2. GitHub gửi webhook tới Jenkins CI với paramaters branch, project
  3. Jenkins kích hoạt xây dựng dựa trên các webhook paramater (staging/ production; project)
  4. Jenkins kiểm tra mã nguồn từ kho lưu trữ và nhánh GitHub
  5. Jenkins xây dựng dự án bằng MSBuild .NET Framework 4.5
  6. Để xây dựng thành công, Jenkins tải package lên S3 bucket bằng MSDeploy
  7. Jenkins kích hoạt triển khai Elastic Beanstalk với package đang trên S3 và phiên bản mới
  8. Elastic Beanstalk xây dựng tính bất biến và cập nhật hạ tầng
  9. Jenkins ghi lại kết quả xây dựng và lưu trữ các thao tác
  10. Elastic Beanstalk cập nhật tình trạng môi trường và nhật ký triển khai

 

Điểm nổi bật của giải pháp:

  • Elastic Beanstalk hỗ trợ cho tất cả .NET Framework workloads
  • Sử dụng nền tảng được quản lý hoàn toàn: .NET trên Windows Server
  • Ưu điểm của Elastic Beanstalk
  • Nền tảng quản lý toàn phần được cấu hình trước để chạy .NET Framework trên IIS
  • Hỗ trợ cân bằng tải và tự động mở rộng linh hoạt theo nhu cầu
  • Giám sát giao diện người dùng từ AWS console
  • Dễ dàng sử dụng cho AQUA
  • RDS với MS SQL Server Standard
  • Sử dụng RDS, Databases được quản lý và đảm bảo tính ổn định với các bản sao lưu, khả năng phục hồi
  • Dễ dàng sao lưu với S3, EBS snapshots và RDS snapshot
  • Hỗ trợ giám sát với CloudWatch
  • Dịch vụ VPC; Kết nối VPN và NAT Gateway

LỢI ÍCH MANG LẠI

Sự dịch chuyển và triển khai CI/CD trên AWS giúp tối ưu hóa tối đa hiệu suất hoạt động của AQUA. Tất cả các dịch vụ web đều có hiệu suất tốt hơn so với trước khi di chuyển. Và Databases cũng đang cho thấy hiệu suất được cải thiện. Không kém phần quan trọng là việc tiết kiệm chi phí nhờ tính linh hoạt mở rộng theo nhu cầu.

Tự động hóa với CI/CD flow giúp rút ngắn đáng kể  thời gian. Bất kỳ khi nào một tính năng mới được xây dựng mã code xong, quy trình CI/CD sẽ xây dựng, kiểm tra mã code mới và triển khai trực tiếp vào môi trường sản xuất với thời gian tối thiểu. Tài liệu về CI/CD scripts, yaml files,  CloudFormation templates và triển khai manifests được Renova Cloud cung cấp. Nhằm giúp AQUA có cái nhìn đầy đủ các ứng dụng và hệ thống. Với cách tiếp cận Infrastructure as Code (IaC) này, mọi thứ trong hệ thống đều có thể tái sản xuất. Nếu một instance gặp sự cố, nó sẽ cho dừng hoặc kết thúc. Và instance mới sẽ tự động được thiết lập. Không cần phải truy cập thủ công vào IIS web server hoặc hệ thống tệp vật lý của ứng dụng trên Windows Server Instance. Điều này giúp giảm tác vụ quản trị và cho phép nhóm tập trung vào các nhiệm vụ khác.

Giải pháp của Renova Cloud tận dụng Elastic Beanstalk .NET trên nền tảng Windows, RDS cho SQL Server và các dịch vụ AWS khác được xây dựng với tính bảo mật cao nhất nhưng không ảnh hưởng đến hoạt động hoặc hiệu quả về chi phí. Tấn công tiềm ẩn được giảm thiểu thông qua việc sử dụng hợp lý các VPC biệt lập, private subnets, security groups và kết nối VPN. Như vậy, AQUA có thể yên tâm về tính bảo mật.

RELATED STORIES

Greenfeed

Greenfeed – giải pháp tối ưu hóa dữ liệu với AWS

Được thành lập năm 2003, sứ mệnh của Greenfeed là đem đến cho người tiêu dùng chuỗi thực phẩm sạch từ trang trại đến tận bàn ăn với quy trình Đọc thêm>

Startup oi

RENOVA – STARTUP OI – HÀNH TRÌNH CHUYỂN ĐỔI

StartupOi là một công ty khởi nghiệp trong lĩnh vực về CNTT, chuyên cung cấp các giải pháp kết nối giữa các lập trình viên và các công ty tuyển dụng.Đọc thêm>

Vietcetera

VIETCETERA – HÀNH TRÌNH DỊCH CHUYỂN SANG AWS

Vietcetera là công ty truyền thông được thành lập vào năm 2016 với sứ mệnh: đưa Việt Nam ra thế giới và đưa thế giới về Việt NamĐọc thêm>

IMV

IMV – TỪ ON-PREMISE LÊN CLOUD

IMV đang lưu trữ tất cả các dịch vụ của họ trên các cơ sở hạ tầng vật lý. Điều này gây ra sự hạn chế đối với nhu cầu nâng cấp trong tương lai của họ.Đọc thêm>

Smartpay

Smartpay – Rehost và Replatform khi dịch chuyển lên AWS

SmartPay đang ngày càng phát triển với các nhà cung cấp, đối tác và người dùng mới. Và là một đối thủ quan trọng trong bối cảnh bùng nổ ứng dụng thanh toán Việt Nam.Đọc thêm>

Pepsi Co Myanmar

Accelerate SAP S/4HANA Transformation With AWS

Pepsi Co Myanmar mong muốn hiện đại hóa hạ tầng hiện có và khởi chạy nền tảng mới cho người dùng và ứng dụng bằng các giải pháp công nghệ mới nhất cùng với SAP S/4HANA trên AWS. Đọc thêm>

Nutifood Group

AWS Immersion Day (Nutifood Group)

Mục tiêu của buổi chia sẻ là giúp đội ngũ IT và ban lãnh đạo của N Group tự tin sử dụng nền tảng AWS và mở ra các cơ hội kinh doanh mới. Đọc thêm>

Tadiran

Serverless application implementation on AWS

Tadiran là công ty sản xuất thiết bị điện hàng đầu trên toàn thế giới. Một số dòng sản phẩm nổi tiếng của công ty như pin và máy điều hòa không khí. Đọc thêm>

Scratchpay

Scratchpay - Financial services

Scratchpay là một dịch vụ tài chính do Scratch Financial, Inc. cung cấp, workloads của họ được host trên cơ sở hạ tầng Public Cloud của Google Cloud Platform (GCP). Đọc thêm>

UAB - Connect. Create. Change.

UAB BANK CLOUD NATIVE APPS

Là một phần trong chiến lược hiện đại hóa và số hóa, UAB đang mở rộng các dịch vụ của mình để xây dựng các ứng dụng di động cho mục đích thanh toán và Ví điện tử để phục vụ thị trường ngân hàng tiêu dùng Myanmar đang phát triển Đọc thêm>

Yoma

YOMA STRATEGIC HOLDINGS

Nhu cầu ngày càng tăng đối với các ứng dụng và hoạt động kinh doanh của Yoma trên các lĩnh vực khác nhau đòi hỏi phải có một kế hoạch chuyển đổi kỹ thuật số thật sự hiệu quả. Đọc thêm>

AQUA

DỊCH CHUYỂN & CI/CD

AQUA có thể cải thiện hoạt động do quá trình di chuyển và CI / CD trên AWS cũng như có thể phát hành các tính năng mới nhanh hơn với thời gian tối thiểu và sự gián đoạn cho người dùng cuối. Đọc thêm>

SOVIGAZ

SOVIGAZ HÀNH TRÌNH DỊCH CHUYỂN SANG AWS

Sự linh hoạt của cơ sở hạ tầng mới giúp Sovigaz giảm bớt gánh nặng quản lý cơ sở hạ tầng như trước đây. Đồng thời loại bỏ hạn chế và tăng khả năng tiếp cận các dịch vụ tiên tiến được cung cấp trên nền tảng AWS. Đọc thêm>

KAOPIZ

KAOPIZ SOFTWARE TỰ ĐỘNG HÓA & CI/CD

Tự động hóa quy trình trên AWS và tạo môi trường để thử nghiệm các tính năng mới nhằm hỗ trợ nhóm Developer & QA thực hiện công việc nhanh hơn và có thể tự động hóa dù không có kinh nghiệm và kỹ năng chuyên sâu trên AWS. Đọc thêm>

NAVIGOS

NAVIGOS GROUP VỚI HÀNH TRÌNH DỊCH CHUYỂN & SAO LƯU

Đảm bảo an toàn trong quy trình khắc phục hậu quả là một phần trong cam kết của công ty với khách hàng của mình. Do đó, ứng dụng của Navigos yêu cầu phải có kế hoạch nhanh và hiệu quả trong mọi tình huống khắc phục thảm họa. Đọc thêm>

SABECO

SABECO - DỊCH CHUYỂN VÀ TỐI ƯU HÓA KIẾN TRÚC HẠ TẦNG

Sau khi chuyển sang AWS, Sabeco có khả năng đáp ứng nhanh chóng hơn trong trường hợp tăng lưu lượng truy cập và việc sử dụng dịch vụ khi cần thiết, giúp việc chạy các chiến dịch tiếp thị và tung ra các tính năng mới ít rủi ro hơn. Đọc thêm>

NKID’S

Nkid – Hành trình dịch chuyển lên Cloud

Nkid Group đang vận hành Microsoft workloads trên nhiều môi trường khác nhau như on-premises, local data center tại Vietnam, Microsoft Azure và AWS.Đọc thêm>