Có thể nói, năm 2020 là một năm chưa từng có trong lịch sử gần đây. Nhân loại đã không phải trải qua một đại dịch như dịch COVID-19 trong một trăm năm qua. Dịch COVID-19 đã ảnh hưởng đến tất cả các nước, các lĩnh vực và gần như tất cả các mọi người trên Hành tinh của chúng ta.
Tin tốt là chúng ta đã có vắc-xin và có thể đón năm mới 2021 với nhiều lạc quan và hy vọng.
Năm 2020 là một năm quan trọng đối với ngành phát triển phần mềm với rất nhiều đột phá trong nhiều lĩnh vực. COVID-19 đã thúc đẩy quá trình chuyển đổi số một các mạnh mẽ và xu hướng này sẽ còn nhiều hơn vào năm 2021.
Dưới đây là danh sách 21 dự đoán về xu hướng phát triển phần mềm vào năm 2021 của Kamaruzzaman hiện là Software Architect và là Tech Writer đăng trên Towards Data Science.
Đưa ra dự đoán là một việc không dễ dàng và rủi ro. Tuy nhiên trong bài này tác giả sử dụng dữ liệu, số liệu và dữ kiện từ các nguồn xác thực và đưa ra dự đoán cho tương lai khi xem xét quá khứ. Hy vọng bài viết sẽ mang lại cho bạn nhiều thông tin có giá trị.
1. Cơ sở hạ tầng tập trung: mây, đám mây khắp nơi
Trong thời gian COVID-19, hiếm có ngành nào mà không bị ảnh hưởng. Công nghệ đám mây thực sự trở nên mạnh mẽ hơn bao giờ hết. Nếu có bất kỳ nghi ngờ và không chắc chắn nào về việc áp dụng Cloud, COVID-19 đã xóa sạch điều đó.
Một thảm họa quy mô toàn cầu như Corona cho thấy rằng chúng ta không chỉ cần Cloud để nâng cấp, chúng ta cũng cần cloud để thu hẹp quy mô khi nhu cầu về dịch vụ giảm đáng kể. Hãy suy nghĩ về ngành du lịch và vận tải phải duy trì các trung tâm dữ liệu đắt tiền mặc dù thị trường của họ giảm 90%.
Forrester đã dự đoán thị trường cơ sở hạ tầng cho Global Public Cloud IT sẽ phát triển lên đến 120 tỉ đô la Mỹ, với tỉ lệ tăng 35% trong năm 2021.
Cho dù bạn đang ở trong ngành nào (Chính phủ, Công ty khởi nghiệp, Nông nghiệp, Chăm sóc sức khỏe, Ngân hàng), hãy lập kế hoạch di chuyển qua Cloud vì toàn bộ thế giới chuyển sang đám mây sớm hơn. Sẽ có sự thiếu hụt rất lớn và nhu cầu cao đối với Kỹ sư Cloud-Native vào năm 2021 trở đi.
Nếu bạn là một kỹ sư CNTT, hãy tham gia bất kỳ khóa học MOOC nào (Massive Online Open Course) để có được chứng chỉ Đám mây cho riêng bạn. Tin tốt là nhiều khóa học đang miễn phí trong thời gian này. Ngoài ra, các nhà cung cấp đám mây công cộng lớn cũng cung cấp các khóa học miễn phí. Gần đây, nhà cung cấp Đám mây công cộng lớn nhất Amazon đã tuyên bố rằng họ sẽ đào tạo Điện toán Đám mây miễn phí cho 29 triệu người trong giai đoạn 2021–2025
2. Cơ sở hạ tầng phi tập trung: Điện toán biên sẽ tăng trưởng theo cấp số nhân
Ngược lại với Public Cloud, nơi các tính toán và xử lý dữ liệu đều tập trung tại trung tâm dữ liệu, có nhiều tình huống mà chúng ta cần điều ngược lại, tức xử lý dữ liệu tính toán ở gần người dùng cuối. Điều đó giúp tối ưu hóa việc xử lý, phân tích, giảm chi phí.
Mặc dù điện toán biên (Edge Computing) là một khái niệm cũ và chúng ta đang sử dụng Edge Computing trong Mạng phân phối nội dung (Content Delivery Network – CDN), nhưng nó đang trở nên phổ biến trong những năm gần đây. Với sự gia tăng của các phương tiện được kết nối (Xe tự hành, máy bay không người lái), trò chơi trực tuyến, IoT, thiết bị thông minh và AI / ML biên, Edge Computing sẽ là một thị trường khổng lồ vào năm 2021 và hơn thế nữa. Một lý do chính khác khiến điện toán biên trở thành chìa khóa quan trọng vào năm 2021 là sự gia tăng của các thiết bị di động 5G.
Dự đoán năm 2021, hai nhóm ngành sẽ tranh giành thị phần trong lĩnh vực điện toán biên.
- Một nhóm sẽ là các nhà cung cấp Public Cloud (Đám mây công cộng) như Amazon, Microsoft, Google. Trong lĩnh vực này Amazon dẫn đầu với nhiều dịch vụ như AWS Snow, AWS IoT Greengrass. Microsoft cũng đang cung cấp các dịch vụ biên với Azure Stack Edge, Azure Edge Zone. Google cũng đang chuyển các dịch vụ trung tâm dữ liệu của mình đến người dùng cuối với Google Anthos.
- Nhóm còn lại là những ngành đã có Cơ sở hạ tầng cạnh như Công ty viễn thông, Nhà cung cấp trung tâm dữ liệu, Nhà cung cấp mạng. Nếu họ có thể di chuyển nhanh và tận dụng lợi thế của mình (tức là cơ sở hạ tầng hiện có), họ có cơ hội dẫn đầu ở đây. Nhà cung cấp đám mây lai (Hybrid cloud) RedHat (IBM) sẽ đóng vai trò quan trọng ở đây với nền tảng đám mây lai OpenShift và tham gia vào OpenStack. Gần đây, Samsung đã hợp tác với IBM để phát triển các giải pháp Edge Computing.
State of the Edge là sáng kiến đưa ra tiêu chuẩn mở cho điện toán biên để làm cho nhà cung cấp điện toán biên trở nên trung lập. Gần đây State of the Edge đã trở thành một phần của Linux Foundation. Giống như CNCF, State of the Edge cũng sẽ đạt được nhiều thành tựu hơn vào năm 2021 trở đi.
Chúng ta hãy chuẩn bị cho nhiều sự đổi mới, các vụ sáp nhập, các cuộc cạnh tranh đối đầu và tiêu chuẩn hóa trong Edge Computing vào năm 2021 và xa hơn nữa.
3. Đám mây: AWS đang dẫn đầu, nhưng Đa đám mây sẽ là tương lai
Trong số các nhà cung cấp Public Cloud, cho tới quý 3 năm 2020, Amazon đang dẫn đầu thị trường Đám mây công cộng với 32% thị phần:
Nguồn: canalys.com
Microsoft đã có một năm thành công với việc cung cấp dịch vụ đám mây và đạt mức tăng trưởng hàng năm 48% vào năm 2020. Trong quý 3 năm 2020, Microsoft chiếm 19% thị phần so với 17% thị phần trong quý 3 năm 2019.
Hiện tại, Google là nhà cung cấp đám mây công cộng lớn thứ ba với 7% thị phần trong Quý 3 năm 2020.
Vào năm 2021, Amazon và Microsoft sẽ lần lượt giữ vị trí đầu tiên và thứ hai. Tuy nhiên, Alibaba sẽ chiếm vị trí thứ ba vào năm 2021 vì họ chỉ đứng sau Google với 6% thị phần vào quý 3 năm 2020.
Ngoài ra, Multi-Cloud (Đa đám mây) sẽ có thêm động lực vào năm 2021. Nhiều công ty cũng đang chuyển sang chiến lược đa đám mây. Chính phủ Mỹ gần đây đã trao hợp đồng Cloud của mình cho nhiều nhà cung cấp thay vì một nhà cung cấp duy nhất.
Cho đến nay, Amazon vẫn miễn cưỡng tham gia sáng kiến đa đám mây để bảo vệ thị phần của mình. Nhưng như chúng ta đã thấy với Microsoft 10 năm trước, toàn bộ ngành công nghiệp và cộng đồng lớn hơn một công ty riêng lẻ lớn nhất. Gần đây, Amazon đã âm thầm tham gia vào sáng kiến Đa đám mây.
Cloud Native Computing Foundation (CNCF) đóng một vai trò quan trọng trong phong trào đa đám mây và được cho là đã vượt qua Linux Foundation. Vào năm 2021, chúng ta có thể thấy CNCF tăng trưởng nhiều hơn. Ngoài ra, các nhà cung cấp dịch vụ đa đám mây như HashiCorp sẽ trở nên quan trọng hơn vào năm 2021.
Một số dự án nổi bật cũng cung cấp khả năng tương thích API với dịch vụ đám mây phổ biến của nhà cung cấp cụ thể, ví dụ như MinIO (cung cấp Bộ nhớ đối tượng tương thích AWS S3). Vào năm 2021, sẽ có nhiều dự án như MinIO để chúng ta có thể dễ dàng nâng cấp và thay đổi các dịch vụ giữa nhà cung cấp dịch vụ đám mây phổ biến.
Đây là một tin tốt cho toàn ngành và chúng ta có thể mơ về một thế giới nơi các công ty có thể triển khai ứng dụng của họ trong nhiều đám mây một cách liền mạch.
4. Ảo hóa (Containerization): Kubernetes vượt lên và Docker sẽ trượt dài
Containerization (ảo hóa) là công nghệ cốt lõi của Cloud Native IT, cho dù là đám mây công cộng, đám mây riêng hay điện toán biên. Trong vài năm nay, Kubernetes đã tự khẳng định mình là Công ty quản lý và điều phối Container hàng đầu. Giống như Linux đã thống trị các trung tâm dữ liệu trước đây, Kubernetes đang thống trị đám mây công cộng và đám mây riêng. Ban đầu, Google đứng đằng sau Kubernetes, giờ đây gần như tất cả các công ty công nghệ khổng lồ đều đặt sức nặng của mình sau Kubernetes.
Tất cả các nhà cung cấp Đám mây công cộng lớn hiện đang cung cấp dịch vụ Kubernetes (Amazon EKS, Azure AKS, Google GKE) cùng với dịch vụ Containerization của họ. Mặt khác, RedHat đang cung cấp dịch vụ Kubernetes được quản lý trong Private Cloud với OpenShift.
Vào năm 2021, chúng ta sẽ thấy Kubernetes được áp dụng nhiều hơn vì nó là thành phần cốt lõi trong chiến lược Hybrid-Cloud hoặc Multi-Cloud. Các ứng dụng doanh nghiệp phi truyền thống như AI / ML, Databases, Data Platforms, Serverless và Edge Computing cũng sẽ chuyển sang Kubernetes.
Mặt khác, Docker đang dần mất đi sức hấp dẫn của nó. Gần đây Kubernetes đã không dùng Docker và có kế hoạch loại bỏ Docker hoàn toàn vào cuối năm 2021 trong bản phát hành Kubernetes sắp tới (1.22)
Vì Kubernetes là con Gorilla trong hệ sinh thái container, năm 2021 sẽ bắt đầu sự kết thúc của Docker.
5. Điện toán lượng tử (Quantum Computing) sẽ tạo đà
Quantum Computing (điện toán lượng tử) là công nghệ mang tính cách mạng nhất trong danh sách này. Giống như máy tính kỹ thuật số, nó có khả năng ảnh hưởng đến mọi lĩnh vực. Hãy xem danh sách Công nghệ nóng nhất cho những năm 2030 và Máy tính lượng tử ở vị trí số một.
Để dễ hình dung: nếu chúng ta nghĩ về những siêu máy tính tiên tiến nhất hiện nay như một con người bình thường, chẳng hạn như một kỳ thủ cờ vua hay một học sinh lớp 8 chuyên toán, thì Điện toán lượng tử chính là siêu máy tính như Magnus Carles, người có thể chơi cùng lúc với 50 người chơi cờ trung bình hay chơi cờ với nhà toán học thiên tài như Euler.
Đã có một số đột phá và tiến bộ đáng kể trong Điện toán lượng tử vào năm 2020. Vào tháng 6 năm 2020, Honeywell tuyên bố rằng họ đã tạo ra Máy tính lượng tử mạnh nhất, đánh bại kỷ lục trước đó do Google thiết lập.
Chỉ cách đây vài ngày, một nhóm các nhà khoa học từ Đại học Khoa học và Công nghệ Trung Quốc (USTC) đã cho thấy Máy tính lượng tử có thể đánh bại Siêu máy tính cổ điển tiên tiến nhất một cách thoải mái khi thực hiện một nhiệm vụ cụ thể.
Nhiều chính phủ và những người khổng lồ về công nghệ đang khám phá và đầu tư vào điện toán lượng tử. Google và IBM là hai trong số những người chơi lớn nhất trong lĩnh vực này. Google thậm chí còn tung ra một thư viện mã nguồn mở TensorFlow Quantum (TFQ), để tạo mẫu cho các mô hình học Máy lượng tử.
Amazon cũng đang cung cấp dịch vụ điện toán lượng tử được quản lý thông qua Amazon Braket Cloud Service của mình.
Với sự quan tâm lớn và khả năng vô hạn của điện toán lượng tử, sẽ có một số đột phá và khám phá đáng kinh ngạc về Máy tính lượng tử vào năm 2021.
Nếu bạn muốn khám phá Điện toán lượng tử, thì bạn có thể sử dụng qiskit SDK nguồn mở, cũng đang cung cấp khóa học miễn phí
6. Blockchain: tàu lượn sẽ tiếp tục
Blockchaincũng là một trong những công nghệ đột phá lớn được phát triển trong thời gian gần đây. Công nghệ này có tiềm năng thay đổi toàn bộ ngành. Tiền điện tử đóng một vai trò quan trọng trong việc phổ biến công nghệ blockchain. Nó cũng đóng một vai trò quan trọng trong việc đưa Công nghệ vào đỉnh điểm của thổi phồng kỳ vọng (Peak of Inflated Expectations) trong chu kỳ Kỳ vọng của Gartner.
Nhiều kẻ lừa đảo đã lợi dụng sự phổ biến của Bitcoin và tạo ra các dự án lừa đảo để lừa những người bình thường muốn trở nên giàu có trong một thời gian ngắn. Giờ đây, Blockchain đang trải qua đáy của sự vỡ mộng (Trough of Disillusionment) của Chu kỳ Kỳ vọng. Ngoài ra, các chính phủ đang can thiệp vào tiền điện tử để ngăn chặn lừa đảo. Gần đây chính phủ Trung Quốc đã bắt giữ một vụ lừa đảo tiền điện tử “Plus Token Ponzi”
Facebook đã phát hành tiền điện tử Libra vào năm 2019 nhưng phải chịu áp lực pháp lý dữ dội trong năm 2020.
Các Blockchains mã nguồn mở khác như Ethereum có thể sử dụng nó như một hợp đồng thông minh, đây là tương lai của Blockchain.
Vào năm 2021, Blockchain sẽ được sử dụng nhiều hơn như một cơ chế Hợp đồng thông minh và hy vọng, nó sẽ bước vào giai đoạn dốc của sự khai sáng (Slope of Enlightenment). Blockchain sẽ có một sự thúc đẩy lớn vào năm 2021, vì Trung Quốc đã đưa nó vào kế hoạch 500 nghìn tỷ “Cơ sở hạ tầng mới” đầy tham vọng của mình.
Chu kỳ Kỳ vọng của Gartner
7. Trí tuệ nhân tạo: AI sẽ dành cho tất cả
Là một trong những Công nghệ hot nhất trong thời gian gần đây, Artificial Intelligence (AI) cũng có nhiều đột phá trong năm 2020. Một xu hướng thú vị khác là AI từ từ bắt đầu thâm nhập vào tất cả các lĩnh vực với khẩu hiệu “AI cho tất cả”.
Trong lĩnh vực xử lý ngôn ngữ tự nhiên, GPT-3 là bước đột phá lớn vào tháng 5 năm 2020. Công ty OpenAI của Mỹ đã tạo ra GPT-3, giúp tạo ra văn bản giống con người bằng cách sử dụng Deep Learning. Chỉ sau bốn tháng, cả thế giới đồng loạt kinh ngạc và bàng hoàng khi bài báo của Guardian được viết bằng GPT-3
In 2021, there will be a breakthrough in Natural Language Processing, where AI will write articles or write small software programs.
Sự phát triển thú vị khác là AutoML 2.0, cho phép sử dụng Kỹ thuật tính năng tự động. Vào năm 2021, sẽ có một bước tiến lớn trong Tự động hóa AI chu kỳ đầy đủ (Full Cycle AI Automation).
AI không phải là không thiên vị và AI có đạo đức (ethical AI) đang nhận được nhiều sức hút hơn. Một xu hướng chính khác trong AI là explainable AI (AI có thể giải thích được), tức sẽ cần lời giải thích tại sao AI lại đưa ra một quyết định nhất định. Vào năm 2021, sẽ có những tiến bộ lớn trong các lĩnh vực này vì EU đã đưa ra các quy định yêu cầu giải thích quyết định của AI.
AI cũng sẽ được áp dụng nhiều trong ngành Hàng không vào năm 2021 và hơn thế nữa. Không quân Hoa Kỳ đã sử dụng AI làm Phi công phụ để lái Máy bay
AI cũng sẽ là trung tâm trong cơ sở hạ tầng dựa trên kỹ thuật số của Trung Quốc trong tương lai.
8. Thư viện Deep Learning: Sẽ là TensorFlow 2.0 và PyTorch
Google và Facebook là hai công ty thống trị trong Deep Learning và Neural Network. Hoạt động kinh doanh chính của Google là khả năng tìm kiếm và nó là nhà sáng tạo hàng đầu trong Xử lý ngôn ngữ tự nhiên. Hoạt động kinh doanh chính của Facebook là mạng xã hội và nó phải xử lý Hình ảnh, Video và Văn bản. Về xử lý hình ảnh, Facebook là công ty dẫn đầu về công nghệ với nhiều đổi mới.
TensorFlow của Google là thư viện hàng đầu trong Deep Learning, nhưng mọi thứ đã thay đổi vào năm 2016 khi Facebook phát hành PyTorch. PyTorch đã sử dụng Đồ thị động thay vì Đồ thị tĩnh (được sử dụng bởi TensorFlow) và thân thiện hơn với Python. Google đã phản ứng bằng cách tạo ra TensorFlow 2.0 vào năm 2019, sao chép nhiều tính năng của PyTorch (Đồ thị động, tính thân thiện với Python). Nó cũng hoạt động hoàn hảo với Google’s Collab, một Notebook rất hiện đại và mạnh mẽ. Kể từ đó, TensorFlow 2.0 trở nên nổi tiếng. Hiện tại, TensorFlow là khung Deep Learning phổ biến nhất, theo Khảo sát dành cho nhà phát triển Stack Overflow, năm 2020.
Nguồn: Khảo sát StackOverFlow 2020
Cũng trong năm 2021, TensorFlow 2.0 và PyTorch sẽ là thư viện của cho doanh nghiệp và cộng đồng. Các công ty có cơ sở mã TensorFlow hiện có hoặc muốn sử dụng Collab Notebook nên sử dụng TensorFlow 2.0. Các công ty hoặc cá nhân mới tham gia Học sâu hoặc những người muốn tiếp tục với Juypter Notebook nên chọn PyTorch.
9. Lưu dữ liệu: một kích thước không lấp đầy cho tất cả
Toàn cảnh cơ sở dữ liệu (CSDL) hiện đại có đầy đủ các lựa chọn và nhiều biến thể. Chúng ta có cơ sở dữ liệu SQL cổ điển, chủ yếu là bốn cơ sở dữ liệu lớn: MySQL, Oracle, MS-SQL, PostgreSQL. Chúng ta cũng có cơ sở dữ liệu NoSQL, chủ yếu bao gồm các Cơ sở dữ liệu: Document, Key-Value, Wide-Column, Time-Series, Search, Graph. Ngoài ra còn có nhiều loại Data Stores khác.
Gần đây có sự gia tăng của cái gọi là Globally distributed ACID transaction databases hay cơ sở dữ liệu NewSQL. Google là công ty dẫn đầu ở đây với Google Spanner, cơ sở dữ liệu tuân thủ ACID (atomicity, consistency, isolation, durability) có thể mở rộng theo chiều ngang đầu tiên. Amazon cũng có cơ sở dữ liệu tuân thủ ACID có thể mở rộng theo chiều ngang Amazon Aurora cung cấp hầu hết các tính năng SQL nhưng không có quy mô ghi theo chiều ngang. Ngoài các nhà cung cấp Hyperscale Cloud, CockroachDB cũng là một Cơ sở dữ liệu SQL phân tán hoặc NewSQL rất nổi bật.
Vào năm 2021, hệ thống sinh thái Data Store sẽ vẫn như hiện tại với nhiều lựa chọn. Sẽ không có một cơ sở dữ liệu Master có thể phục vụ mọi mục đích. Vào năm 2021, việc lựa chọn cơ sở dữ liệu phù hợp sẽ là một nhiệm vụ rất thách thức với sự cân nhắc kỹ lưỡng.
Nhiều Cơ sở dữ liệu phổ biến đã thay đổi giấy phép của họ (MongoDB, Cassandra, Redis, Kafka) vì các nhà cung cấp Hyperscale Cloud, đặc biệt là Amazon, đã lạm dụng các đổi mới của họ và kiếm tiền mà không cần trả lại. Xu hướng này sẽ tiếp tục vào năm 2021 và các công ty khởi nghiệp hoặc công ty đổi mới khác sẽ sử dụng các giấy phép hạn chế hơn để bảo vệ họ khỏi các nhà cung cấp Đám mây đang rình rập.
10. Tính toán chuyên sâu về dữ liệu: Spark sẽ vẫn dẫn đầu
Chỉ một vài năm trước, Hadoop là lựa chọn mặc định cho các Công việc Tính toán chuyên sâu về dữ liệu (Data-Intensive Computation) hoặc các tác vụ phân tán hàng loạt (Distributed Batch Jobs). Apache Spark hiện là nền tảng Vendor Neutral Distributed Batch Jobs được lựa chọn và gần như thay thế Hadoop trong hầu hết các trường hợp.
Xu hướng sẽ tiếp tục vào năm 2021 và Spark sẽ được sử dụng làm nền tảng ưa thích cho Tính toán chuyên sâu về dữ liệu. Spark là một hệ thống dựa trên JVM sử dụng nhiều tài nguyên và bạn sẽ nhận được một hóa đơn khổng lồ về Cloud. Chưa thấy có sự cải tiến nào về vấn đề này.
Tất cả các nhà cung cấp Cloud lớn đều có giải pháp Cloud Native của riêng họ để thực hiện Tính toán chuyên sâu về dữ liệu. Bạn có thể sử dụng giải pháp cụ thể của Spark qua Cloud vào năm 2021 để tránh bị khóa chặc vào một nhà cung cấp.
11. Streaming thời gian thực: Flink là sự lựa chọn rõ ràng
Trong những năm gần đây, streaming (truyền phát) thời gian thực đang ngày càng trở nên phổ biến khi các doanh nghiệp đang từ bỏ kiến trúc Lambda truyền thống để chuyển sang sử dụng các frameworks xử lý stream thời gian thực.
Co hai framworks dạng này. Một là nền tảng dựa trên Micro-Batch do Spark Streaming. dẫn đầu. Nền tảng còn lại là nền tảng xử lý luồng có độ trễ thấp (low latency stream processing) do Apache Flink. dẫn đầu.
Apache Flink ra mắt Spark Streaming cho các tình huống mà bạn cần phát trực tuyến theo thời gian thực (phát hiện gian lận, phát hiện bất thường, cảnh báo dựa trên quy tắc, phân tích đặc biệt dữ liệu trực tiếp).
Tất cả các nhà cung cấp đám mây Hyperscale (mở rộng siêu nhanh) cũng cung cấp các giải pháp của riêng họ. Bạn nên chọn Flink over Spark hoặc giải pháp Cloud độc quyền vào năm 2021 vì nó có sức mạnh và khả năng chưa từng có trong xử lý luồng thời gian thực.
12. Data Platform: Snowflake dẫn đầu
Kiến trúc dữ liệu hiện đại khá phức tạp. Nó bao gồm data sources, ETL (Extract Transform Load) pipeline, Data Warehouse, Data Lake, công cụ phân tích dữ liệu và nhiều thành phần khác. Dưới đây là một ví dụ về trường hợp sử dụng của nền tảng dữ liệu doanh nghiệp (Enterprise Data Platform) của ABM AMRO:
Snowflake đã cách mạng hóa kiến trúc dữ liệu hiện đại bằng cách cung cấp một nguồn dữ liệu tập trung, một nền tảng và xây dựng nhiều khối lượng công việc khác nhau trên đó. Trong kiến trúc cổ điển, dữ liệu cần di chuyển theo các giai đoạn khác nhau, nhưng trong Snowflake chỉ có một nguồn dữ liệu tin cậy duy nhất (Source of Truth).
Chúng ta có thể hy vọng năm 2021 sẽ có nhiều đổi mới hơn để Snowflake trở thành nền tảng dữ liệu duy nhất cho doanh nghiệp. Đó sẽ là một thay đổi lớn và thay đổi cuộc chơi cho nhiều công ty.
13. Phát triển ứng dụng nhanh: Low Code / No-Code sẽ nhiều hơn
Sự chuyển đổi kỹ thuật số nhanh chóng đang tạo ra một khoảng cách lớn về cung và cầu đối với Kỹ sư phần mềm. Mặc dù ngày càng có nhiều developer tham gia vào ngành nhưng điều đó vẫn chưa đủ. Trong những năm gần đây, low-code / No-code đang bắt đầu thịnh hành.
Có rất nhiều nền tảng low-code / no-code trên thị trường, chẳng hạn như Bubble cho phát triển Web. Thành công của họ đã mở đường cho sự phát triển của low-code / no-code trong các lĩnh vực khác: No-Code App Development, No Code AI, No Code Machine Learning.
Ngoài ra, các nhà cung cấp đám mây công cộng cũng cung cấp dịch vụ low-code / no-code như Microsoft có Power Apps, Google với AppSheet và AWS cung cấp Honeycode làm nền tảng low-code / no-code để xây dựng ứng dụng nhanh chóng.
Năm 2021, low-code / no-code sẽ là một trong những lĩnh vực cạnh tranh sôi nổi với rất nhiều đổi mới, sáp nhập và mua lại. Nếu bạn là một cá nhân hoặc doanh nghiệp có ý tưởng cần phát triển, hãy chú ý đến low-code / no-code.
14. Kiến trúc phần mềm: Microservices, Monoliths, Serverless sẽ cùng tồn tại
Trong những năm gần đây, kiến trúc Microservice đã trở thành lựa chọn ưu tiên trong việc phát triển ứng dụng doanh nghiệp quy mô lớn. Tuy nhiên, việc thiết kế ứng dụng Microservice phức tạp hơn ứng dụng một khối Monolithic (kiến trúc nguyên khối) cổ điển. Tuy nhiên, cũng giống như bất kỳ Kiến trúc phần mềm nào khác, Microservices cũng có các trường hợp sử dụng thành công và không thành công.
Gần đây có một phản ứng dữ dội đối với Kiến trúc Microservice vì sự phức tạp và thất bại của nó trong một số trường hợp sử dụng nhất định. Kelsey Hightower đã đăng trên Twitter:
For all those making their journey from monoliths to microservices, good luck, and take this with you: "A Note on Distributed Systems". https://t.co/XvLntzIZ2I pic.twitter.com/Xet6URU8hB
— Kelsey Hightower (@kelseyhightower) July 14, 2020
Nó trái ngược với xu hướng chúng ta đã thấy cách đây vài năm khi kiến trúc Monolithic bị chỉ trích và bị coi là lỗi thời. Trên thực tế, kiến trúc Monolithic cũng là một kiến trúc tuyệt vời và phù hợp với nhiều ứng dụng.
Một kiến trúc phần mềm khác đã được quảng cáo rầm rộ trong những năm gần đây là Kiến trúc không máy chủ (Serverless Architecture). Amazon đã đi tiên phong trong dịch vụ Serverless Compute với dịch vụ AWS Lambda mang tính đột phá nơi nhà phát triển chỉ viết mã và nhà cung cấp Dịch vụ quản lý Máy chủ. Nó cũng là một Kiến trúc bị một số người thổi phồng nhưng đồng thời cũng bị chỉ trích bởi những người khác. Giống như Monoliths và Microservices, Serverless cũng không phải là Silver Bullet và nên được sử dụng khi nó phù hợp.
Vào năm 2021, tất cả kiến trúc phần mềm (Monolith, Microservice, Serverless) sẽ cùng tồn tại vì tất cả chúng đều có các trường hợp sử dụng, ưu và nhược điểm riêng. Bạn nên chọn Microservices để phát triển Doanh nghiệp quy mô lớn (nơi SOA thường được sử dụng), Monoliths để phát triển quy mô nhỏ, Serverless cho tải theo hướng sự kiện và tải nhanh.
15. Ngôn ngữ lập trình chính thống: Python và JavaScript sẽ dẫn đầu
Các ngôn ngữ lập trình cũng đang trải qua những thay đổi lớn trong những năm gần đây. Các ngôn ngữ lập trình truyền thống đang mất thị phần vào các ngôn ngữ lập trình thân thiện và dễ dàng hơn đối với các developer. Theo xếp hạng của TIOBE vào tháng 11 2020, Python đã sếp hạng cao hơn Java.
Khi ngành phát triển phần mềm đang bùng nổ và một tỷ lệ lớn các nhà phát triển mới tham gia vào ngành, các ngôn ngữ lập trình thân thiện với nhà phát triển sẽ phổ biến hơn vào năm 2021.
- Python là ngôn ngữ lập trình số một trong Khoa học dữ liệu và là ngôn ngữ số 2 hoặc số 3 trong hầu hết các lĩnh vực khác ngoại trừ lập trình cấp thấp.
- JavaScript là ngôn ngữ số một không thể tranh cãi trong phát triển Web và ngày càng phổ biến trong các lĩnh vực khác, bao gồm cả phát triển Backend. Nó cũng là một ngôn ngữ hoàn hảo cho người mới bắt đầu.
- Java đang dần mất đi tính phổ biến như là ngôn ngữ lập trình phổ biến nhất. Tuy nhiên, với khả năng tương thích ngược huyền thoại và bao gồm các thay đổi (chu kỳ phát hành 6 tháng cùng với Virtual Machine GraalVM đa ngôn ngữ ) Java sẽ vẫn là lựa chọn số một trong phát triển phần mềm doanh nghiệp.
- C++ là một ngôn ngữ lập trình chính thống khác đang trải qua những thay đổi lớn trong những năm gần đây. C++20 vừa được phát hành, và nó sẽ thay đổi hoàn toàn cách lập trình C ++ cho đến bây giờ. Đây là một trong những bản phát hành C ++ đột phá nhất trong những năm gần đây và có thể ảnh hưởng lớn đến sự phổ biến của nó vào năm 2021 và hơn thế nữa.
Năm 2021, các ngôn ngữ lập trình chính thống sẽ tự phát triển, mặc dù sẽ có áp lực từ các ngôn ngữ lập trình hiện đại.
16. Ngôn ngữ lập trình hiện đại: thời của Rust
Một xu hướng thú vị khác trong bối cảnh ngôn ngữ lập trình trong vài năm gần đây là sự trỗi dậy của các ngôn ngữ lập trình hiện đại. Các ngôn ngữ cũ có quá khứ và không thể phát triển nhanh (Java) hoặc thậm chí trở nên cồng kềnh và khó khăn hơn khi thêm ngày càng nhiều tính năng (C ++).
Các ngôn ngữ hiện đại và mới hơn có thể đáp ứng nhu cầu của các nhà phát triển ngày nay. Hầu hết tập trung nhiều vào việc sử dụng an toàn và hiệu quả (ergonomics) cho các developer và hỗ trợ các tính năng hiện đại như suy luận kiểu, kiểm tra biến null an toàn, biểu cảm, ngắn gọn. Nhiều người trong số các ngôn ngữ lập trình cũng được thiết kế để tận dụng lợi thế của phần cứng và cơ sở hạ tầng hiện đại (đám mây, đa lõi, GPU, TPU).
Các ngôn ngữ lập trình hiện đại dẫn đầu bởi Rust, Go, Kotlin, Swift, TypeScript ngày càng phổ biến hơn.
Xu hướng này cũng sẽ tiếp tục vào năm 2021, vì chúng là một trong những ngôn ngữ phát triển nhanh nhất.
Trong số đó, Rust sẽ tạo ra một bước đột phá vào năm 2021 khi các nhà phát triển đã ghi nhận nó. Trong năm năm qua, Rust là ngôn ngữ lập trình được yêu thích nhất theo Khảo sát dành cho nhà phát triển Stack Overflow
Các công ty công nghệ lớn giờ cũng sử dụng Rust thay vì C / C ++ cho các dự án phức tạp và nhạy cảm về bảo mật. Microsoft gần đây đã tuyên bố rằng họ sẽ sử dụng Rust để sửa các lỗi bảo mật.
Amazon vừa mới đây cũng tuyên bố đầu tư mạnh vào Rust.
Ngôn ngữ lập trình Go của Google đã là ngôn ngữ lập trình chính thống và lâu đời. Với rất nhiều cải tiến được lên kế hoạch cho bản phát hành Go 2, nó sẽ còn phổ biến hơn nữa trong tương lai.
Ngôn ngữ lập trình Kotlin đã được khẳng định là ngôn ngữ lập trình typed programming phổ biến thứ hai trong hệ sinh thái JVM. Trong phát triển ứng dụng Android, nó đã vượt qua Java.
Ngôn ngữ lập trình TypeScript của Microsoft đã khẳng định được là sự thay thế cho JavaScript. Gần đây, TypeScript đã chứng kiến một bước nhảy vọt về mức độ phổ biến khi nhiều dự án phức tạp ( Deno, Vue.js) dùng TypeScript thay vì JavaScript.
Swift của Apple cũng đã thay thế Objective-C làm ngôn ngữ ưa thích của macOS và iOS. Nó cũng được chấp nhận ở các lĩnh vực khác.
Được hỗ trợ bởi những gã khổng lồ công nghệ, hy vọng các ngôn ngữ lập trình hiện đại, bao gồm cả Rust, sẽ phổ biến và được sử dụng nhiều hơn vào năm 2021.
17. Client-Side Web Frameworks: React will continue to Rule
Hầu hết các ứng dụng doanh nghiệp hướng tới người dùng là ứng dụng web hoặc di động. Trong phát triển Web, các Client-side Web frameworks dựa trên JavaScript / TypeScript đang thống trị trong vài năm nay. Xu hướng là sử dụng các framework JavaScript để phát triển giao diện người dùng và các Server-Side frameworks để phát triển Backend trong đó Front-end và Back-end là các sịch vụ riêng biệt.
React của Facebook là công ty dẫn đầu trong số các Client-Side web frameworks. Nó là công cụ tạo xu hướng và được sử dụng rộng rãi nhất trong ngành. React cho đến nay là Client-Side JavaScript framework được tải xuống nhiều nhất:
Tuy vậy React không phải là web framework phổ biến nhất, nhưng vinh dự đó thuộc về một web framework dựa trên JavaScript khác, Vue.js
Đây cũng là framework số một ở Trung Quốc vì người tạo ra Vue.js (Evan You) là một cựu nhà phát triển Google người Trung Quốc. Thật không may, sự kết nối này với Trung Quốc làm dấy lên lo ngại về an ninh giữa các doanh nghiệp lớn và việc áp dụng Vue.js ở Mỹ hay Châu Âu là tương đối thấp.
Angular của Google đang tụt hậu so với React và Vue.js nhưng vẫn là một framework vững chắc. Tuy nhiên, Web framework mang tính cách mạng nhất trong thời gian gần đây là Svelte. Không giống như các framework khác, Svelte là một no-runtime framework và tập trung vào bước biên dịch.
Năm 2021, tất cả các framework dựa trên JavaScript sẽ học hỏi lẫn nhau và điều chỉnh các tính năng từ các framework khác. Các framework sẽ có nhiều điểm giống nhau hơn nữa vào năm 2021.
18. Server-Side Web Frameworks: Spring và ASP.NET Core cho doanh nghiệp
Các Server Side frameworks là các framework end-to-end cho phép phát triển web từ đầu đến cuối, bao gồm các view layers thông qua Server-Side rendering. Nhưng như đã đề cập, xu hướng hiện đại là chỉ sử dụng chúng cho Backend.
Spring framework dựa trên JVM là Server-Side framework số một trong phát triển doanh nghiệp. Nó cũng cung cấp tất cả các tính năng cần thiết để phát triển các ứng dụng nhỏ và lớn, phức tạp: Inversion of Control, Dependency Injection, Cloud Native, Phát triển ứng dụng theo hướng phản ứng và theo sự kiện, phát triển ứng dụng nhanh. Cũng trong năm 2021, Spring sẽ vẫn là framework số một cho các doanh nghiệp.
ASP.NET Core của Microsoft là polyglot framework Web hấp dẫn khác và hoạt động liền mạch với các framework JavaScript phổ biến (React, Vue.js, Angular). Vào năm 2021, ASP.NET Core sẽ đóng vai trò quan trọng trong việc phát triển các ứng dụng Server Side cho các doanh nghiệp.
Nhiều công ty khởi nghiệp và công ty nhỏ muốn có một framework end-to-end bao gồm lớp View, để phát triển ứng dụng nhanh chóng. Django, PHP Laravel, và Ruby on Rails dựa trên Python sẽ là những lựa chọn tuyệt vời cho họ vào năm 2021.
19. Phát triển ứng dụng: Native App sẽ tiếp tục thống trị
Điện thoại thông minh hiện là một phần trong cuộc sống hàng ngày. Số lượng người dùng điện thoại thông minh đã là 3,5 tỷ và sẽ trở thành 3,8 tỷ vào năm tới
Do đó, ứng dụng dành cho thiết bị di động ngày càng trở nên quan trọng đối với người dùng cuối, đặc biệt là đối với thế hệ trẻ.
Trong phát triển ứng dụng dành cho thiết bị di động có bốn xu hướng chính: Phát triển ứng dụng gốc (native app), phát triển ứng dụng đa nền tảng (Cross-Platform), phát triển ứng dụng kết hợp (Hybrid App) và Phát triển ứng dụng dựa trên đám mây (Cloud-Based App).
Phát triển ứng dụng gốc mang lại tính linh hoạt cao nhất với hiệu suất và trải nghiệm người dùng tốt nhất. Nhưng việc phát triển sẽ tốn kém nhất vì doanh nghiệp cần có hai nhóm phát triển riêng biệt cho Android và iOS.
Việc phát triển ứng dụng đa nền tảng ngày càng trở nên phổ biến, vì gần như cùng một code có thể được sử dụng cho cả ứng dụng iOS và Android. Mặc dù chi phí phát triển thấp, nhưng nó kém linh hoạt và không hiệu quả như các ứng dụng gốc.
Trong những năm gần đây, ứng dụng dựa trên đám mây ngày càng phổ biến hơn khi dữ liệu và logic kinh doanh nằm trên cloud. Một ứng dụng mỏng dành riêng cho thiết bị (device-specific thin client) được phát triển để kết nối và tìm nạp dữ liệu từ đám mây. Mặc dù đây là lựa chọn tốt hơn cho các ứng dụng về dữ liệu, nhưng không phải là sự lựa chọn cho việc phát triển ứng dụng thông thường.
Phát triển Native App vẫn là lựa chọn tốt để phát triển ứng dụng cho các doanh nghiệp, mặc dù việc phát triển ứng dụng đa nền tảng đang bắt kịp. Vào năm 2021, các doanh nghiệp sẽ thích phát triển native app hơn, trong khi các công ty khởi nghiệp và công ty nhỏ sẽ thích phát triển ứng dụng đa nền tảng.
20. Phát triển ứng dụng đa nền tảng: React Native thống trị, nhưng Flutter sẽ bắt kịp
Việc phát triển ứng dụng đa nền tảng ngày càng trở nên phổ biến vì nó ít tốn kém hơn. Có rất nhiều nền tảng phát triển ứng dụng đa nền tảng trên thị trường, nhưng Flutter và React Native là những nền tảng dẫn đầu.
React Native của Facebook dựa trên web framework dựa trên JavaScript phổ biến nhất, React. Nó có khẩu hiệu “Học một lần, viết ở bất cứ đâu.” Facebook đang tích cực phát triển React Native và họ thử nghiệm các tính năng của nó với 2,7 tỷ người dùng Facebook. Nếu một công ty đã có React để phát triển Web và React Native để phát triển ưng dụng, họ có thể chia sẻ các thành phần và codebase giữa phát triển web và di động. Ngoài ra, React Native dựa trên JavaScript, là một trong những ngôn ngữ lập trình phổ biến nhất. Hiện tại, React Native phổ biến hơn Flutter như biểu đồ dưới đây:
Dự đoán năm 2021, React sẽ thống trị sự phát triển của ứng dụng đa nền tảng vì sẽ có một bản cập nhật lớn về hiệu suất của React và React Native.
Flutter của Google là một framework tương đối mới nhưng đã trở nên vô cùng phổ biến trong những năm gần đây. Nó cung cấp một bộ công cụ giao diện người dùng mạnh mẽ để xây dựng các ứng dụng di động, máy tính để bàn và web, được biên dịch nguyên bản từ một codebase duy nhất. Tuy nhiên, Flutter vẫn chưa phải là một framework chính trong phát triển Web như React. Flutter sử dụng ngôn ngữ lập trình hiện đại, Dart, một trong những ngôn ngữ lập trình phát triển nhanh nhất và có năng suất cao. Về mặt hiệu suất, Flutter có lợi thế hơn React Native. Nó cũng tiện lợi và hiệu quả cho các developer.
Không giống như Facebook, đặt cược tất cả vào sau React Native, Google có nhiều framework cho việc phát triển Web và ứng dụng (ví dụ Angular cho Web) và không dựa hoàn toàn vào Flutter và Dart.
Dựa trên các dữ liệu hiện có, dự đoán React Native sẽ vượt qua Flutter vào năm 2021 vì Facebook đang lên kế hoạch cải thiện hiệu suất lớn trong Hệ sinh thái React.
21. API: REST cho các ứng dụng kinh doanh
Kiến trúc Microservice và Serverless đang ngày càng trở nên phổ biến trong những năm gần đây. Các Microservices hoặc Nanoservices cần phải giao tiếp và thông thường giao tiếp đồng bộ (synchronous) được sử dụng trên giao tiếp không đồng bộ (asynchronous) theo hướng sự kiện. Ngay cả các mô hình Monoliths truyền thống (xem monoliths là gì bên trên) cũng giao tiếp thông qua giao tiếp đồng bộ.
REST là công nghệ API thống trị nhất vào năm 2020. REST là một tiêu chuẩn giao tiếp dựa trên công nghệ Web. Nó đã có trong ngành công nghiệp này khá lâu rồi (20 năm). REST và SOAP đến gần như đồng thời, nhưng SOAP gần như được coi là công nghệ kế thừa, REST tiếp tục thống trị. Cho dù đó là một doanh nghiệp lớn hay một công ty khởi nghiệp nhỏ, REST ở khắp mọi nơi. Cũng trong năm 2021, REST sẽ tiếp tục thống trị.
Ngoài ra còn có một số ứng cử viên xuất sắc trong số các công nghệ API. Nổi bật nhất là gRPC của Google. Không giống như REST, gRPC là một giao thức RPC giống như SOAP. Google đã học được các bài học từ các giao thức RPC cũ hơn và tạo ra gRPC phù hợp với nhu cầu phát triển phần mềm hiện đại. Thay vì JSON, gRPC sử dụng định dạng nhắn tin hiệu suất cao Protocol Buffers (bộ đệm giao thức) cũng do Google phát triển. Do đó, gRPC có hiệu suất cao hơn và ít dễ đọc hơn so với REST. Trong giao tiếp giữa máy và máy, đó là sự lựa chọn hiển nhiên.
Một công nghệ API khác ngày càng trở nên phổ biến, đặc biệt là đối với các nhà phát triển giao diện người dùng, là GraphQL của Facebook . Thường thì giao diện người dùng cần thực hiện nhiều lệnh gọi API tới backend để nhận được tất cả dữ liệu mà nó cần. GraphQL cho phép tổng hợp các API để giảm giao tiếp giữa UI và Backend. Một nhược điểm lớn của GraphQL là nó không phù hợp để phát triển các ứng dụng bảo mật cao.
Cả ba đều được sử dụng riêng biệt và có thể bổ sung cho nhau và xu hướng này sẽ tiếp tục vào năm 2021.
Kết luận
Bài này đã sử dụng các xu hướng, dữ liệu và dữ kiện hiện tại để đưa ra 21 dự đoán về các xu hướng phát triển phần mềm quan trọng nhất cho năm 2021. Toàn bộ ngành phát triển phần mềm lớn hơn nhiều và một bài viết không thể bao quát nhiều lĩnh vực quan trọng. Hy vọng bài viết này sẽ cung cấp cho bạn cái nhìn tổng quan về các xu hướng phát triển phần mềm trong năm 2021.
Bạn có thể xem bài gốc tại đây
Bạn có biết?
tham gia cộng đồng ITguru trên Linkedin, Facebook và các kênh mạng xã hội khác có thể giúp bạn nhanh chóng tìm được những chủ đề phát triển nghề nghiệp và cập nhật thông tin về việc làm IT mới nhất
Linkedin Page:
Facebook Group:
cơ hội việc làm IT : ITguru.vn