Nền tảng — platform, là một từ được sử dụng rộng rãi trong nhiều ngữ cảnh khác nhau. Từ công nghệ, tới kinh doanh, Uber, Airbnb, Operating System, Database… tất cả chúng đều được coi là các nền tảng.
Điểm chung của chúng là nó mở ra các không gian, cung cấp các điều kiện để trên đó các đối tượng có thể tự vận động và phát triển không ngừng. Nền tảng chỉ đưa ra các quy định, cách thức hoạt động chung nhất. Nền tảng có chiều sâu, trên nền tảng lại nảy sinh các nền tảng mới tướng ứng với các quá trình phát triển mới, tạo ra các điều kiện phát triển mới. Nền tảng cũng không ngừng thay đổi, chia tách và mở rộng.
Trong lĩnh vực Ecommerce, công nghệ đóng vai trò nền tảng đối với các hoạt động kinh doanh. Chính internet và cuộc cách mạng số đã mở ra một cách thức với hoạt động thương mại, buôn bán đã có lịch sử hàng ngàn năm của con người. Từ các website thô sơ đã mở rộng cùng hoạt động kinh doanh thành các hệ thống phức tạp, đồ sộ như Amazon, Ebay, Taobao… Chúng hợp thành nền tảng công nghệ để trên đó tất cả các hoạt động buôn bán diễn ra, sinh sôi nảy nở không ngừng.
Các nền tảng công nghệ cho Ecommerce cũng tiến hoá, mở rộng không ngừng về cả chiều sâu và chiều rộng. Chiều rộng là số lượng các phân hệ nghiệp vụ nảy nở theo nhu cầu business. Từ một website với tất cả các chức năng cần thiết cho Ecommerce, chia tách thành vô vàn các system chuyên biệt cho từng nghiệp vụ: quản lý sản phẩm, quản lý giá, đơn hàng, giao vận, kho bãi… Chiều sâu là sự phát triển nâng cao của hạ tầng cloud, AWS là một ví dụ tiêu biểu, Infrastructure as a Service, Platform as a Service, Software as a Service… Đó là một quá trình tiến hoá lâu dài, gắn liền với lịch sử phát triển của Internet và công nghệ thông tin.
Quá trình phát triển của hệ thống TIKI cũng không nằm ngoài sự phát triển chung. Từ một website bán sách chạy trên Magento, tới nay đã trở thành một hệ thống đồ sộ, phục vụ với hoạt động kinh doanh đa dạng với đủ các loại mặt hàng, dịch vụ thuộc hàng ngàn chuyên mục. Hoạt động vận hành cũng trở nên ngày một phức tạp, mua hàng, bán hàng, vận hành kho bãi giao vận, kế toán tài chính; đối tượng phục vụ từ khách hàng, hàng ngàn nhân viên công ty, tới hàng chục ngàn nhà bán tham gia vận hành hệ thống thương mại điện tử. Các nền tảng công nghệ của TIKI cũng theo đó mà không ngừng thay đổi, mở rộng theo thời gian.
Nền tảng Magento
Magento là nền tảng công nghệ đầu tiên của TIKI. Dựa trên nó, TIKI bắt đầu phát triển các hoạt động kinh doanh Ecommerce đầu tiên. Khởi đầu bằng bán sách, thiết bị đọc sách như Kindle. Từ 2010 tới 2015, Magento là nền tảng chính cho tất cả các hoạt động kinh doanh, vận hành của TIKI. Magento cung cấp phần back office để nhân viên TIKI có thể đăng sản phẩm, vận hành đơn hàng, chăm sóc khách hàng, cũng như front end để khách hàng TIKI browser, tìm kiếm, xem và mua bán sản phẩm. Magento có vai trò to lớn trong sự phát triển của hệ thống TIKI. Nó giúp TIKI tích kiệm được một nguồn lực lớn về phát triển phần mềm, cũng như cung cấp cho TIKI các kiến thức, mô hình dữ liệu, kinh nghiệm xây dựng một site thương mại điện tử. Model Eav, Cart, Sales Order, Promotion… cách thức tổ chức, thiết kế từ phần mềm tới cơ sở dữ liệu là các tiền đề quan trọng để đội ngũ Engineers tích luỹ phát triển cho các giai đoạn tiếp theo. Khi đó Engineering của TIKI chỉ có tầm 10–20 người cho tất cả các vị trí.
Nền tảng Talaria — TIKI.VN
Theo thời gian, cùng với sự tăng trưởng của TIKI thì lượng truy cập, hoạt động vận hành cũng tăng theo. Magento bắt đầu không đáp ứng được yêu cầu về hiệu năng, đặc biệt khi các thời điểm có lượng truy cập lớn đột ngột. Talaria — một framework mới được phát triển bắt đầu cuối 2014, tới đầu 2015 để thay thế Magento cho phần front office để xử lý truy cập từ khách hàng. Tất các nghiệp vụ front office từ browser, xem sản phẩm, tới đặt hàng … đều sẽ diễn ra trên talaria. Talaria là chịu ảnh hưởng lớn của các thiết kế của magento nhưng làm đơn giản hơn. Các mô hình Eav cho quản lý sản phẩm, Sales Order vẫn tương đồng với mô hình của Magento. Về mặt kiến trúc, talaria có thay đổi lớn nhất là sử dụng MongoDB cho phần read side. Talaria không thay thế hoàn toàn nền tảng Magento mà chỉ thay thế một phần các nghiệp vụ front office, phần lớn tất cả các nghiệp vụ vận hành back office từ quản lý sản phẩm, đơn hàng, chăm sóc khách hàng vẫn diễn ra trên nền tảng Magento. Giữa hai hệ thống phải có quá trình đồng bộ dữ liệu để đảm bảo quá trình vận hành trơn tru giữa hai hệ thống.
Talaria được phát triển ban đầu từ một nhóm nhỏ chưa tới 10 người. Sau 3 năm, nó đáp ứng được nhu cầu phát triển của hàng trăm engineers, đáp ứng sự mở rộng bùng nổ của hoạt động kinh doanh của TIKI với hơn 30 triệu lượt truy cập mỗi tháng, cũng như tính phức tạp của nghiệp vụ vận hành khi số lượng nhân viên tăng lên 1300 người cùng hàng ngàn sellers trực tiếp, gián tiếp tác động vào hệ thống.
Nền tảng Logistic
Bắt đầu từ 2013, các hoạt động vận hành của TIKI bắt đầu mở rộng sang hoạt động quản lý vận hành kho hàng, giao vận, kế toán. Mô hình kinh doanh chính của TIKI là bán lẻ. Tất yếu nảy sinh các nghiệp vụ quản lý kho hàng, rồi sau đó là các hoạt động giao vận. TIKI bắt đầu đưa triển khai hệ thống ERP dựa trên nền tảng Open ERP — Odoo. Trong suốt 5 năm, hệ thống vận hành liên tục được nâng cấp mở rộng, bổ sung thêm các hệ thống về giao vận, fulfillment… Tới nay, từ 1 kho hàng, TiKi đã mở rộng ra 8 kho hàng trên cả nước, quản lý hàng triệu đơn vị sản phẩm mỗi năm, cung cấp các dịch vụ giao vận đòi hỏi vận hành phức tạp như giao hàng 2h.
Hệ thống vận hành là xương sống cho toàn bộ hoạt động giao vận của TIKI. Bằng cách tổ chức khéo léo, dựa trên các nền tảng mã nguồn mở kết hợp với các giải pháp tự thiết kế từ đầu, hơn 30 engineers đã xây dựng lên toàn bộ hệ thống từ con số không. Nền tảng đã chứng tỏ độ tốt qua việc đáp ứng việc mở rộng hoạt động kinh doanh, thay đổi nâng cấp, liên tục trong 5 năm qua, tạo nên giá trị cạnh tranh khác biệt trong dịch vụ giao hàng của TIKI.
Nền tảng Marketplace
Từ cuối 2016, TIKI bắt đầu chuyển đổi mô hình kinh doanh từ Retail sang Marketplace. Tới tháng 3/2017, TIKI chính thức mở cửa sàn thương mại điện tử cho các sellers tham gia kinh doanh trên hệ thống TIKI. Đó là một sự chuyển đổi lớn làm thay đổi toàn bộ mô hình hoạt động của toàn bộ hệ thống TIKI. Hệ thống TIKI không chỉ còn phục vụ riêng TIKI mà giờ cho phép các sellers bên ngoài vận hành bán hàng trên sàn thương mại điện tử TIKI. Điều này làm cho hoạt động vận hành, quản lý trở nên rất phức tạp. Các sellers tham gia vào tất cả các công đoạn của hệ thống, từ quản lý sản phẩm, vận hành đơn hàng, giao vận, tồn kho, tới thanh toán đối soát tài chính, công nợ. Trong 2018, số sản phẩm trên TIKI tăng gấp hơn 5 lần từ gần 200k sản phẩm, lên 1 triệu sản phẩm, với hơn 90% sản phẩm của các sellers.
Sự bùng nổ về mặt nghiệp vụ, dẫn tới việc toàn bộ nền tảng của TIKI phải thay đổi. Nó cũng đánh dấu quá trình chuyển đổi lớn tiếp theo, khi nền tảng TIKI tiếp tục được chia tách nhỏ thành các nền tảng chuyên biệt hơn theo mô hình Service Oriented: như Seller Service — quản lý nghiệp vụ sellers, Catalog Management System — quản lý nghiệp vụ sản phẩm, Order Management System — quản lý nghiệp vụ vận hành đơn hàng và hàng chục service nghiệp vụ khác… Sự chia tách này cũng là nét nổi bật của tất cả các hệ thống Ecommerce trên thế giới. Nó đáp ứng các tốc độ mở rộng của hoạt động kinh doanh, khi mà mỗi mảng vận hành nở ra đều đòi hỏi rất cao về tính chuyên biệt của hệ thống.
Nền tảng Tích Hợp
Sự mở rộng của hệ thống làm phát sinh hàng trăm service, với hàng ngàn chức năng hoạt động. Việc trao đổi và tích hợp dữ liệu giữa các hệ thống là tối quan trọng để đảm bảo toàn bộ hệ thống TIKI vận hành được. Dữ liệu cần đảm bảo tính chính xác xuyên suốt từ front office tới back office, từ sản phẩm tới đơn hàng, giao vận và tài chính, kế toán…
Các giải pháp tích hợp đã được TIKI triển khai từ rất sớm, dựa trên các công nghệ như RabbitMQ, ActiveMQ, nhưng gặp nhiều hạn chế về tính ổn định, bảo trì. Từ giữa 2017, TIKI bắt đầu triển khai rộng giải pháp tích hợp dựa trên Kafka và cơ chế capture data change dựa trên binary log của MySQL, trigger — notify của Postgresql. Hàng chục triệu thay đổi dữ liệu mỗi ngày trên toàn hệ thống được streaming real time lên Kafka. Kafka trở thành một message bus — trung chuyển dữ liệu giữa các hệ thống khác nhau, tạo r các phương thức phát triển ứng dụng mới đa dạng, linh hoạt, mở rộng hệ thống dễ dàng.
Nền tảng Data
Data là cơ sở để ra các quyết định cho mọi hoạt động trong kinh doanh. Nhu cầu báo cáo đa dạng được tổng hợp từ mọi nguồn dữ liệu có thể có trong hệ thống. Đối tượng người dùng bao gồm từ các cấp vận hành thấp nhất tới các cấp giám đốc cao nhất. Tính chính xác, sự đa dạng, tốc độ cập nhật của dữ liệu là các đòi hỏi của hệ thống báo cáo.
Các hoạt động xây dựng data warehouse của TIKI bắt đầu từ khoảng 2015–2016. Nhưng hệ thống báo cáo không đáp đủ nhu cầu của kinh doanh, cũng như không đủ ổn định khi lượng dữ liệu tăng trưởng bùng nổ. Giai đoạn nửa đầu 2017, việc báo cáo gần như khủng hoảng, các phòng ban kinh doanh phải request access trực tiếp transaction database để tự làm báo cáo, các hệ thống dashboard liên tục bị gián đoạn, không ổn định.
Bắt đầu từ cuối 2017 tới đầu 2018, các dữ liệu dần được tập trung lại đưa vào data warehouse, sử dụng nền tảng cloud Google Big Query. Cùng với nền tảng tích hợp dựa trên Kafka, việc tích hợp data giữa các transactional database và data warehouse đạt được mức độ near real time. Các báo cáo về vận hành kinh doanh trước đây mất nhiều giờ, thậm chí nửa ngày để tổng hợp, thì nay đã có thể được cập nhật trong vòng 10 phút. Data được visualize dễ dàng, giúp các bộ phận kinh doanh ở tất cả các cấp nhanh chóng nắm bắt tình hình, ra quyết định kịp thời. Cũng như xây dựng được các dịch vụ giá trị gia tăng như CRM, Marketing Optimization…
Nền tảng DevOps
Với hơn 100 engineers, hàng trăm service và hàng ngàn server applications… DevOps có vai trò vô cùng to lớn đảm bảo quá trình xây dựng phát triển phần mềm của TIKI. Tại TIKI, mã nguồn của các hệ thống được quản lý tập trung sử dụng GitHub, sử dụng Jenkin, docker, kubernetes, rancher cho deployment và management. Tại bất cứ thời điểm nào, bất cứ service nào cũng có thể tích hợp và triển khai mã nguồn trên các môi trường từ UAT tới Production. Điều này có ý nghĩa to lớn, đảm bảo tốc độ phát triển, release tính năng của tất cả các team.
Nền tảng Infrastructure
Đây là nền tảng của nền tảng đảm bảo cung cấp đầy đủ tài nguyên tính toán cho toàn bộ tất cả các system của TIKI. Với hàng trăm service, hàng ngàn server application, lưu trữ và xử lý hàng trăm TB dữ liệu mỗi ngày. Từ một vài server ban đầu, hiện TIKI đã từng bước xây dựng hạ tầng cho lưu trữ, database, ảo hoá với chi phí tối ưu, đáp ứng lượng truy cập lớn đặc biệt các mùa mua sắm lớn cuối năm. Xây dựng hạ tầng cho hệ thống Ecommerce vô cùng phức tạp, vì tính chất đặc thù đòi hỏi cao về độ ổn định, tính nhất quán của dữ liệu nhưng vẫn phải đáp ứng hiệu năng cao, với lượng truy cập lớn. Đặc biệt phải đáp ứng tính “co giãn” lớn, do lượng truy cập tăng cao bất thường khó dự đoán của hoạt động mua sắm.
Với quá trình 8 năm phát triển, nền tảng công nghệ của TIKI từng bước thay đổi, phát triển, mở rộng không ngừng để đáp ứng nhu cầu kinh doanh. Đó là quá trình “tiến hoá” lâu dài, với sự đóng góp trí tuệ của hàng trăm Engineer trong nhiều năm. Từng bước hình hài của một hệ thống Ecommerce lớn dần được hình thành cùng với sự trưởng thành về mặt công nghệ của đội ngũ Engineer. Bài học lớn nhất của TIKI là sự vận dụng khéo léo các nền tảng mã nguồn mở như Magento, Odoo, cùng cách thức phát triển phần mềm linh hoạt, hiệu quả để sử dụng một nguồn lực nhỏ phát triển dần hệ thống theo cùng tốc độ phát triển kinh doanh.
Các nền tảng vẫn không ngừng thay đổi, nhiều nền tảng sẽ biến mất (như Magento trong 2019), chuyển đổi, chia tách hay hình thành các nền tảng mới. Đó là một quá trình không bao giờ dừng lại. Với tốc độ tăng trưởng doanh số lên đến vài trăm phần trăm mỗi năm, nền tảng công nghệ chịu một áp lực chuyển đổi cực lớn để đáp ứng các yêu cầu tăng trưởng của kinh doanh, nhưng đồng thời vẫn phải đảm bảo tính ổn định. Thách thức lớn nhất với việc xây dựng nền tảng công nghệ ở TIKI là phải cân bằng được giữa tầm nhìn xa và tốc độ phát triển. Tốc độ tăng trưởng nhanh đòi hỏi mọi tính toán phát triển phải đủ tốt để không chỉ theo kịp mà còn không sớm bị loại bỏ, xây mới một cách tốn kém. Nó thực sự rất thách thức, nhưng phải vượt qua được!
TechTalk via KenhGiaiPhap