Yahoo! Japan đã thay đổi công nghệ như thế nào? Sao lại gọi là Annapurna project?

Yahoo! Japan là công ty con thuộc tập đoàn SoftBank và được thành lập vào tháng 01/1996. Thời điểm đó, Yahoo! là một công ty công nghệ thúc đẩy phát triển Internet hàng đầu thế giới và nổi bật app Yahoo! Messenger dành cho PC.

Yahoo! Japan tuy phát triển riêng biệt dành riêng cho Nhật nhưng được kế thừa tất cả các công nghệ Yahoo! Inc đang sở hữu. Tuy nhiên, dù Yahoo! Inc đi đầu về công nghệ thúc đẩy phát triển Internet nhưng Yahoo! Inc không định hướng phát triển mũi nhọn về công nghệ hay truyền thông nên công ty  Yahoo! Inc đã bỏ qua nhiều cơ hội phát triển, đến năm 2017 thì bị mua lại với giá trị rẻ hơn giá trị trước đó rất nhiều bởi Verizon Communications và đổi tên Yahoo thành Altaba nó đánh dấu sự kết thúc của tập đoàn Yahoo! trùm một thời.

Còn Yahoo! Japan được kế thừa nhiều công nghệ từ đàng anh Yahoo! Inc nhưng các công nghệ áp dụng vào vẫn thục lùi so với các công ty công nghệ khác và khi nhận thấy sự yếu kém của Yahoo! Inc về công nghệ nên Yahoo!Japan đã lên kế hoạch đẩy mạnh phát triển công nghệ để theo kịp các đối thủ như Google, Facebook, IBM,…

Vậy họ đã lên kế hoạch thế nào!?

Yahoo! Japan là tập đoàn trùm về Internet tại Nhật và họ có trong tay nhiều công ty và hàng trăm service trực thuộc Yahoo! Japan (https://services.yahoo.co.jp/) cho người dùng và đối tác chiến lược. Chính vì thế việc thay đổi toàn bộ nền tảng lỗi thời sang nên tảng mới hơn là việc rất khó khăn.

Từ giữa 2016, kế hoạch chuẩn bị thay đổi công nghệ của Yahoo!Inc đã được bắt và đó gọi là Annapurna project. Mục tiêu là thay thế công nghệ hạ tầng và mã nguồn đóng Yahoo!Inc. Thời gian triển khai từ 2017 – 2022 kết hợp với sự hỗ trợ từ các công ty công nghệ lớn và hàng nghìn develop để việc thay đổi công nghệ có thể thành công.

Annapurna project là gì?

Theo định nghĩa của Yahoo! Japan thì Annapurna là ngọn núi có nhiều người chết nhất nên khả năng thất bại của dự án là rất cao. Nếu thành công thì project sẽ thay đổi hoàng toàn về công nghệ của Yahoo! Japan.

Nó sẽ mang lại những lợi ích:

  • Không còn lệ thuộc và Yahoo! Inc
  • Việc áp dụng và nâng cấp công nghệ mới sẽ dễ dàng.
  • Việc tuyển mộ develop sẽ đở tốn thời gian training về Y! Tech.
  • Các công nghệ hạ tầng mới từ PCF sẽ đở tốn thời gian và chi phí phát triển.

Nhưng khó khăng gặp phải:

  • Đội ngủ developer dùng Y!Tech phải sử dụng Open source. ví dụ như dùng YPhp trên Y! Tech sang dùng NodeJS hoặc Java mình nghĩ khả năng update CV vì không đáp ứng nổi là khá cao.
  • Các Package, Library dành cho php, java,… dựng riêng cho platform Yahoo! sẽ bị thay thế việc đó ảnh hưởng đến hàng nghìn develop đang sử dụng phát triển các service.

Annapurna project sẽ làm gì để thay đổi công nghệ của Yahoo!Inc?

Đầu tiên, Project sẽ thay đổi Platform không dùng hệ thống hạ tầng IaaS mà Yahoo!Inc đã phát triển trên CentOS 6 sang dùng hệ thống hạ tầng PaaS được PCF (Pivotal Cloud Foundry) phát triển dành riêng cho Yahoo! Japan.

Kế tiếp, các công ty service thuộc Yahoo! Japan sẽ áp dụng hạ tầng PCF (đã và đang xây dựng) để phát triển mã nguồn thay thế close source Y!Tech (mã nguôn đóng Y!Tech như YPHP, YNode,… của Yahoo! Inc) sang sử dụng open source như Node JS v6, PHP v7, Java 8 (Spring Boot) được Yahoo! Japan kiểm nghiệm và nâng cấp hàng ngày.

Vậy Annapruna project có khó khăn như thế nào mà khó thực hiện?

Nhiều người nghe thì nói việc thay thế này khá dễ như viết lại cái mới từ cái cũ thôi! Nhưng thật sự khi mình làm trong dự án thấy rất khó khăng và nhiều vấn đề phát sinh.

  • Ngôn ngữ lập trình close source của Yahoo! khác biệt khá nhiều so với ngôn ngữ open source. Khi đã làm quen và dùng Y!Tech thì dùng cái mới thì phải tìm giải pháp khác phù hợp.
  • Platform Yahoo! được xây dựng từ Platform CentOS và tích hợp sẵng package, library vào và có các function hữu ích và bảo mật và nó được hàng nghìn develop dùng phát triển service. Và họ phải thay thế việc dùng các function, library tích hợp sẵng sang dùng API. Nhưng API không phải là giải pháp tốt nhất nên đôi khi phải tìm giải pháp khác thay thế để đảm bảo Performace và Bussiness logic không đổi.
  • Việc sử dụng các library, api giữa các project trong Y!Tech khá chặt chẽ để bảo mật nên việc thay đổi này sẽ ảnh hưởng không nhỏ, như 1 API dùng để generate ra token phải thay đổi thuật toán tạo token sẽ ảnh hưởng đến hàng ngàn project khác đang dùng. Tuy có thể đảm bảo Bussiness logic không đổi nhưng thuật toán trong các API này đều có thể bị thay thế bởi giải pháp khác.
  • Các dự án mới hiện tại chưa thể áp dụng Platform mới được! Dù họ vẫn cố gắng phát triển dùng công nghệ mới nhưng nền tảng cũ vẫn còn ràng buộc họ không thể khai thác được.
  • Dù được áp dụng công nghệ mới nhưng việc update version repository, dependency từ các nhà cung cấp chưa phải là mới nhất! Chậm hơn 1 vài version nên nhiều lúc mình phát triển dùng version mới nhất khi đưa lên Platform mới thì vẫn bị lỗi chưa hỗ trợ và phải down grade version để phù hợp.

 Lời kết thúc

Hiện tại mình thấy rằng Annapurna project trong giai đoạn đầu đang phát triển và triển khai dù có nhiều khó khăn nhưng trong team vẫn có solution để giải quyết. Và điều khó khăn nhất mình thấy là việc phát triển khá rời rạc giữa các service, sự chia sẽ giữa các developer và document của các team đang phát triển Annapruna chưa được triển khai thường xuyên.

Site Footer

Sliding Sidebar

About Me

About Me

Hello, my name is Dũng (Johnny). Welcome to my blog.

As I’m a developer, I write about topics related to the field of programming, mainly from a technical point of view. On this blog you’ll find posts which encourage discussion, information about development trends, case studies, reviews, tutorials, tips on how to improve your effectiveness, and anything else that might be fascinating to people from the IT industry.
I love PHP,JS and Fullstack.

  • http://lcdung.top/about/
  • Mail: ledung@8bitbase.com