Tuần trước, cụ thể là thứ 7 ngày 24/10/2016 mình có tham dự sự kiện quy tụ các nhà phát triển web và maketer có tên là Vietnam Web summit 2016 tại trung tâm hội nghị 272 Võ Thị Sáu, Sài Gòn. Hội nghị được maketing khá kêu là “ngày hội thường niên lớn nhất của các lập trình viên và marketer liên quan đến lĩnh vực web”, không biết thực sự là như thế không do mình chưa đi nhiều những hội nghị khác, nhưng xét về quy mô con người thì sự kiện này phải nói là cũng rất đông đảo (khoảng trên 300 người tham dự + speakers), nội dung các chủ đề chia sẻ cũng khá bổ ích tuy là vẫn còn nhiều điều mà bản thân mình thấy còn đáng phàn nàn. Về cách tổ chức, mình có những điều rất không hài lòng về phía ban tổ chức, số phòng và cách sắp xếp các chủ đề cũng thực sự còn nhiều vấn đề cần phải cải thiện. Mình có tìm hiểu sơ qua trên google về sự kiện “Vietnam web summit 2015” thì không thấy có kết quả nào, phải chăng là mình tìm sót, hay là sự kiện này mới bắt đầu từ năm nay? Và nếu bắt đầu từ năm nay thì việc tuyên bố là “ngày hội thường niên lớn nhất” thật đáng nghi ngờ. Thứ nhất, nếu là sự kiện thường niên thì những năm trước sự kiện này tên gì, có thông tin gì về các sự kiện lần trước hay không (mình không tìm thấy thông tin này, nếu ai có thì chỉ mình với nhé). Thứ 2, nếu điều thứ nhất là không đúng sự thật, có nghĩa là năm nay là năm đầu tiên của sự kiện, thì liệu việc tuyên bố rằng đây là “ngày hội lớn nhất” cũng cần phải xem xét lại. Chỉ là 1 chút thắc mắc của mình thôi, còn sự kiện lần này vẫn là 1 trong những sự kiện mà nếu bạn đang là 1 nhà phát triển web, có định hướng con đường web hoặc dành một mối quan tâm nhất định về web, cũng nên tham dự để nắm bắt được tình hình phát triển hiện nay của thị trường, bạn sẽ lấy được rất nhiều thông tin hữu ích về sự kiện này.

Để có một cái nhìn đánh giá tương đối đầy đủ, mình sẽ nói qua về nội dung của sự kiện này, các vấn đề chính mà sự kiện lần này mang tới bàn luận cho mọi người. Mình cũng sẽ điểm qua nội dung chính của một vài bài chia sẻ mà mình có tham dự (do có nhiều bài chia sẻ quá nên mình không thể nghe hết được), đưa ra một vài nhận định cá nhân về nội dung của những chia sẻ này. Ngoài ra, mình sẽ nói thêm về những điều mình hài lòng và không hài lòng về sự kiện lần này, tất nhiên rồi, vì mình có quyền đánh giá về nó mà, mỗi người sẽ có 1 góc nhìn và quan điểm riêng, vậy nên những điều này mình chỉ nói với tư cách là 1 người tham dự nói lên quan điểm riêng của mình thôi, để các bạn có thêm góc nhìn để đánh giá về nó, còn đúng hay sai thì … tuỳ các bạn. Vậy nhé, bắt đầu nào.
Để xem nào, đúng như tên gọi của nó – Vietnam web summit 2016 – sự kiện tập trung vào các vấn đề được cho là xu hướng hiện nay trong lĩnh vực phát triển web và maketing online. Đầu tiên, tất nhiên là không thể thiếu các vấn đề cốt lõi của lập trình web: việc phát triển backends và frontends. Phần này có các chủ đề nổi bật như: “migration to PHP7” nói về việc nâng cấp phiên bản PHP hệ thống từ 5.x lên 7; những khó khăn, thách thức cũng như một vài lời khuyên về việc nâng cấp này. Do lần nâng cấp từ 5.x lên 7 của PHP là một đợt nâng cấp lớn, chủ đề này có vẻ đáng giá ít nhiều với những người đã, đang và sẽ có ý định nâng cấp hệ thống từ phiên bản 5.x lên 7, chủ đề này được chia sẻ bởi anh Nguyễn Sơn Tùng – tech lead bên Tiki. Chủ đề khác về phần backends cũng khá thú vị là “middleware in PHP”, có thể nói nôm ra rằng: để lập trình các service nhỏ trong kiến trúc Microservices, thì người ta có thể dùng micro-framework (nhỏ hơn framework rất nhiều) để hỗ trợ, và middleware là 1 phần trong micro-framework, nhiệm vụ là giúp kết nối và tương tác các service với nhau. Mặc dù ý nghĩa của nó thú vị là thế, nhưng nghe xong đợt chia sẻ thì mình … chả hiểu cái mô tê gì, cũng có thể là anh Vũ Duy Tuấn – CEO teamcorp nói khó hiểu – hoặc là do mình đang buồn ngủ không nghe được nhiều, haha. Xu hướng lập trình hướng client-sides cũng đang bùng nổ, do vậy mà không thể thiếu một chủ đề về nó: “xây dựng ứng dụng giao tiếp thời gian thực với Node.js + socket.io + RethinkDB”, chủ đề này thực sự không có gì ngoài việc nói cho mọi người biết rằng hiện có 1 số công nghệ có thể làm được việc abc, xyz nào đó, và keywords để mọi người có thể tìm hiểu, đó là: “Node.js + socket.io + RethinkDB”. Chủ đề “Abort HTTP request” cũng khá thú vị khi chia sẻ một vài lỗi gặp phải khi các lập trình viên xử lí AJAX HTTP request, việc xử lí các lệnh bất đồng bộ (asynchronous request). Một vài topic về “ASP.NET CORE + AZURE” hay “ASP.NET CORE IN REAL WORLD” cũng được giới thiệu với mọi người.

Chủ đề lớn tiếp theo của sự kiện là “Bảo Mật, Kiến Trúc Hạ Tầng Và Tối Ưu Hệ Thống”. Trong chủ đề này có tới 9 bài chia sẻ, và hơn phân nửa trong số đó là liên quan tới kiến trúc Microservices đang nổi đình nổi đám và các công cụ hỗ trợ cho việc xây dựng hệ thống dựa trên kiến trúc này. Các topic ở phần này chủ yếu nói về các vấn đề trong kiến trúc của micro-service và cách thức xây dựng những ứng dụng và hệ thống dựa trên kiến trúc này. Các topic này chủ yếu tập trung vào những bài toán con của của một hệ thống micro-service, không một topic nào nói tổng quan về kiến trúc micro-service này và so sánh nó với mô hình monolithic truyền thống. Có lẽ các speakers muốn đi chuyên sâu vào các vấn đề bên trong cần giải quyết trong mô hình này hơn. Có thể kể đến “Xây dựng microservices và sử dụng cổng kết nối api (api gateway)”, nếu bạn đang phát triển một ứng dụng doanh nghiệp phía máy chủ, nó phải hỗ trợ một loạt các khách hàng khác nhau bao gồm cả các trình duyệt máy tính để bàn, các trình duyệt di động và các ứng dụng di động bản địa. Ứng dụng này cũng có thể phơi bày một API cho bên thứ 3 để tiêu thụ. Nó cũng có thể tích hợp với các ứng dụng khác thông qua một trong hai dịch vụ web. Micro-services Architecture là lựa chọn phù hợp cho dự án của bạn tuy nhiên nó cũng tồn tại nhưng vẫn đề mà bạn cần phải xem xét như truy cập, xác thực, giám sát, cân bằng tải, caching… Topic chia sẻ bức tranh đi từ Micro-Service đến API Gateway và những ưu tiểm của từng mô hình cũng như các vấn đề cần phải giải quyết. Một chủ đều cũng tương tự là “Secure rest API on microservices” nói về việc chứng thực và bảo mật khi gọi qua lại các service với nhau và khi gọi từ phía third-party. Do một hệ thống micro-service sẽ bao gồm nhiều services tách bạch với nhau, chúng ta sẽ phải có cơ chế giao tiếp giữa các service này thông qua API, các API này cũng có thể bởi được public ra ngoài, do đó việc chứng thực và bảo mật các API này là hết sức quan trọng. Một vài topic khác nói về các công cụ sử dụng để xây dựng hệ thống micro-service: Docker, vâng, chính là chú cá voi dễ thương Docker với một loạt các ưu điểm thần thánh. Có thể nói nôm na Docker là 1 công cụ cung cấp môi trường ảo hoá tương tự như Virtual machine, tuy nhiên nó chỉ đóng gói đúng chương trình của chúng ta cùng với môi trường thực thi, hệ điều hành và các thông tin hệ thống sẽ được dùng chung với máy host, điều này làm cho một môi trường Docker thật sự gọn nhẹ nhưng vẫn giữ được tính đóng gói độc lập cần thiết. Trong phần này có một bài phát biểu mà hình và có lẽ mọi người tham dự đều hào hứng đó là topic “Design a scalable social network: problems and solutions”, anh Châu Nguyễn Nhật Thanh, bên VNG chia sẻ về kiến trúc, các vấn đề gặp phải và phương cách giải quyết khi xây dựng những hệ thống cực lớn, mình nhắc lại là “cực lớn” nhé, mà ví dụ là việc xây dựng mạng xã hội Zingme của VNG. Các vấn đề tưởng chừng như không cần phải quan tâm khi xây dựng những hệ thống nhỏ sẽ trở nên cực kì nan giải khi ta phải giải quyết trên quy mô rất lớn – lên tới hàng triệu user, thậm chí là request gần như đồng thời. Các giải pháp với SQL truyền thống trở nên vô dụng hơn bao giờ hết, việc optimize tới từng bit thực sự là những chia sẻ rất bổ ích. Topic này là topic duy nhất mà khi kéo dài quá thời gian tuy đã khá nhiều, những vẫn có rất đông mọi người yêu cầu anh tiếp tục chia sẻ, phải nói là rất thú vị. Các topic về caching và multi-sided platform cũng được trình bày trong phần này.

Chủ đề lớn tiếp theo trong sự kiện có liên quan nhiều hơn tới computer science đó là “Database, Bigdata Và Machine Learning”. Có lẽ ở Việt Nam công nghệ và nhu cầu chưa đủ nhiều nên không có nhiều topic trong chủ đề này. Trong sự kiện diễn ra ở thành phố Hồ Chí Minh chỉ có duy nhất 2 topic: chủ đề đầu tiên mang tên “Sử dụng Microsoft Azure Machine Learning cho phân tích, dữ đoán và tối ưu hệ thống”, chủ đề này đề cập tới các vấn đề phát sinh mới trong kỉ nguyên bùng nổ thông tin hiện nay. Dữ liệu của người dùng hiện nay đã trở nên rất lớn, nếu biết tận dụng để khai thác lượng dữ liệu cực lớn này chắc chắn ta sẽ thu được rất nhiều thông tin hữu ích, có thể kể đến như: hỗ trợ ra quyết định, các quảng cáo thông minh hướng người dùng, giải toán bài toán recommendation… Topic này không đề cập sâu vào kĩ thuật cũng như các phương pháp toán học để giải quyết, mà thay vào đó là quảng cáo cho mô hình hỗ trợ Machine Learning của nền tảng Microsoft Azure. Nền tảng này hỗ trợ xây dựng các bộ huấn luyện máy học chỉ với các thao tác kéo thả, bạn sẽ không cần phải biết thế nào là mô hình Markov chains, phân lớp SVMs hay mạng neural network, việc bạn cần làm là cung cấp data và chọn lựa sẵn một trong số các thuật toán hỗ trợ đã được xây dựng sẵn. Theo cá nhân mình đây là có thể là một công nghệ thú vị, tuy nhiên độ chính xác của mô hình cũng như khả năng tuỳ biến vẫn còn là một dấu hỏi lớn. Topic tiếp theo trong chủ đề lớn này là về “Ứng dụng của công nghệ xử lí tiếng nói”, theo như mình quan sát, thì đây có lẽ là chủ đề có vẻ như xa lạ nhất đối với những người tham gia sự kiện. Cũng phải thôi, chủ đề này có thể nói là thuần tuý về lĩnh vực Computer science, slide trình bày cũng như các giới thiệu của diễn giả cũng chủ yếu xoay quanh các khái niệm và thuật toán bên lĩnh vực Khoa học máy tính chứ không phải là các kiến thức về web mà hầu hết các bạn developer đang nắm, như là: Tần số và phổ âm thanh, khái niệm âm thanh trung bình, biến đổi không gian tính toán, Fourier transformation, rút trích các đặc trưng nổi bật của âm thanh… Mặc dù trông có vẻ phức tạp, tuy nhiên theo mình tóm tắt lại thì sẽ gồm các bước chính như: thu thập và chuẩn hoá dữ liệu, trích chọn đặc trưng, biến đổi không gian tính toán, xây dựng mô hình học dựa trên dữ liệu đặc trưng đã chọn. Chủ đề nghiên cứu này đã thực hiện được 2 việc chính: tổng hợp tiếng nói từ văn bản, nhận diện và biến đổi tiếng nói sang văn bản. Người phát triển chính của hệ thống này là anh Bùi Tấn Quang bên FPT, mình có tìm search thử thì có vẻ như anh này là chủ nick “langman” bên trang web congdongcviet, một tài khoản khá nổi tiếng trong diễn đàn. Hệ thống này đã được giới thiệu và public api ở địa chỉ Openfpt.com, những lập trình viên nào muốn cộng tác với hệ thống này có thể liên hệ anh Quang hoặc bên phía FPT để được hỗ trợ về kĩ thuật cho sản phẩm, đây có lẽ là một sản phẩm được đầu tư tương đối lớn của FPT, có lẽ mình cũng sẽ sắp xếp thời gian rảnh để thử dùng bộ công cụ này.

Hai chủ đề lớn còn lại của sự kiện là về “Ads, Marketing, Seo, Analytic, Social Media” và “Platform Và CMS”. Mình không quan tâm lắm về hai chủ đề này, lí do là vì nó thiên về business nhiều hơn là kĩ thuật, và mặc dù chủ đề “Platform và CMS” nghe có vẻ hoành tráng nhưng thực chất lại chỉ với 2 topic nói về WordPress nên mình không đánh gia cao lắm chất lượng và sự đa dạng của 2 chủ đề này. Để mình liệt kê những topic của 2 chủ đề này: có bài chia sẻ “Những bài học kinh doanh từ quá trình phát triển và bán WordPress theme trên ThemeForest” và “Những thách thức kĩ thuật gặp phải trong quá trình phát triển WordPress theme trên ThemeForest” nói về WordPress. Về business thì có topic như: “Tối ưu tỉ lệ chuyển đổi website bán hàng trực tuyến”, hay topic “7 kinh nghiệm về phát triển sản phẩm tại Thegioididong.com”. Cả 2 topic này tập trung khá nhiều vào business hơn là kĩ thuật, có thể những UX designers hoặc người hoạch định kế hoạch có thể quan tâm, nhưng mình thì không.

Ở sự kiện lần này, mình dành nhiều sự chú ý cho các topic liên quan đến kiến trúc Microservices. Như mình đã nói ở trên, mình định sẽ nói điểm qua về nội dung của các topic mà mình thấy hứng thú, tuy nhiên bài đã dài, và mình cũng không muốn nói một cách rời rạc về các chủ đề, có lẽ mình sẽ trình bày phần đó trong một bài post khác, mình sẽ tổng hợp các nội dung có liên quan tới chủ đề microservices, các kiến thức ở các chủ đề khác mình không nắm được hết, hoặc chỉ nghe một vài topic riêng lẻ nên chắc là không thể tổng hợp lại được. Phần còn lại của bài post này mình sẽ nói về những đánh giá, cảm nhận về cách thức vận hành và tổ chức sự kiện lần này, để giúp các bạn ở Hà Nội cũng như Đà Nẵng sắp tới có thêm sự tham khảo khi đưa ra lựa chọn loại vé mà bản thân sẽ đặt mua để tham gia sự kiện.
Sự kiện Vietnam web summit lần này là sự kiện có tính phí, tức là bạn phải mua vé để được tham gia sự kiện. Mình thấy điều này cũng hợp lí thôi, ban tổ chức đã đứng ra để tìm một nơi phù hợp để tổ chức, đã liên hệ với các diễn giả để cộng tác phát triển nội dung, và còn rất nhiều các vấn đề khác như quảng bá, marketing, trả tiền thù lao nhân viên… nên việc cần có nguồn thu để hoạt động là điều có thể hiểu được. Bạn phải trả phí để tham dự, tuy nhiên đổi lại bạn sẽ có cơ hội tiếp cận với nhiều kiến thức mới và cập nhật hơn, được gặp gỡ và giao lưu với các nhà phát triển web hàng đầu, có cơ hội nắm bắt xu thế phát triển của thị trường và còn rất nhiều lợi ích khác nữa, có qua có lại và cả 2 đều vui. Mình sẽ nói về 2 vấn đề chính: cách tổ chức sự kiện và mức giá vé để tham dự.
Về vé tham dự, sự kiện lần này (năm 2016) phát hành 2 mức vé: bạn phải trả 200k cho vé thường và gấp rưỡi – tức là 300k – cho vé vip bao gồm ăn trưa, mỗi vé bạn mua sẽ được tặng 1 mã code giảm giá được 50k cho 3 vé khác. Mình thì chọn mua vé 300k do lúc đầu nghĩ ở quanh khu hội nghị đó sẽ ít có chỗ bán đồ ăn trưa, vả lại ở lại ăn trưa sẽ có thêm dịp giao lưu với mọi người nên quyết định chọn mua vé vip. Theo quan điểm của mình thì mức giá vé như vậy cũng tương đối hợp lí, các nhà phát triển (developers) có được sự cân bằng giữa chi phí đầu tư bỏ ra và những giá trị kiến thức sẽ thu được từ sự kiện. Tuy nhiên vấn đề nằm ở chỗ chi phí 100k cho phần ăn trưa của vé vip. 100k không lớn, và hoàn toàn có thể chấp được bởi đa số những ai tham gia sự kiện nếu họ được ăn một “bữa trưa đúng nghĩa”, mình nhắc lại là “bữa trưa đúng nghĩa” nhé, tuy nhiên thực tế thì nó tệ hơn khá nhiều, nếu không muốn nói toạc ra là tệ hơn rất nhiều so với 1 bữa trưa thông thường. Chẳng là thế này, sự kiện bắt đầu từ 9h và kéo dài tới khoảng 12h15 là sẽ nghỉ ăn trưa, do các chủ đề diễn ra liên tục với mức độ tập trung cao nên tới giờ ăn trưa mọi người đều đã khá đói và mệt, họ cần năng lượng để tiếp tục hoạt động vào buổi chiều. Và điều mình thấy không hợp lí xảy ra ở đây, mọi người bố trí để ăn đứng, nhưng không phải buffet nhé, mỗi người được 1 dĩa thức ăn “nhỏ” gồm: 1 bánh su kem, 1 mẩu bánh mì mặn to bằng 4 ngón tay, 1 miếng xôi to bằng 2 đốt ngón tay, và trái cây được để chung dĩa bao gồm 1 miếng dưa hấu, 1 quả nhãn và 1 miếng ổi, mỗi người được thêm 1 li sữa đầu nành hoặc nước trái cây mình đoán khoảng tầm 150ml. Thật không thể tin được. Mình không nghĩ đây có thể gọi là “bữa trưa” được, nó rất ít giá trị dinh dưỡng và ít nốt số lượng. Mình không thể tưởng tượng được bằng cách nào đó mà họ có thể gọi đó là “bữa trưa” được, với mình nó còn thua cả thức ăn vặt vào những khoảng thời gian tea-break 10 phút ngắn giữa buổi ở các hội nghị lớn, được quảng cáo là “ngày hội thường niên lớn nhất” mà bữa trưa như thế theo mình là không thể chấp nhận được, có thể nói là thiếu tôn trọng người tham dự. Không thể kì vọng vào 1 bữa trưa hoành tráng, tuy nhiên việc chuẩn bị bữa trưa quá sơ sài như vậy thật sự là rất thiếu chuyên nghiệp. Mình khuyên các bạn nên mua vé thường – không bao gồm bữa trưa – và tự lo cho mình 1 bữa trưa với đầy đủ năng lượng hơn.
Một vấn đề lớn khác là cách tổ chức sự kiện lần này. Sự kiện này quy tụ hơn 300 người tham dự (chưa kể diễn giả, mình đoán vậy) nhưng chỉ có 2 phòng nhỏ để trình bày, mọi người không đủ chỗ ngồi và rất đông các bạn đã phải đứng suốt buổi để nghe chia sẻ, thật thiếu chuyên nghiệp. Với cách thức kiểm soát số lượng người tham dự thông qua việc mua vé, ban tổ chức đã chủ động nắm bắt được số lượng người tham dự, thế mà mình vẫn không hiểu sao họ lại chỉ thuê 2 phòng bé như thế, theo mình thì cần phải có thêm 1 phòng kích cỡ tương đương như vậy nữa thì mới đủ chỗ cho mọi người. Về việc sắp xếp thời gian cho các diễn giả trình bày, ban tổ chức cũng sắp xếp thời gian quá sát, dẫn tới việc không có thời gian buffer và nghỉ chuyển đổi giữa các topic. Chỉ cần diễn giả nói kéo dài thời gian hơn 1 chút, hay mọi người hỏi nhiều hơn 1 chút là đã bị lệch giờ, kết quả là giờ kết thúc lệch gần 1 tiếng so với dự định, một sự kiện lớn mà tính toán thời gian chênh lệch như thế theo mình là rất thiếu chuyên nghiệp. Như mình đã nói ở trên, việc có thêm 1 phòng nữa (tức là 3 thay vì 2) sẽ vừa giải quyết được vấn đề quá tải số lượng người tham dự và vấn đề về thời gian. Ngoài ra cũng còn nhiều các lỗi nhỏ khác như: dịch thuật tiếng anh sai, máy chiếu mờ và nhỏ… Topic tên là “abort HTTP request” mà dịch ra là “câu chuyện về HTTP request” thì mình cũng đến là chịu.
Tóm lại, đánh giá chung của mình về sự kiện là ở mức độ chấp nhận được về mặt nội dung, bạn có thể học được nhiều điều hữu ích từ sự kiện này, tuy nhiên cách tổ chức vẫn còn rất tệ. Các bạn developers nên tham dự sự kiện này để tiếp cận được nhiều thông tin hơn, nắm bắt xu hướng phát triển của thị trường và kết nối nhiều hơn tới cộng đồng, tuy nhiên hãy nhớ là: chỉ nên mua vé thường, và nhìn cái vé vip với nửa con mắt coi thường. Haha.