Thoughtworks Technology Radar số 26 (PDF 39 trang)
(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 cấp độ Hold/Assess/Trial/Adopt
Thị trường kỳ lạ: Economics đang thay đổi của mã nguồn mở
- Chúng tôi là fan của "The Cathedral and the Bazaar" của Eric Raymond, nhưng mọi thứ đang thay đổi theo hướng phức tạp cùng với các nỗ lực thương mại hóa
- Các ví dụ như ElasticSearch vs. OpenSearch hay Docker Desktop
- Ngược lại, vì Facebook đã tài trợ cho Presto như một sản phẩm mã nguồn mở nên các maintainer giữ được IP, rời công ty và đổi thương hiệu thành Trino, nên trên thực tế đã được hưởng lợi từ khoản đầu tư của Facebook
- Tình hình càng trở nên rối rắm hơn khi ngày càng có nhiều hạ tầng cốt lõi không được công ty tài trợ
- Như trường hợp Log4j cho thấy, chỉ khi xuất hiện lỗi bảo mật nghiêm trọng thì người ta mới nhận ra mình đang phụ thuộc nhiều đến mức nào vào lao động không công của các nhà phát triển mã nguồn mở
- Trong một số trường hợp, việc hỗ trợ tài chính cho các maintainer nghiệp dư thông qua GitHub Sponsor hoặc Patreon có thể là phần thưởng đủ lớn để tạo ra khác biệt
- Với những người khác, điều đó lại giống như có thêm trách nhiệm trong công việc hằng ngày của họ và dẫn đến kiệt sức
- Chúng tôi ủng hộ mạnh mẽ phần mềm, nhưng economics đang ngày càng trở nên kỳ lạ và chúng tôi biết rằng không có giải pháp dễ dàng nào để tìm ra sự cân bằng đúng đắn
Đổi mới trong chuỗi cung ứng phần mềm
- Những sự kiện như vụ rò rỉ dữ liệu Equifax, cuộc tấn công SolarWinds, lỗ hổng Log4J đều xảy ra do quản trị yếu kém trong chuỗi cung ứng
- Các team giờ đây nhận ra rằng việc xác minh và quản lý dependency của dự án phải là một phần của engineering practice
- Supply chain Levels for Software Artifacts (SLSA)
- CycloneDX : Bill of Materials cho Software / SaaS / Operations
- Syft : công cụ CLI mã nguồn mở để tạo Software Bill of Materials
- Các hacker ngày càng tận dụng nhiều hơn tính bất đối xứng giữa tấn công và phòng thủ trong lĩnh vực bảo mật
- Kẻ tấn công chỉ cần tìm ra một lỗ hổng, còn bên phòng thủ phải bảo vệ toàn bộ bề mặt tấn công
- Để bảo vệ hệ thống an toàn, các nỗ lực nâng cao bảo mật chuỗi cung ứng là rất quan trọng
Vì sao các lập trình viên tiếp tục phát triển State Management trong React?
- Khi một framework trở nên phổ biến, thường sẽ xuất hiện một loạt công cụ để cải thiện các thiếu sót, rồi những công cụ phổ biến sẽ được tích hợp lại với nhau
- Nhưng React State Management dường như không đi theo xu hướng phổ biến đó
- Kể từ khi Redux ra mắt, vẫn liên tục có các công cụ và framework quản lý trạng thái theo những cách hơi khác nhau được tung ra
- Không rõ lý do, nhưng thử đoán xem..
- Có phải đó là sự lệch hướng tự nhiên mà hệ sinh thái JavaScript ưa thích?
- Hay là một khiếm khuyết mang tính nền tảng của React?
- Hay đây là một vấn đề thú vị, dễ tiếp cận để các lập trình viên thử nghiệm?
- Hay là do sự không tương thích cố hữu dai dẳng giữa định dạng đọc tài liệu (trình duyệt web) và việc triển khai tương tác ứng dụng trên chính tài liệu đó?
- Dù không biết vì sao nó cứ tiếp tục xuất hiện, chúng tôi vẫn mong chờ nỗ lực tiếp theo để giải quyết vấn đề dai dẳng này
Cuộc phiêu lưu bất tận với master data catalog
- Các nỗ lực thu thập và phân loại dữ liệu trong doanh nghiệp vẫn luôn tồn tại, nhưng gặp khó vì sự phức tạp/trùng lặp/mơ hồ
- Xuất hiện các công cụ thông minh như Collibra, Datahub
- Cung cấp cách tiếp cận nhất quán xuyên suốt data lineage và metadata, đồng thời có thể mở rộng sang governance/quản lý/publishing
- Trái ngược với kiểu tập trung này, cũng có xu hướng chuyển sang governance liên hợp và tìm kiếm dựa trên kiến trúc data mesh
[ Techniques ]
Adopt
- Four key metrics
- Single team remote wall
Trial
- Data mesh
- Definition of production readiness
- Documentation quadrants
- Rethinking remote standups
- Server-driven UI
- Software Bill of Materials
- Tactical forking
- Team cognitive load
- Transitional architecture
Assess
- CUPID
- Inclusive design
- Operator pattern for nonclustered resources
- Service mesh without sidecar
- SLSA
- The streaming data warehouse
- TinyML
Hold
- Azure Data Factory for orchestration
- Miscellaneous platform teams
- Production data in test environments
- SPA by default
[ Platforms ]
Trial
- Azure DevOps
- Azure Pipeline templates
- CircleCI
- Couchbase
- eBPF
- GitHub Actions
- GitLab CI/CD
- Google BigQuery ML
- Google Cloud Dataflow
- Reusable workflows in Github Actions
- Sealed Secrets
- VerneMQ
Assess
- actions-runner-controller
- Apache Iceberg
- Blueboat
- Cloudflare Pages
- Colima
- Collibra
- CycloneDX
- Embeddinghub
- Temporal
[ Tools ]
Adopt
- tfsec
Trial
- AKHQ
- cert-manager
- Cloud Carbon Footprint
- Conftest
- kube-score
- Lighthouse
- Metaflow
- Micrometer
- NUKE
- Pactflow
- Podman
- Sourcegraph
- Syft
- Volta
- Web Test Runner
Assess
- CDKTF
- Chrome Recorder panel
- Excalidraw
- GitHub Codespaces
- GoReleaser
- Grype
- Infracost
- jc
- skopeo
- SQLFluff
- Terraform Validator
- Typesense
[ Languages & Frameworks ]
Adopt
- SwiftUI
- Testcontainers
Trial
- Bob
- Flutter-Unity widget
- Kotest
- Swift Package Manager
- Vowpal Wabbit
Assess
- Android Gradle plugin - Kotlin DSL
- Azure Bicep
- Capacitor
- Java 17
- Jetpack Glance
- Jetpack Media3
- MistQL
- npm workspaces
- Remix
- ShedLock
- SpiceDB
- sqlc
- The Composable Architecture
- WebAssembly
- Zig
1 bình luận
Tôi tò mò
<성당과 시장>là gì nên thử tìm thì thấy bản dịch sách điện tử cũng được phát hành miễn phí. Cách đây không lâu cũng đã có vụ việc faker.js và color.js, nên câu hỏi làm thế nào để mã nguồn mở có thể kiếm tiền (và bền vững ra sao) đang ngày càng trở thành vấn đề quan trọng hơn trong thời điểm hiện nay, khi chúng ta đã phụ thuộc khá nhiều vào hệ sinh thái mã nguồn mở.