• Pinterest giảm 40% thời gian tải trang giúp tăng 15% lượt đăng ký mới
• BBC cho biết họ đã mất thêm 10% người dùng cho mỗi giây tải trang
• Báo cáo của Google cho thấy thời gian tải trang dưới 5 giây có tỉ lệ người xem trang cao hơn 70%, tỷ lệ thoát thấp hơn 35% và khả năng xem quảng cáo cao hơn 25% so với các trang web tải trang trong 19 giây.

Rõ ràng việc cải thiện hiệu suất trang web có ý nghĩa cực kỳ quan trọng, nó liên quan đến việc tăng trải nghiệm người dùng, giữ chân họ lâu hơn và tăng tỉ lệ chuyển đổi.
Đối với lập trình viên, đặc biệt là những người trực tiếp tham gia xây dựng và phát triển website, chất lượng của product không chỉ bao gồm sự quan tâm về tăng tính năng hay, giao diện đẹp mà còn phải cần quan tâm tới cả các vấn đề liên quan khác, ví dụ như vấn đề bảo mật, vấn đề kiểm thử, khả năng mở rộng, nâng cấp hệ thống, đáp ứng lượng truy cập ngày càng tăng, …
Để tìm hiểu rõ hơn về tối ưu hóa hiệu suất cho Web App, chúng tôi đã tìm gặp anh Nguyễn Xuân Huy – Technical Manager của Cybozu đồng thời cũng là diễn giả trong buổi Meetup về chủ đề High Performance Web App: From Idea to Production sẽ được tổ chức vào đầu tháng 10 tới. Cùng lắng nghe những chia sẻ, góc nhìn từ anh Nguyễn Xuân Huy về chủ đề khá thú vị này.

Ứng dụng triết lý Kaizen trong cải thiện performance cho Web App

Triết lý Kaizen hay còn gọi là triết lý phát triển sản phẩm không ngừng cho rằng sản phẩm phải luôn được cải tiến và không ngừng đổi mới. Theo đó việc hoàn thành một web app hoạt động được với UI đẹp, UX tiện dụng; đó mới chỉ sự khởi đầu để chuẩn bị bước sang những giai đoạn tiếp theo, vận hành và phát triển cho web app. “Website không chỉ cần hoạt động được mà còn phải duy trì được sự ổn định và cung cấp tính năng ngày càng tiện dụng hơn nữa” – anh Huy cho biết.

Ứng dụng Kaizen vào cải thiện cho một Web App nói chung, đòi hỏi lập trình viên đặt lý tưởng cho sự phát triển của sản phẩm, suy nghĩ nhiều hơn về bài toán tổng thể, xác định mục tiêu nghiên cứu tìm hiểu các công nghệ có liên quan để giải quyết bài toán đặt ra.

Đánh giá từ góc độ hiệu quả thì rõ ràng việc cải tiến từng vấn để nhỏ từng chút một và thực hiện liên tục từ những thứ có sẵn sẽ hiệu quả và ít tốn kém, ít rủi ro hơn so với việc tạo ra một sản phẩm mới hoặc trì hoãn đi việc cải tiến. Triết lý Kaizen đã chứng minh được những hiệu quả nhất định trong lĩnh vực phần mềm và kể cả ngoài lĩnh vực phần mềm. SONY, HONDA, TOYOTA… là những case study tiêu biểu đã ứng dụng thành công triết lý này vào quy trình phát triển sản phẩm.

Case Study cải thiện performance Web App của Cybozu

Cybozu là công ty sản xuất phần mềm đến từ Nhật Bản, được thành lập từ năm 1997. Cybozu tự hào là nhà cung cấp phần mềm Collaborative trên nền tảng on-premise và SaaS số 1 tại Nhật Bản với hơn 7,5 triệu người dùng, có trụ sở chính tại Nhật bản và các chi nhánh ở Việt Nam, Trung Quốc, Mỹ, Australia.

Cybozu đã đặt văn phòng tại Việt Nam từ năm 2009

Với một hệ thống có lượng người dùng lớn, hoạt động ở nhiều quốc gia như Cybozu thì việc triển khai High Performance Web App là điều không dễ dàng. Chính vì vậy, cần có những nguyên tắc áp dụng nhất định.
Trước hết, mỗi cá nhân trong công ty cần có nhận thức đúng về lý tưởng chung của sản phẩm cũng như của tập đoàn và vận dụng Kaizen như một công cụ thể thực hiện lý tưởng. Giải thích rõ hơn về điều này, anh Huy đã chia sẻ:
Bất kỳ thành viên mới nào tham gia vào nhóm phát triển product cũng đều sẽ được có thời gian để tìm hiểu về product mà bạn ấy sẽ phát triển. Những câu hỏi thường được đặt ra cho các bạn đó là: Cảm nhận của bạn về product này như thế nào? Có những chức năng nào trong sản phẩm làm bạn cảm thấy bối rối khi sử dụng không? Bạn có đề xuất gì để khắc phục hoặc cải thiện cho chúng không?
Tư duy cải tiến là một trong những yếu tố được chúng tôi chia sẻ với các bạn developer ngay từ giai đoạn tiếp cận với product. Từ các thành viên trong nhóm phát triển cho đến các leader hay manager cấp cao, tất cả chúng tôi sẽ đều cùng mong muốn lắng nghe ý kiến đề xuất của nhau, dù bạn đang ở vị trí là một senior hay fresher developer.
Tại Cybozu, Teamwork – cùng hướng về một mục tiêu chung, cũng chính là tinh thần được chúng tôi xem trọng hàng đầu.”

Cybozu Vietnam là một nhánh thuộc tập đoàn Cybozu toàn cầu

Để tối ưu hóa hiệu suất website thì việc nâng cấp công nghệ mới là điều tất yếu, để website có thể đáp ứng ngày càng cao nhu cầu của người dùng, khắc phục những hạn chế của công nghệ trước đó. Tuy nhiên, điều đó không có nghĩa là chạy theo công nghệ một cách tức thời thiếu cân nhắc, vì thế cần hoạch định chiến lược cho lộ trình nâng cấp công nghệ một cách rõ ràng.
Với hơn 20 năm phát triển sản phẩm, tập đoàn Cybozu cũng trải qua rất nhiều giai đoạn cải tiến nói chung, trong giai đoạn những năm gần đây có thể kể đến là việc chuyển từ PHP5 lên PHP7 cùng với việc đưa CI/CD vào quá trình phát triển sản phẩm Garoon nói riêng, đã giúp tối ưu được hiệu suất web app lên 33%. Anh Huy cũng cho biết thêm, tại Cybozu dù là cập nhật cho một bản nâng cấp hay việc lựa chọn một công nghệ, ngôn ngữ, hay framework nào đó thì đều cần phải đảm bảo các yếu tố tiên quyết như:
– Tính ổn định
– Tính linh hoạt
– Chi phí chuyển đổi
Đối với một hệ thống lớn, hoạt động ở nhiều quốc gia thì mỗi thay đổi nhỏ đều sẽ tạo ra những phản ứng lớn. Tuy nhiên, thay đổi công nghệ là điều cần thiết để web app hoạt động tốt hơn. Vậy làm thế nào vừa ứng dụng được công nghệ mới để đem lại thêm giá trị mới cho sản phẩm đồng thời vẫn có thể duy trì sự ổn định cho toàn hệ thống là điều mà Cybozu developer lấy đó làm mục tiêu phát triển.
Giải pháp mà Cybozu đưa ra nhằm đảm bảo cân bằng được cả 2 yếu tố trên là xây dựng một lộ trình thay đổi công nghệ, trong đó chia thành các giai đoạn nhỏ hơn để thực hiện cải thiện lần lượt từng phần một:
• Điều tra công nghệ mới
• Thử nghiệm
• Đánh giá hiệu quả khi áp dụng
• Kiểm thử trên hệ thống
• Ứng dụng vào dự án
• Tối ưu hóa
Quá trình này phải được tất cả thành viên trong team nhận thức rõ để đảm bảo hệ thống sẽ luôn trong trại thái tối ưu nhất, và hạn chế tối đa nhất những sai sót khi triển khai vào thực tiễn. Cùng với đó việc áp dụng phương pháp phát triển phần mềm Continuous Integration (CI) và Continuous Delivery (CD) sẽ giúp đẩy nhanh quy trình hơn.

Tạm kết

Không riêng gì đối với hệ thống lớn như Cybozu.com phục vụ hàng triệu người dùng, ngay cả đối với những hệ thống ít phức tạp hơn, lượng người dùng chưa lớn cũng nên bắt đầu quan tâm hơn đến vấn đề performance của Web App bởi nó liên quan trực tiếp đến trải nghiệm người dùng.
Câu chuyện về High Performance Web App, chuyển đổi công nghệ để nâng cao hiệu suất, áp dụng CI, CD để nâng cao hiệu quả phát triển, … sẽ còn là những câu chuyện rất dài mà trong phạm vi bài viết này không thể chia sẻ hết. Nếu quan tâm đến chủ đề này, và mong muốn có những trao đổi chuyên sâu thêm cùng các diễn giả kinh nghiệm hãy đăng ký tham dự buổi Meetup ngay tại đây.
P/s: Sự kiện HOÀN TOÀN KHÔNG THU PHÍ và chỉ giới hạn 50 slot tham dự, chần chừ gì nữa mà không tham gia ngay sự kiện cực HOT lần này!

Thông tin thêm về sự kiện:

🚩 Thời gian: 17h30 – 21h00 | 04/10/2018

🚩 Địa điểm: Cybozu Vietnam, Centrepoint Building, 106 Nguyễn Văn Trỗi, Q. Phú Nhuận, HCM

🚩 Đăng kí tại: https://meetup.vn/e/FYO?src=a