TIKI @ Scale in 10 Years.

Công nghệ là nền tảng để xây dựng Ecommerce. Theo cùng sự phát triển của kinh doanh, hệ thống TIKI cũng không ngừng mở rộng trong suốt 10 năm phát triển. chúng tôi đã đi lên từ một website ecommerce trên nền tảng Magento thành một hệ thống lớn phức tạp: xây dựng trên 700 bộ mã nguồn, với 500 systems hoạt động và được phát triển bởi hơn 200 engineers, phục vụ tầm 400 triệu lượt tương tác của khách hàng mỗi tháng và đáp ứng nhu cầu vận hành của hơn 5000 nhân viên TIKI cùng hàng chục nghìn sellers. Trong 10 năm đó, chúng tôi đã học từ những dòng mã nguồn đầu tiên của Ecommerce tới xây dựng cả một hệ thống phân tán phức tạp. Chặng đường đó đánh dấu sự trưởng thành vượt bậc của nền tảng công nghệ cùng đội ngũ kỹ sư TIKI.

Trải qua 10 năm, chúng tôi đã vượt qua nhiều thử thách để xây dựng và phát triển hệ thống nhằm theo kịp tốc độ phát triển của công ty. Thật thú vị khi nhìn lại cả chặng đường, chúng tôi thấy sự chuyển mình cả hệ thống theo từng bước phát triển của công ty. Công nghệ đóng vai trò nền tảng, tạo ra cơ sở để nảy nở các ý tưởng, tạo ra những bước nhảy vọt cho công ty.

Chặng đường xây dựng của hệ thống TIKI có năm dấu mốc lớn:

  • Xây dựng nền tảng Talaria: tự học cách làm chủ việc xây dựng một hệ thống Ecommerce.
  • Kiến trúc phi tập trung: để mở rộng hệ thống theo kịp tốc độc tăng trưởng kinh doanh.
  • Hệ thống phân tán lớn: Xây dựng hệ thống lớn để đáp ứng sự bùng nổ của kinh doanh.
  • Xây dựng nền tảng hạ tầng: Xây dựng nền tảng hạ tầng để đáp ứng nhu cầu tính toán lưu trữ của toàn hệ thống.
  • Nhưng thời khắc khó khăn: Sự trưởng thành từ những thời điểm khó khăn.

1. Xây dựng nền tảng Talaria.

10 năm trước, chúng tôi bắt đầu xây dựng website tiki.vn trên nền tảng Magento. Chúng tôi bắt đầu bán những cuốn sách ngoại văn, rồi sau đó là sách tiếng Việt và rồi mở ra tất cả các ngành hàng tiêu dùng. 10 năm về trước, đội ngũ engineers TIKI chỉ là một nhóm nhỏ kỹ sư, tập hợp từ nhiều lĩnh vực CNTT khác nhau. Nhưng tất cả đều có điểm chung là lạ lẫm với các hệ thống Ecommerce. Mọi thứ đều mới mẻ, từ các thuật ngữ tới các cấu trúc dữ liệu về product, sales order, customers… và các quy trình bán hàng, marketing, vận hành trong Ecommerce ở Việt Nam. 5 năm đầu tiên là quãng thời gian để chúng tôi học từ một nền tảng Ecommerce mã nguồn mở nổi tiếng là Magento. Chúng tôi học cách cài đặt, sửa đổi mã nguồn, quản trị cơ sở dữ liệu, tư tưởng thiết kế và hơn cả là học cách vận hành kinh doanh một hệ thống Ecommerce ra sao.

Từ 2014 đầu 2015, chúng tôi bắt đầu mở rộng ngành hàng, từ chỉ bán sách sang bán đa dạng tất cả các ngành hàng tiêu dùng. Lượng truy cập ngày một tăng cao và nền tảng Magento dần không đáp ứng được nhu cầu kinh doanh của công ty. Website chậm chạp và việc sửa đổi, phát triển tính năng mới ngày một khó khăn. Nhưng lúc này, đội ngũ kỹ sư cũng đã hiểu được tường tận một hệ thống Ecommerce ra sao. Sau 5 năm xây dựng, việc đưa ra một quyết định đập bỏ nền tảng đang có là một quyết định khó khăn. Các kỹ sư, đứng đầu là anh Nguyễn Sơn Tùng đã đưa ra ba lập luận để thuyết phục ban lãnh đạo thay đổi:

  • Magento là hệ thống phục vụ cho đa mục đích, khó tùy biến với nhu cầu của riêng TIKI và hoạt động chậm chạp.
  • Để scale các kỹ sư Tiki phải cực kỳ hiểu rõ và làm chủ từng dòng code ecommerce..
  • Làm chủ cả nền tảng mở ra cơ hội tiếp cận các công nghệ mới, giúp tạo ra một thế hệ engineer ham học hỏi và đồng thời thu hút được những người giỏi hơn tham gia.

Giữa 2014, chúng tôi quyết định xây dựng nền tảng Ecommerce mới đặt tên là Talaria. Talaria là tên đôi sandals có cánh của thần thông tin Hermes. Đội ngũ kỹ sư lấy cảm hứng để xây dựng nền tảng mới như đôi cánh để TIKI đi nhanh và đi xa hơn.

Chúng tôi bắt tay vào xây dựng nền tảng mới vài engineers. Vận dụng tư tưởng thiết kế của Magento, nhưng chúng tôi đã vận dụng khéo léo, lược bỏ các phần dư thừa và chỉ là lựa chọn các thiết kế phù hợp nhất với nhu cầu kinh doanh của TIKI. Đồng thời thay đổi hoàn toàn kiến trúc của website e-commerce để có thể chịu được lượng tải gấp nhiều lần Magento. Trong vòng 6 tháng, bằng nỗ lực và sự tháo vát của đội ngũ kỹ sư, chỉ với 5 người, nhóm đã xây dựng xong nền tảng Ecommerce mới cho TIKI. Đầu 2015, Talaria đã thay Magento hoàn toàn. Hệ thống mới tạo ra trải nghiệm người dùng mượt mà, đồng thời dễ dàng mở rộng và nâng cấp. Tới nay sau 5 năm, Talaria vẫn là nền tảng chính phục vụ khách hàng TIKI, kiến trúc đơn giản tạo điều kiện cho hàng trăm lượt engineers liên tục nâng cấp và phát triển hệ thống dễ dàng. Nó đánh dấu cột mốc khi đội ngũ Engineers TIKI làm chủ được toàn bộ việc phát triển một hệ thống Ecommerce. 2015 cũng bắt đầu một giai đoạn tăng trưởng mới của TIKI.

2. Kiến trúc phi tập trung để mở rộng nghiệp vụ.

Trong 10 năm phát triển, hoạt động kinh doanh TIKI mở rộng từ việc bán sách ngoại văn tới một hệ thống vận hành phức tạp: bán hàng, marketing, giao vận… công ty từ một nhóm startup thành một cỗ máy vận hành bởi hơn 5000 người. Sự bùng nổ về kinh doanh, cũng đặt ra thách thức về kiến trúc để phát triển phần mềm đáp ứng nhu cầu mở rộng nghiệp vụ kinh doanh của TIKI. Khởi đầu, toàn bộ hoạt động vận hành của TIKI được xây dựng trên một nền tảng duy nhất, bởi cùng một team phát triển. Theo thời gian, nghiệp vụ ngày một lớn lên, các product ngày một phức tạp nhằm đáp ứng nhiều mục tiêu kinh doanh khác nhau. Điều này dẫn tới việc ra quyết định, phát triển khó khăn và bị chậm lại khi quy mô của team phát triển và product mở rộng. Việc phát triển trên một nền tảng duy nhất trở thành điểm thắt để mở rộng cho các nghiệp vụ mới.

2014 xây dựng hệ thống vận hành ERP. Để phục vụ người dùng tốt hơn, TIKI bắt đầu xây dựng hệ thống kho bãi. Việc có thêm nghiệp vụ kho bãi, cũng kéo theo nhu cầu xây dựng hệ thống thông tin để quản lý và vận hành hiệu quả. Nhưng Magento vốn chỉ được thiết kế để cho các hoạt động bán hàng online. Các kỹ sư đã quyết định xây dựng một hệ thống ERP riêng trên nền tảng mã nguồn mở Open ERP. Việc đưa hệ thống ERP mới vào, đã tạo ra nền tảng để phát triển các dịch vụ giao vận, cơ sở để tạo ra dịch vụ TikiNOW đột phá sau này.

2016 chúng tôi quyết định chuyển đổi sang mô hình Marketplace. Việc phát triển phải hoàn tất trong 3 tháng. Trong khi Talaria và CPN đã quá cồng kềnh. Cần một không gian đủ rộng để một team phát triển mới nhanh chóng triển khai xây dựng hệ thống mới. Đội ngũ engineers thay đổi tư duy thiết kế từ kiến trúc tập trung sang kiến trúc Microservice để phân rã hệ thống tới mức nhỏ nhất có thể. Từ một hệ thống Ecommerce lớn chia nhỏ thành từng service riêng cho product, orders, sellers… Nhờ vậy quá trình phát triển diễn ra độc lập, song song. Với chiến lược này dự án đã hoàn thành nhanh chóng, đáp ứng đúng kế hoạch đề ra.

Từ 2017, phi tập trung đã trở thành phương pháp mở rộng chính cho toàn TIKI: nó cho phép lên kế hoạch, đầu tư nguồn lực và phát triển hệ thống độc lập, tối ưu theo từng các chỉ số kinh doanh. Trong các năm tiếp theo, hàng loạt service mới ra đời và hoàn thiện như Catalog, Fulfillment, Order Management System, Checkout, Order Routing…Trong vòng 3 năm, hệ thống Marketplace mở rộng tới 100 service, và toàn TIKI lên tới 500 service, đáp ứng các nhu cầu vận hành đa dạng của một sàn Ecommerce. Nó cũng giúp mở rộng không gian phát triển cho đội ngũ kỹ sư TIKI từ 60 engineers năm 2016 lên hơn 200 engineers tại thời điểm hiện tại.

3. Hệ thống phân tán lớn.

Trong vòng 10 năm, lượng giao dịch và dữ liệu tăng vọt theo tốc độ tăng trưởng của business. Điều đó kéo theo quá trình xử lý tính toán của hệ thống ngày một phức tạp và thách thức hơn. Từ 2017 tới 2020, lượng sản phẩm tăng 60 lần, lượng đơn hàng tăng gấp hàng chục lần, lượng truy cập tăng lên hàng triệu lượt mỗi ngày. Điều này dẫn tới quá trình xử lý ngày một phức tạp. Kiến trúc xử lý nguyên khối trước đây không đáp ứng được yêu cầu độ ổn định và mở rộng của hệ thống.

Từ 2017, TIKI bắt đầu chuyển đổi từ mô hình kiến trúc web đơn giản sang các mô hình kiến trúc phân tán phức tạp hơn để xử lý dữ liệu ở quy mô lớn hơn trước nhiều lần. Các kỹ sư TIKI đã xây dựng một nền tảng tích hợp dữ liệu ổn định, tin cậy và hiệu năng cao. Dữ liệu từ hàng trăm nguồn dữ liệu khác nhau được luân chuyển, đồng bộ realtime giữa các tất cả các hệ thống. Các công nghệ mới được đưa vào cho phép xử lý hàng ngàn lượt truy cập mỗi giây với độ trễ chỉ vài milliseconds (1/1000 giây).

Dựa trên các nền tảng công nghệ mới, hàng loạt project của Catalog, Search, Data warehouse, Order. Operation… đã được xây dựng mới đáp ứng yêu cầu hiệu năng cao. Hiện nay, mỗi ngày hơn 20 triệu lượt thay đổi thông tin sản phẩm được đồng bộ realtime tới tất cả các hệ thống, phục hơn 4 triệu lượt xem sản phẩm, 3 triệu lượt tìm kiếm, xử lý chính xác hàng trăm nghìn giao dịch đặt hàng mỗi ngày, cung cấp báo cáo kinh doanh cho toàn bộ công ty trong vòng vài phút.

4. Xây dựng hạ tầng vững chắc.

Trong 10 năm tăng trưởng liên tục, hạ tầng là bộ phận gặp nhiều thách thức và khó khăn nhất để đáp ứng nhu cầu mở rộng kinh doanh của công ty. Trong vòng 5 năm gần nhất, hạ tầng chỉ được mở rộng tầm 10 lần, nhưng đã đáp ứng mức độ tăng trưởng hàng chục lần của công ty. Khó khăn về ngân sách, tài nguyên tính toán đã buộc đội ngũ kỹ sư TIKI phát huy hết khả năng sáng tạo để đảm bảo sự ổn định cho toàn bộ hệ thống.

Bằng sự hiểu biết sâu sắc về kiến trúc phần cứng, các kỹ sư TIKI vận hành vô cùng tích kiệm và khéo léo để mở rộng hệ thống. Ngay từ những ngày đầu tiên, từng server, từng linh kiện đều được cân nhắc tỉ mỉ giữa hiệu năng và giá tiền. Tất cả các linh kiện và máy chủ được tận dụng tối đa công năng. Nhóm hạ tầng phân loại nhu cầu tính toán tỉ mỉ, dự đoán chính xác tăng trưởng khách hàng để đầu tư vừa đủ các server mới, đồng thời khéo léo ảo hóa các server cũ, yếu hoặc hết hạn khấu hao để phục vụ các xử lý bên dưới hay tạo môi trường thử nghiệm cho nội bộ. Nhiều thời điểm khó khăn, hệ thống phải chạy mà thiếu các thiết bị backup. Nhưng nhờ sự nỗ lực và am hiểu sâu sắc về hạ tầng và đặc thù của hệ thống, các kỹ sư đã đảm bảo sự ổn định của hệ thống với chi phí tối thiểu nhất.

Năm 2016, team hạ tầng đã ảo hóa tạo ra nền tảng tính toán trong suốt cho toàn bộ đội ngũ engineers. Team hạ tầng TIKI đã áp dụng quy trình CI/CD và công nghệ Kubernetes mới nhất cho toàn bộ khối Engineers, tạo ra môi trường phát triển đồng nhất cho tất cả các ứng dụng trong hệ thống. Hàng ngàn ứng dụng có thể được đưa lên môi trường production nhanh chóng, dễ dàng vào bất cứ lúc nào. Điều đó giúp đáp ứng nhu cầu cải tiến hệ thống liên tục của các bộ phận kinh doanh. TIKI là một trong các công ty có quy trình CI/CD quy mô lớn nhất ở Việt Nam. Mỗi ngày chúng tôi có tới hơn 40 thay đổi được triển khai mới, mang lại cho người dùng những trải nghiệm tốt nhất và cập nhật nhất.

Để đáp ứng nhu cầu kinh doanh cuối năm 2019, team hạ tầng đã phải chuyển dịch toàn bộ hạ tầng lên Google Cloud. Đó là quá trình chuyển dịch nhanh nhất khu vực châu Á Thái Bình Dương. Hàng trăm service đã được chuyển lên cloud chỉ trong vòng chưa đầy 1 tháng mà không làm gián đoạn toàn bộ quá trình phát triển của tất cả các nhóm. Điều đó có được là nhờ các nỗ lực liên tục của team hạ tầng từ 2016 nhằm xây dựng một nền tảng tính toán trong suốt cho hàng ngàn các ứng dụng của TIKI. Nhờ sự chuyển dịch kịp thời này, hạ tầng TIKI đã đáp ứng được nhu cầu tính toán tăng vọt của mùa sales 2019. Chuyển dịch lên cloud là một dấu mốc lớn trong quá trình xây dựng hạ tầng của TIKI trong 10 năm qua.

5. Những thời khắc khó khăn.

Trong 10 năm xây dựng mở rộng hệ thống, TIKI cũng trải qua không ít những thời khắc khó khăn. Đó là các thời điểm mà đội ngũ kỹ sư phải nín thở để vượt qua. Nhưng như một võ sĩ, mỗi lần chịu đòn và trụ được là một lần rắn rỏi và trưởng thành hơn.

  • 2013 — Giật Cô Hồn làm sập hệ thống: Đây là lần đầu tiên đội ngũ kỹ sư chứng kiến sự dữ dội của mua bán online là thế nào. Hàng ngàn khách đồ dồn cùng lúc để đặt những món hàng miễn phí. Xử Xử lý đặt hàng trong Ecommerce lúc cao điểm là hoàn toàn mới mẻ với đội ngũ kỹ sư. Sự kiện này đã làm thay đổi tư tưởng thiết kế scale hệ thống của TIKI từ đó về sau. Cho tới tận ngày nay, scale để xử lý đặt hàng lúc cao điểm vẫn luôn là tâm điểm để đội ngũ kỹ sư TIKI không ngừng tối ưu.
  • 2015 — Chuyển từ Magento sang Talaria: Đây là lần migrate lớn đầu tiên của TIKI. Talaria thay thế Magento để phục vụ lượng truy cập của khách hàng. Lúc đó dù chuẩn bị vô cùng cẩn thận, nhưng chẳng ai đảm bảo nó sẽ chạy đúng. Các kỹ sư phải xây dựng một hệ thống đồng bộ dữ liệu vô cùng phức tạp để duy trì cả hai hệ thống một lúc. Trong suốt một tháng, các kỹ sư phải xử lý vô vàn vấn đề phát sinh từ sự sai lệch dữ liệu giữa hai hệ thống. Sau một tháng, cuối cùng Talaria cũng đã xử lý được ổn định 100% lượng truy cập của TIKI.
  • 2017 — Nâng cấp hệ thống Marketplace: Không như lần chuyển đổi Talaria trước đó, lần này toàn bộ cấu trúc dữ liệu product và order bị thay đổi, chính vì thế toàn bộ hệ thống chỉ có thể nâng cấp một lần duy nhất để xử lý 100% lượng truy cập. Team phát triển phải chuẩn bị vô cùng cẩn thận để migrate hàng triệu bản ghi dữ liệu một cách chính xác trong vòng 5 tiếng đồng hồ để kịp mở bán trước 7h sáng. Quá trình migrate đã diễn ra thành công. TIKI đã chuyển đổi cả nền tảng sang Marketplace và đáp ứng một giai đoạn phát triển mới.
  • 2018 — Mùa sales huyền thoại đầu tiên: Một tháng trước mùa sales huyền thoại đầu tiên, hệ thống bị sập liên tục, có ngày bị sập tới 4h gây thiệt hại nặng nề cho công ty. Toàn bộ ban lãnh đạo vô cùng lo lắng. Trong suốt tháng 9, đội ngũ kỹ sư đã dồn hết lực để tối ưu, nâng cấp hạ tầng, tìm và xử lý các điểm thắt cổ chai. Tất cả phải đảm bảo ngày đầu tiên của Mùa Sales Huyền Thoại — 10/10 diễn ra thành công. 4h sáng ngày 10/10, các kỹ sư hoàn tất cả kiểm tra cuối cùng. 9h sáng ngày 10/10 đợt sales đầu tiên đổ tới, tất cả các kỹ sư nín thở chờ đợi và hệ thống đã trụ vững, 3 đợt sóng tiếp theo lúc 12h, 15h, 21h đều không gặp sự cố gì. Và chúng tôi đã có một mùa sales thành công cho cả 3 tháng tiếp theo, ghi nhận sự tăng trưởng kỷ lục của TIKI.

Công nghệ là hơi thở của Ecommerce. 10 năm tăng trưởng vũ bão, công nghệ chúng tôi đã không ngừng thay đổi liên tục để tạo ra nền tảng cho sự sáng tạo và phát triển của công ty. Với nhiều người, chúng tôi hẳn đã không nghĩ mình đã đi xa và thay đổi lớn lao tới thế. Ngày nào chúng tôi còn tò mò về bộ mã nguồn mở, thì giờ đây chúng tôi đã có một hệ thống đồ sộ, được xây dựng lên từ hàng trăm kỹ sư đam mê và tài năng. Chúng tôi đã có hệ thống phân tán hiệu năng cao, những ứng dụng AI thông minh, hệ thống xử lý dữ liệu lớn… Chặng đường tiếp theo chắc chắn sẽ đầy thử thách nhưng chúng tôi sẵn sàng. Những giá trị cốt lõi hình thành trong 10 năm đã trở thành hàng trang quan trọng để chúng tôi vươn tới những đỉnh cao công nghệ mới. Chúng tồn tại mạnh mẽ trong từng người kỹ sư TIKI:

  • Tò mò và không ngừng học hỏi: so với 10 năm trước, những gì chúng tôi biết khi đó thật bé nhỏ. Nhưng chúng tôi đã không ngừng học hỏi, tiếp thu kiến thức mới, rộng mở chào đón những tài năng mới để hoàn thiện và phát triển bản thân. Chúng tôi học công nghệ, học cách làm product, cách lên kế hoạch, cách tổ chức và vận hành một hệ thống lớn, một tổ chức lớn…
  • Dám thử dám làm: chúng tôi luôn sẵn sàng trước mọi thử thách mới, từ công nghệ tới product. Sự quả cảm và tinh thần cởi mở, quyết liệt đã giúp chúng tôi vượt qua những thời điểm khó khăn, nắm lấy những cơ hội quan trọng để thay đổi toàn bộ mô hình kinh doanh, tạo ra bước nhảy vọt.
  • Thực tế và thực dụng: Ecommerce không phải mảnh đất màu hồng, trái lại đó là một miền đất dữ dội. 10 năm đi qua, chúng tôi đã luôn thực tế khi lựa chọn giải pháp. Giải pháp tốt không phải là giải pháp trong tháp ngà để ngắm nghía, giải pháp tốt là giải pháp phù hợp với hoàn cảnh và điều kiện của công ty. Chúng tôi đã vận dụng điều đó khéo léo trong mọi hoàn cảnh, từ công nghệ tới sản phẩm… Nhờ thế chúng tôi đã vượt qua những thời điểm vô cùng khó khăn với nguồn lực tối thiểu.

Một số hình ảnh kỷ niệm.

Dev team đầu tiên
Sprint đầu tiên.
Talaria team
Đơn hàng Talaria đầu tiên.
3h sáng 10–10–2018, mùa sales huyền thoại đầu tiên.
Thức đêm chuyển lên google cloud.
Please follow and like us:

Leave a Reply

Your email address will not be published. Required fields are marked *