테크닉/도구/플랫폼/개발언어 및 프레임워크 분야의 최신 트렌드들을 Hold/Assess/Trial/Adopt 4단계로 시각화 및 설명
개방형스러운(Open-ish) 소스 라이선스
- 오픈 소스 소프트웨어 개발 생태계는 오랜 기간 동안 OSI(Open Source Initiative)에서 카탈로그화한 라이선스 세트에 의존해 왔음
- 최근 몇 년 동안 널리 사용되는 도구의 핵심 기능이 갑자기 유료화되는 경우가 발생하면서, 오픈 소스 라이선스 환경에 변화가 생기고 있음
- 소프트웨어에 대한 비용을 지불하는 것은 문제가 없지만, 생태계가 발달한 도구의 핵심 기능이 갑자기 유료화되는 것은 문제가 있음
- 오픈 소스라고 선전하면서도 기본적인 기능은 구독료나 기타 요금을 지불한 후에야 제공되는 소프트웨어도 등장하고 있음
- 라이선스 문제에 특별한 주의를 기울일 것을 권고함
- 모든 파일이 최상위 수준의 라이선스에 의해 제공되는지 확인해야 함
AI 지원 소프트웨어 개발 팀
- AI는 소프트웨어 개발의 모든 측면에서 점진적으로 이점을 얻을 수 있으며, 개발 전반에 걸친 혁신을 적극적으로 따르고 있음
- AI가 제공하는 새로운 기능과 함께 소프트웨어 품질과 보안에 대한 새로운 위험이 따르므로, 비개발자를 포함하여 잠재적 위험에 대해 경계해야 함
LLM을 위한 새로운 아키텍처 패턴
- LLM(Large Language Models) 사용이 증가함에 따라 일반적인 상황을 지원하기 위한 특정 아키텍처 패턴이 등장하기 시작함
- NeMo Guardrails: LLM 사용에 대한 거버넌스 정책 구축 허용
- Langfuse: LLM 출력으로 이어지는 단계에 대한 가시성 향상 및 생성된 코드로 가득 찬 비대한 코드베이스 처리 및 검증 방법
- 엔터프라이즈 생태계에서 LLM 출력의 품질을 높이기 위해 RAG(retrieval-augmented generation)가 선호되는 패턴임
- 생성형 AI가 소프트웨어 개발에 계속 스며들면서 패턴(및 불가피한 안티 패턴)의 폭발적 증가가 예상됨
적절한 CI에 가까운 PR 끌어오기(Dragging PRs closer to proper CI)
- Thoughtworks는 빠른 피드백 루프와 지속적 통합(CI)을 강력히 지지해 왔음
- 최근 풀 리퀘스트(PR)가 의무화되는 상황으로 인해 많은 팀이 CI/CD의 CI 부분을 무시하게 되었음
- PR은 대규모 분산 오픈 소스 팀과 신뢰할 수 없는 기여자를 관리하기 위해 개발되었지만, 작고 긴밀한 전달 팀에서도 동료 검토의 동의어가 되었음
- 개발자들은 실제 CI를 실행할 때 얻는 것과 같은 흐름을 갈망함
- gitStream, Github 병합 대기열 등 PR 검토 프로세스의 고통을 완화하려는 여러 도구를 조사했음
- AI 코딩 어시스턴트로 인해 코딩 처리량이 증가하면 더 큰 PR을 만드는 경향이 있어 비동기 코드 검토 프로세스에 더 많은 압력을 가함
- 외부 제약으로 인해 CI를 사용할 수 없는 팀은 통합 정확도와 피드백 주기 속도를 개선할 방법을 찾을 것을 권장함
[Techniques]
Adopt
Trial
- Automatically generate Backstage entity descriptors
- Combining traditional NLP with LLMs
- Continuous compliance
- Edge functions - Cloudflare Workers
- Security champions
- Text to SQL - Vanna.ai
- Tracking health over debt
Assess
- AI team assistants
- Graph analysis for LLM-backed chats
- LLM-backed ChatOps
- LLM-powered autonomous agents - AutoGen
- Using GenAI to understand legacy codebases - Bloop
- VISS
Hold
- Broad integration tests
- Overenthusiastic LLM use
- Rush to fine-tune LLMs
- Web components for SSR web apps
[Platforms]
Adopt
- CloudEvents
Trial
- Arm in the cloud
- Azure Container Apps
- Azure OpenAI Service
- DataHub - Data Discovery Platform(DDP)의 모든 것
- Infrastructure orchestration platforms
- Pulumi
- Rancher Desktop
- Weights & Biases
Assess
- Bun
- Chronosphere
- DataOS
- Dify
- Elasticsearch Relevance Engine
- FOCUS
- Gemini Nano
- HyperDX
- IcePanel
- Langfuse
- Qdrant
- RISC-V for embedded
- Tigerbeetle
- WebTransport
- Zarf
- ZITADEL
[Tools]
Adopt
- Conan
- Kaniko
- Karpenter
Trial
- 42Crunch API Conformance Scan
- actions-runner-controller
- Android Emulator Container
- AWS CUDOS
- aws-nuke
- Bruno
- Develocity
- GitHub Copilot
- Gradio
- Gradle Version Catalog
- Maestro
- Microsoft SBOM tool
- Open Policy Agent (OPA)
- Philips's self-hosted GitHub runner
- Pop
- Renovate
- Terrascan
- Velero
Assess
- aider
- Akvorado
- Baichuan 2
- Cargo Lambda
- Codium AI
- Continue
- Fern Docs
- Granted
- LinearB
- LLaVA
- Marimo
- Mixtral
- NeMo Guardrails
- Ollama
- OpenTofu
- QAnything
- System Initiative
- Tetragon
- Winglang
[Languages & Frameworks]
Trial
- Astro
- DataComPy
- Pinia
- Ray
Assess
- Android Adaptability
- Concrete ML
- Crabviz
- Crux
- Databricks Asset Bundles
- Electric
- LiteLLM
- LLaMA-Factory
- MLX
- Mojo
- Otter
- Pkl
- Rust for UI
- vLLM
- Voyager
- WGPU
- Zig
Hold
- LangChain - LangChain은 무의미합니다, LangChain의 문제점