Hệ sinh thái Viblo đặc sắc “made in Sun*”
Thành công trong việc gây dựng uy tín với Sunners nói riêng và cộng đồng IT Việt Nam nói chung, Viblo đã khẳng định vị thế của mình như một kênh trao đổi thông tin, kiến thức công nghệ đáng tin cậy tại Việt Nam. Không dừng lại tại đó, các thành viên của R&D Unit đang phát triển một “hệ sinh thái Viblo” mà bước đầu là sự ra mắt của Viblo Code và Viblo CV, hứa hẹn mang lại vô số tính năng và ứng dụng hữu ích trong tương lai của một hệ thống “made in Sun*”.
Hệ sinh thái Viblo (Viblo Platform) bao gồm các sản phẩm nào?
Viblo, sản phẩm đầu tiên trong “hệ sinh thái” này có chức năng chính là chia sẻ bài viết về công nghệ, hình thành một môi trường trao đổi, học tập kiến thức cho giới IT. Sau nhiều năm phát triển, các chức năng của Viblo ngày càng mở rộng hơn để phục vụ đối tượng chính là cộng đồng lập trình viên ở Việt Nam. Đặc biệt phải kể đến tính năng hỏi đáp mới được bổ sung. Tất cả mọi người khi truy cập đều có thể vào đặt câu hỏi về một vấn đề nào đó để nhận được phản hồi từ các thành viên khác, tương tự Yahoo Ask trước đây. Với nỗ lực cải tiến của mình, Viblo ngày càng trở nên hoàn thiện và thu hút sự tham gia của nhiều người.
Tiến trình phát triển này thúc đẩy R&D Unit sáng tạo thêm tính năng, nhưng thay vì cho Viblo “phình ra” thì công ty định hướng xây dựng những dịch vụ hoàn toàn mới, với các nhóm nhân sự vận hành độc lập để phục vụ các nhu cầu đặc thù của người dùng, từ đó cho ra đời thêm hai sản phẩm: Viblo Code (https://code.viblo.asia/) và Viblo CV ( https://cv.viblo.asia/). Tại thời điểm này, sau quá trình thay đổi và thêm các tính năng mới thì cả hai sản phẩm nói trên đều đã được đưa vào vận hành khá suôn sẻ.
Nói đến Viblo Code, đây là dịch vụ đầu tiên được phát triển theo mô hình này. Trước khi release vào tháng 3/2019, Viblo Code đã đưa vào dùng thử khá lâu để lấy feedback từ người dùng và chỉnh sửa nhằm đi đến hoàn thiện.
“Đứa con tinh thần” mới của R&D Unit là nơi cho phép các lập trình viên rèn luyện các kỹ năng về Coding, cũng như tư duy về Giải Thuật của mình. Thông qua các Challenge của Viblo Code, bạn sẽ có nhiều hơn những cơ hội để luyện tập về cách sử dụng, cũng như tối ưu các thuật toán với ngôn ngữ lập trình mà mình yêu thích. Tại đây có một hệ thống các bài tập, khi giải thành công các đề bài này người dùng sẽ nhận được một số điểm tương ứng và hình thành một bảng xếp hạng để đánh giá rank.
Ngoài ra Viblo Code còn có chức năng “Contest” - hỗ trợ tạo các cuộc thi online. Tính năng này đã được bộ phận HR tại Đà Nẵng sử dụng để thực hiện thành công chương trình Code Challenge vào tháng 4 vừa qua. Không những thế, Viblo Code còn được sử dụng để test ứng viên thi tuyển vào R&D unit. Các nhân sự có điểm và rank cao thông qua test sẽ có lợi thế và nhiều khả năng được tuyển dụng. Trong tương lai, khi hệ thống lớn hơn với nhiều người sử dụng hơn, hình thức này có thể sẽ chính thức được đưa vào quy chuẩn tuyển dụng chung.
Ở Việt Nam, mô hình của Viblo Code thật ra không quá mới, một số trang tương tự thậm chí đã được phát triển từ khá lâu. Tuy nhiên không phải nền tảng nào cũng hỗ trợ việc tổ chức contest, hơn thế nữa là hệ thống có nhiều mode tính điểm cho các dạng contest khác nhau, đây có thể nói là một lợi thế nổi bật khi nhắc đến sản phẩm của Sun*.
Viblo Code hướng đến các bạn sinh viên là đối tượng chính, trong khi đó không phải bạn nào cũng giỏi tiếng Anh, nên việc phát triển song ngữ cả tiếng Anh và tiếng Việt cũng là một yếu tố thu hút, được đánh giá cao của sản phẩm này.
Tiếp đến là sự ra mắt của Viblo CV vào tháng 5/2019. Đây là một trang cho phép người dùng chỉ cần nhập vào các dữ liệu cá nhân theo gợi ý, hệ thống sẽ tự động tạo ra các mẫu CV theo các template đa dạng được design sẵn từ phía đội ngũ Viblo. Bạn không cần biết thiết kế, không cần đau đầu nghĩ bố cục hay điền thông tin nào cho phù hợp cũng có thể tạo được một bản CV “xin sò” cho mình.
Trên thị trường cũng đang có một số website làm chức năng trên, nổi bật như TopCV, tuy nhiên Viblo CV sớm thể hiện ưu thế của mình bởi trải nghiệm người dùng thân thiện, dễ dàng thao tác và chỉnh sửa thông tin. Các template được tối ưu hóa cho các vị trí trong ngành IT và việc chuyển đổi giữa các template dễ dàng và nhanh chóng. Bên cạnh đó, người dùng cũng không bị giới hạn số lượng CV có thể tạo và chia sẻ. Mặt khác, các trang như Top CV đi theo con đường thương mại, kinh doanh data tuyển dụng nên dữ liệu người dùng sẽ bị cung cấp cho các công ty có nhu cầu mua.
Đối với Viblo CV, thành viên có thể hoàn toàn yên tâm khi dữ liệu cá nhân sẽ không bị khai thác một cách tự động.
Hệ sinh thái Viblo dưới góc nhìn công nghệ
Trong các dịch vụ của Viblo Platform, như mọi người đều đã biết, Viblo là dịch vụ lâu đời nhất, và cũng là dịch vụ phức tạp nhất về mặt kỹ thuật.
Hiện tại Viblo vận hành production với 2 server, và các services chạy hoàn toàn trong Docker, với orchestration sử dụng là Swarm. Cũng do deploy bằng Docker, nên Viblo có một vài thay đổi so với các project Laravel (PHP) truyền thống khác, như dùng proxy server chính là Traefik thay vì Nginx. Ngoài ra, Viblo cũng đang sử dụng bộ đôi Prometheus + Grafana để monitor resource trên các server production, và Portainer để monitor tình trạng các Swarm Node cũng như các Docker Container đang chạy.
Về mặt kiến trúc backend, Viblo sử dụng mô hình Single Page Application, kết hợp phương pháp Server Side Rendering, để vừa có thể tối ưu hoá performance tải trang, cũng như có thể đáp ứng được các yêu cầu về mặt Search Engine Optimization hay Social Media Sharing. Tức là Viblo bao gồm service để render frontend, sử dụng Nuxt.js, được chạy song song với service API viết bằng Laravel.
Viblo Code cũng đi theo mô hình Micro Services tương tự như Viblo, với các công nghệ được sử dụng gần như là giống nhau. Tuy nhiên, ngoài các service về Server Side Rendering, service API ... ra, đội ngũ Viblo Code còn tập trung khá nhiều nguồn lực vào phát triển service code runner, để có thể giải quyết bài toán chạy code của người dùng gửi lên trong một môi trường hoàn toàn cô lập (bên trong Docker Container), và service này được viết bằng Golang.
Viblo CV là service mới nhất hiện tại trong hệ sinh thái Viblo. Cũng như Viblo Code, Viblo CV được phát triển bởi một nhóm độc lập với nhóm phát triển Viblo. Về mặt công nghệ, điểm khác biệt đáng kể nhất có lẽ là việc Viblo CV sử dụng ReactJS để viết frontend, thay vì VueJS như Viblo và Viblo Codo.
Định hướng phát triển trong tương lai
Viblo Platform hiện bao gồm 3 dịch vụ chính là Viblo, Viblo Code và Viblo CV. Hiện tại, cả 3 sản phẩm này đều sử dụng Single Sign On, để giúp mọi người dùng chung một tài khoản login duy nhất, được quản lý tại dịch vụ Viblo Accounts (https://accounts.viblo.asia/). Thực chất, bản thân dữ liệu của 3 bên vẫn đều chưa được chia sẻ với nhau, hoạt động như những hệ thống độc lập.
Trong tương lai khi số lượng người dùng tăng lên nhiều hơn và họ thật sự active trên các nền tảng này, công ty sẽ có kế hoạch để khai thác chéo dữ liệu. Ví dụ: dùng dữ liệu từ Viblo CV, Viblo Code để phát triển hệ thống gợi ý trên Viblo. Cụ thể, nếu trên Viblo CV người dùng update rằng mình có khả năng hay sở thích về PHP, Ruby... thì khi đăng nhập Viblo họ sẽ được hệ thống gợi ý các bài viết liên quan.
Nhận thấy sự tiềm năng và tốc độ phát triển người dùng của hệ sinh thái này, đã từng có rất nhiều công ty trong lĩnh vực quảng cáo ngỏ ý muốn đặt banner và thông tin quảng bá trên các sản phẩm của Viblo nhưng Sun* đều thẳng thắn từ chối. Bởi cả 3 sản phẩm này đều hoàn toàn miễn phí và hướng đến đóng góp cho cộng đồng mà không nhằm mục đích thương mại. Đây cũng là định hướng chung của hầu hết các sản phẩm từ R&D Unit nhằm giúp công ty quảng bá thương hiệu. Và chắc chắn trong thời gian sắp tới, “hệ sinh thái” Viblo sẽ ngày càng phát triển và mở rộng hơn nữa để đem đến những tính năng ngày càng hoàn thiện đóng góp cho cộng đồng IT.