Thoughtworks Technology Radar ฉบับที่ 26 (PDF 39 หน้า)
(thoughtworks.com)จุดเด่นคือการทำภาพและอธิบายเทรนด์ล่าสุดในด้านเทคนิค/เครื่องมือ/แพลตฟอร์ม/ภาษาและเฟรมเวิร์กสำหรับการพัฒนา โดยแบ่งเป็น 4 ระดับคือ Hold/Assess/Trial/Adopt
ตลาดประหลาด: เศรษฐศาสตร์ของโอเพนซอร์สที่กำลังเปลี่ยนแปลง
- เราเป็นแฟนของ "The Cathedral and the Bazaar" ของ Eric Raymond แต่เมื่อมีความพยายามทำเชิงพาณิชย์เข้ามา สถานการณ์ก็เปลี่ยนไปอย่างซับซ้อน
- กรณีอย่าง ElasticSearch vs. OpenSearch หรือ Docker Desktop
- ในทางกลับกัน Facebook สนับสนุนเงินทุนให้ Presto ในฐานะผลิตภัณฑ์โอเพนซอร์ส ทำให้ผู้ดูแลโครงการยังคงถือครอง IP และเมื่อพวกเขาออกจากบริษัทก็รีแบรนด์เป็น Trino จึงกล่าวได้ว่าเราได้รับประโยชน์จากการลงทุนของ Facebook
- เมื่อมีโครงสร้างพื้นฐานสำคัญจำนวนมากขึ้นที่บริษัทต่างๆ ไม่ได้ให้ทุนสนับสนุน สถานการณ์ก็ยิ่งสับสนมากขึ้น
- อย่างที่เห็นจากกรณี Log4j เรามักจะตระหนักได้ก็ต่อเมื่อเกิดบั๊กด้านความปลอดภัยสำคัญ ว่าเราพึ่งพาแรงงานที่ไม่ได้รับค่าจ้างของนักพัฒนาโอเพนซอร์สมากเพียงใด
- ในบางกรณี การสนับสนุนเงินให้ผู้ดูแลโครงการสมัครเล่นผ่าน GitHub Sponsor หรือ Patreon ก็เป็นรางวัลที่มากพอจะสร้างความแตกต่างได้
- สำหรับบางคน สิ่งนี้กลับทำให้รู้สึกเหมือนมีภาระความรับผิดชอบเพิ่มเข้ามาในงานประจำวัน จนนำไปสู่ภาวะหมดไฟ
- เราสนับสนุนซอฟต์แวร์อย่างเต็มที่ แต่ก็รู้ว่าเศรษฐศาสตร์กำลังยิ่งแปลกขึ้นเรื่อยๆ และไม่มีทางออกง่ายๆ ในการหาสมดุลที่ถูกต้อง
นวัตกรรมด้านห่วงโซ่อุปทานซอฟต์แวร์
- เหตุการณ์อย่างข้อมูลรั่วไหลของ Equifax, การโจมตี SolarWinds และช่องโหว่ Log4J เกิดจากการกำกับดูแลห่วงโซ่อุปทานที่หละหลวม
- ตอนนี้ทีมต่างๆ เริ่มตระหนักแล้วว่า การตรวจสอบและจัดการ dependency ของโครงการต้องเป็นส่วนหนึ่งของแนวปฏิบัติทางวิศวกรรม
- Supply chain Levels for Software Artifacts (SLSA)
- CycloneDX : Bill of Materials สำหรับ Software / SaaS / Operations
- Syft : เครื่องมือ CLI โอเพนซอร์สสำหรับสร้าง Software Bill of Materials
- แฮกเกอร์กำลังอาศัยคุณลักษณะความไม่สมมาตรของการโจมตีและการป้องกันในด้านความปลอดภัยมากขึ้นเรื่อยๆ
- ผู้โจมตีต้องหาช่องโหว่ให้เจอเพียงจุดเดียว แต่ผู้ป้องกันต้องปกป้องพื้นผิวการโจมตีทั้งหมด
- ความพยายามในการยกระดับความปลอดภัยของซัพพลายเชนจึงมีความสำคัญต่อการปกป้องระบบให้ปลอดภัย
ทำไมนักพัฒนาจึงยังพัฒนา State Management ใน React กันต่อไป?
- เมื่อเฟรมเวิร์กได้รับความนิยม ก็เป็นเรื่องปกติที่จะมีชุดเครื่องมือออกมาเพื่อแก้ข้อบกพร่อง และต่อมาก็รวมเครื่องมือที่ได้รับความนิยมเข้าด้วยกัน
- แต่ React State Management ดูเหมือนจะไม่เป็นไปตามแนวโน้มทั่วไปนี้
- นับตั้งแต่ Redux เปิดตัว ก็ยังมีเครื่องมือและเฟรมเวิร์กที่จัดการ state ในแนวทางที่แตกต่างออกมาอย่างต่อเนื่อง
- ไม่แน่ใจว่าเหตุผลคืออะไร แต่ลองคาดเดาดูได้ว่า..
- เป็นเพราะการแตกแขนงตามธรรมชาติที่ ecosystem ของ JavaScript ชื่นชอบหรือไม่?
- เป็นข้อบกพร่องพื้นฐานของ React หรือไม่?
- เป็นปัญหาที่สนุกและจัดการได้ง่าย เหมาะกับการทดลองของนักพัฒนาหรือไม่?
- หรือเป็นเพราะความไม่สอดคล้องเชิงโครงสร้างที่คงอยู่เสมอ ระหว่างรูปแบบการอ่านเอกสาร (เว็บเบราว์เซอร์) กับการสร้าง interaction ของแอปพลิเคชันบนเอกสารเหล่านั้น?
- แม้จะไม่รู้ว่าทำไมมันถึงยังออกมาเรื่อยๆ แต่เราก็ตั้งตารอความพยายามครั้งถัดไปในการแก้ปัญหาถาวรนี้
การผจญภัยที่ไม่สิ้นสุดของมาสเตอร์ดาต้าแคตตาล็อก
- มีความพยายามอย่างต่อเนื่องในการรวบรวมและจัดหมวดหมู่ข้อมูลภายในองค์กร แต่ก็ทำได้ยากเพราะความซับซ้อน ความซ้ำซ้อน และความกำกวม
- มีเครื่องมืออัจฉริยะอย่าง Collibra และ Datahub ปรากฏขึ้น
- เครื่องมือเหล่านี้มอบแนวทางที่สอดคล้องกันสำหรับ data lineage และ metadata โดยรวม และสามารถขยายไปสู่ governance/management/publishing ได้
- ขณะเดียวกันก็มีความเคลื่อนไหวที่มุ่งออกจากแนวทางรวมศูนย์นี้ ไปสู่การกำกับดูแลและการค้นหาแบบ federated บนสถาปัตยกรรม 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 ความคิดเห็น
ผมสงสัยว่า
<성당과 시장>คืออะไรเลยลองค้นดู ปรากฏว่าฉบับแปลแบบอีบุ๊กก็เปิดให้อ่านฟรีด้วยนะครับ เมื่อไม่นานมานี้ก็มีกรณีของ faker.js กับ color.js เหมือนกัน ดังนั้นประเด็นว่าโอเพนซอร์สจะหารายได้อย่างไร (และจะยั่งยืนได้อย่างไร) กำลังกลายเป็นเรื่องสำคัญมากขึ้นเรื่อย ๆ ในยุคนี้ที่พวกเราพึ่งพาระบบนิเวศโอเพนซอร์สกันอย่างมากแล้ว