Thoughtworks Radar 27호 발간
(thoughtworks.com)테크닉/도구/플랫폼/개발언어 및 프레임워크 분야의 최신 트렌드들을 Hold/Assess/Trial/Adopt 4단계로 시각화 및 설명하는게 특징
머신러닝의 주류화
- ML은 한때 도구와 자원을 가진 사람만 쓸 수 있는 것이었지만, 기기 능력의 증가와 오픈소스의 등장으로 주류화(mainstreaming) 되고 있음
- Federated ML 같은 기술은 민감한 정보에 대한 프라이버시를 제공하는 ML모델이 가능하게 함
- TinyML은 리소스가 제한된 장치에서 모델이 실행되도록 해서, 민감한 데이터에 대한 보안을 개선할 수 있는 Edge로 추론 기능을 이동
- Feature Store는 앱개발의 MVC 디자인패턴과 비슷한 이점을 제공해서 데이터 큐레이션, 모델 훈련 과 추론 간의 문제를 명확하게 분리
- Stable Diffusion 같은 공개 모델은 ML의 놀라운 능력과 소스 데이터 및 윤리에 대한 우려 모두를 하이라이트함
- ML 컴포넌트들은 그 어느때보다 쉽게 서로 연결되어 비즈니스 모델과 고성능의 제네릭 모델을 통해서 다양한 ML 경험 및 솔루션을 만들수 있게함
"Platform as a Product"의 힘
- '플랫폼' 이라는 단어는 정말 많이 사용됨. 비즈니스 또는 도메인-중심 플랫폼, 인프라스트럭쳐, 개발자 경험 플랫폼등.
- 기본적으로 조직이 플랫폼에서 경험하는 많은 문제와 실망의 근본 원인은 "플랫폼을 제품으로 적절하게 취급하지 않는 것" 때문
- 예를 들어서, 개발자용 플랫폼에서는 다른 유형의 제품에서 기대하는 사용자 조사 또는 컨텍스트 분석이 부족함
- 플랫폼 오너들은 개발자의 요구사항에 대한 가정을 검증하고 실제 사용패턴에 대응해야 함
- 다른 좋은 제품과 마찬가지로 플랫폼에도 지속적인 지원이 필요함. 개발자의 변화하는 요구사항에 따라서 진화하고 적응 해야함
- "Platform as a Product"라는 메타포는 Phrase가 아닌 Practice로 완전히 받아들여질때만 효과가 있음
데이터 오너십이 Edge로 이동
- 모든 중앙 집중화는 수축(constriction), 병목현상, 불필요한 노출의 가능성을 열어줌
- 중앙 집중식 DB없이 데이터 어플리케이션을 가능하게 하는 CRDT 기반의 local-first 소프트웨어/어플리케이션 기술은 P2P데이터 구축에 대해서 고민해 보게함
- 데이터 오너십을 엣지로 이동하면 개발자가 개별 기기에서 향상된 기능을 활용할 수 있게됨
- 예를 들어, 얼굴인식 같은 많은 기능이 엣지에서만 처리되어 데이터를 기기에만 영원히 보관 가능
모바일도 Modular 해야한다
- 모바일 앱이 성숙해지면서 크기가 커지고 서비스가 많아져서 그 자체가 플랫폼으로 볼 수 있는 소위 슈퍼앱으로 성장
- 크지는 않지만 수년에 걸쳐 기능이 많아진 앱도 모듈로 분해 될수 있으며, 회사는 모바일 앱도 똑같이 모듈화로 인해서 이점이 생긴다는 것을 알게됨
- 모듈화된 앱은 여러 팀들에 의해 작성 가능하므로 많은 이점이 있음
- 다만 복잡한 것은 앱스토어를 통해 배포해야하는 것과, 네이티브 iOS/Android 에 웹 버전을 지원해야 하며 각각을 수용하기 위해 미묘한 변경이 필요하다는 것
- 이런 이점이 있는데도 모바일 개발에 있어서 모듈식 접근방법을 도입하는데에는 어려움이 있으나, 점점 더 좋은 프레임워크들을 보게 될 것
[ 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
Thoughtworks Radar 26호
ThoughtWorks Radar 24호
24 부터는 주요 테마는 번역해서 옮겨볼라고 했는데, 25를 건너뛰었군요.. 흑