Phát hành Thoughtworks Radar số 27
(thoughtworks.com)Điểm đặc trưng là trực quan hóa và giải thích các xu hướng mới nhất trong các lĩnh vực kỹ thuật/công cụ/nền tảng/ngôn ngữ lập trình và framework theo 4 giai đoạn Hold/Assess/Trial/Adopt
Sự phổ cập của machine learning
- ML từng là thứ chỉ những người có công cụ và tài nguyên mới có thể sử dụng, nhưng với năng lực thiết bị tăng lên và sự xuất hiện của mã nguồn mở, nó đang trở nên phổ cập (mainstreaming)
- Các công nghệ như Federated ML cho phép xây dựng các mô hình ML có khả năng bảo vệ quyền riêng tư đối với thông tin nhạy cảm
- TinyML cho phép chạy mô hình trên các thiết bị có tài nguyên hạn chế, qua đó chuyển khả năng suy luận ra edge để cải thiện bảo mật đối với dữ liệu nhạy cảm
- Feature Store mang lại các lợi ích tương tự mẫu thiết kế MVC trong phát triển ứng dụng, giúp tách bạch rõ ràng các vấn đề giữa khâu tuyển chọn dữ liệu, huấn luyện mô hình và suy luận
- Các mô hình công khai như Stable Diffusion làm nổi bật cả năng lực đáng kinh ngạc của ML lẫn những lo ngại về dữ liệu nguồn và đạo đức
- Các thành phần ML hiện nay dễ kết nối với nhau hơn bao giờ hết, cho phép tạo ra nhiều trải nghiệm và giải pháp ML đa dạng thông qua mô hình kinh doanh và các mô hình tổng quát hiệu năng cao
Sức mạnh của "Platform as a Product"
- Từ "nền tảng" được dùng rất nhiều: nền tảng kinh doanh hoặc lấy domain làm trung tâm, hạ tầng, nền tảng trải nghiệm nhà phát triển, v.v.
- Về cơ bản, nguyên nhân gốc rễ của nhiều vấn đề và sự thất vọng mà tổ chức gặp phải với nền tảng là do "không đối xử với nền tảng như một sản phẩm một cách đúng đắn"
- Ví dụ, với nền tảng dành cho nhà phát triển, thường thiếu nghiên cứu người dùng hoặc phân tích ngữ cảnh như kỳ vọng ở các loại sản phẩm khác
- Chủ sở hữu nền tảng cần kiểm chứng các giả định về nhu cầu của nhà phát triển và phản ứng theo các mẫu sử dụng thực tế
- Cũng như mọi sản phẩm tốt khác, nền tảng cần được hỗ trợ liên tục. Nó phải tiến hóa và thích ứng theo những nhu cầu thay đổi của nhà phát triển
- Phép ẩn dụ "Platform as a Product" chỉ phát huy hiệu quả khi được chấp nhận hoàn toàn như một thực hành chứ không chỉ là một khẩu hiệu
Quyền sở hữu dữ liệu dịch chuyển ra edge
- Mọi sự tập trung hóa đều mở ra khả năng co hẹp (constriction), nút thắt cổ chai và phơi lộ không cần thiết
- Các công nghệ phần mềm/ứng dụng local-first dựa trên CRDT, vốn cho phép ứng dụng dữ liệu hoạt động mà không cần cơ sở dữ liệu tập trung, khiến người ta suy nghĩ lại về việc xây dựng dữ liệu P2P
- Khi quyền sở hữu dữ liệu được chuyển ra edge, nhà phát triển có thể tận dụng các chức năng nâng cao trên từng thiết bị riêng lẻ
- Ví dụ, nhiều chức năng như nhận diện khuôn mặt có thể chỉ được xử lý ở edge, nhờ đó dữ liệu có thể được lưu vĩnh viễn chỉ trên thiết bị
Thiết bị di động cũng cần modular
- Khi ứng dụng di động trưởng thành, kích thước tăng lên và số lượng dịch vụ nhiều hơn, chúng phát triển thành cái gọi là super app có thể được xem như một nền tảng tự thân
- Ngay cả các ứng dụng không quá lớn nhưng đã tích lũy nhiều tính năng qua nhiều năm cũng có thể được tách thành các module, và các công ty đang nhận ra rằng ứng dụng di động cũng hưởng lợi từ việc modular hóa theo cách tương tự
- Ứng dụng được module hóa mang lại nhiều lợi ích vì có thể được nhiều nhóm cùng phát triển
- Tuy nhiên, điểm phức tạp là phải phân phối qua app store, hỗ trợ phiên bản web bên cạnh iOS/Android native, và cần những điều chỉnh tinh tế để đáp ứng từng môi trường
- Dù có những lợi ích này, việc áp dụng cách tiếp cận module trong phát triển di động vẫn còn khó khăn, nhưng chúng ta sẽ ngày càng thấy nhiều framework tốt hơn
[ Techniques ]
Adopt
- Path-to-production mapping
- Team cognitive load
- Threat modeling
Trial
- BERT
- Component visual regression testing
- Design tokens
- Fake SMTP server to test mail-sending
- Federated machine learning
- Incremental developer platform
- Micro frontends for mobile
- Observability for CI/CD pipelines
- SLSA
- Software Bill of Materials
Assess
- Carbon efficiency as an architectural characteristic
- CUPID
- GitHub push protection
- Local-first application
- Metrics store
- Server-driven UI
- SLIs and SLOs as code
- Synthetic data for testing models
- TinyML
- Verifiable credentials
Hold
- Satellite workers without “remote native”
- SPA by default
- Superficial cloud native
[ Platforms ]
Adopt
- Backstage
- Delta Lake
Trial
- AWS Database Migration Service
- Colima
- Databricks Photon
- DataHub
- DataOps.live
- eBPF
- Feast
- Monte Carlo
- Retool
- Seldon Core
- Teleport
- VictoriaMetrics
Assess
- Bun
- Databricks Unity Catalog
- Dragonfly
- Edge Impulse
- GCP Vertex AI
- Gradient
- IAM Roles Anywhere
- Keptn
- OpenMetadata
- OrioleDB
[ Tools ]
Adopt
- Great Expectations
- k6
Trial
- Apache Superset
- AWS Backup Vault Lock
- AWS Control Tower
- Clumio Protect
- Cruft
- Excalidraw
- Hadolint
- Kaniko
- Kusto Query Language
- Spectral
- Styra Declarative Authorization Service
- xbar for build monitoring
Assess
- Clasp
- Databricks Overwatch
- dbtvault
- git-together
- Harness Cloud Cost Management
- Infracost
- Karpenter
- Mizu
- Soda Core
- Teller
- Xcode Cloud
##Hold - Online services for formatting or parsing code
[ Languages and Frameworks ]
Adopt
- io-ts
- Kotest
- NestJS
- React Query
- Swift Package Manager
- Yjs
Trial
- Azure Bicep
- Camunda
- Gradle Kotlin DSL
- Jetpack Media3
- Ladle
- Moshi
- Svelte
Assess
- Aleph.js
- Astro
- BentoML
- Carbon Aware SDK
- Cloudscape
- Connect
- Cross device SDK
- Cypress Component Testing
- JobRunr
- Million
- Soketi
- Stable Diffusion
- Synthetic Data Vault
Hold
- Carbon
1 bình luận
Thoughtworks Radar 26
ThoughtWorks Radar 24
Từ số 24 tôi định dịch và đăng lại các chủ đề chính, nhưng hóa ra đã bỏ qua số 25 rồi.. hức