3편) IT 개발 회사에서 경험한 소프트웨어 공학 이야기 | devops , agile
- 소프트웨어 공학과 아키텍처는 IT 개발 분야에서 여전히 핵심적인 키워드이며, 개발 방법론과 시스템 구조를 포괄합니다. 🏗️
- 개발 방법론은 크게 폭포수 모델과 애자일 모델로 나뉘며, 조직의 특성과 프로젝트 성격에 따라 적합한 방식이 다릅니다. 🔄
- 폭포수 모델은 순차적이고 체계적인 단계(기획-분석-설계-개발-테스트)를 거치며, 변경 비용이 후반으로 갈수록 커져 철저한 사전 계획이 중요합니다. 🌊
- 애자일 모델은 짧은 주기의 반복적인 개발(스프린트)을 통해 지속적으로 서비스를 개선하며, 서비스 회사에 적합하고 사용자 스토리 및 백로그 개념을 활용합니다. 🚀
- 데브옵스는 개발(Dev)과 운영(Ops)을 통합하는 방법론으로, 애자일과 밀접하게 연관되어 스쿼드 팀이 개발부터 배포, 운영까지 책임지는 자율적인 구조를 지향합니다. 🛠️
- 컴포넌트 기반 개발(CBD)과 마이크로서비스 아키텍처(MSA)는 기능을 모듈화하고 독립적인 단위로 나누어 유연성과 확장성을 높이는 유사한 사상을 공유합니다. 🧩
- 아키텍처 설계는 시스템의 확장성, 안정성, 효율성을 보장하는 데 매우 중요하며, 아키텍트(설계자)는 고객의 본질적인 문제를 해결하는 최적의 솔루션을 제시해야 합니다. 💡
- 훌륭한 아키텍트는 최신 기술의 무분별한 적용이나 과도한 복잡성(예: 불필요한 MSA)을 피하고, 현재 상황과 미래 확장성을 고려한 실용적인 설계를 추구합니다. 🎯
- 소프트웨어 아키텍처는 API 설계 및 모듈 배치 등 소프트웨어 내부 구조를, 시스템 아키텍처는 서버, DB, 클라우드 서비스 등 전체 시스템 구성을 다룹니다. 🌐
- 배포 과정은 개발된 소스를 빌드, 테스트, 릴리즈하여 실제 운영 환경에 적용(디플로이)하고 모니터링하는 일련의 절차를 포함하며, 데브옵스는 이 과정을 통합 관리합니다. ⚙️
데브허브 | DEVHUB | 3편) IT 개발 회사에서 경험한 소프트웨어 공학 이야기 | devops , agile