BEYOND SW 캠프 19기 16주차 회고

Seung min·2025년 11월 8일
post-thumbnail

한주간 느낀점

이번주는 DevOps 프로젝트의 요구사항 명세서를 작성하고 DDD를 구성하였다. 한번 해봤던 과정이었지만, 여전히 쉽지는 않았다.그리고 피그마로 프로젝트의 UI를 디자인하고 ERD 다이어그램을 사용하여 DB 테이블을 구성하였다. 요구사항별로 개발할 역할을 나누었다. 나는 다른 조원 한분과 같이 회원관리 기능을 담당하였다. 한주동안 회원관리를 같이 개발하면서 확실히 나보다 개발을 잘한다고 느꼈다.

새롭게 배운점

DevOps

단절된 개발과 운영 간의 프로세스를 원활하게 연결하고 자동화 방법을 통해 효율성을 극대화하는 방법(서로 다른 업무의 통합)이다.
DevOps는 소프트웨어 개발(Dev)과 IT 운영(Ops)의 경계를 허물고, 지속적인 통합(CI), 지속적인 배포(CD), 자동화 등을 통해 더 빠른 소프트웨어 개발과 더 높은 운영 효율을 달성하려는 문화, 움직임, 관행의 집합이다.

DevOps의 핵심 요소(CAMS)

  1. Culture(문화)
    : DevOps 문화는 협업과 의사소통을 중시한다.
    개발(Dev) 팀과 운영(Ops) 팀 간의 장벽을 허물고, 모든 이해관계자가 목표 달성을 위해 긴밀하게 협력하도록 장려하는 문화이다. 이는 조직 내 신뢰 구축, 공통 목표에 대한 집중, 지속적인 개선을 추구하는 환경을 조성한다.
    (각 부서 또는 조직이 본인들의 이익만을 우선시하는 사일로화 되는 것을 방지해야 한다.)
  2. Automation(자동화)
    : DevOps에서는 반복 가능하고 예측 가능한 작업을 자동화함으로써, 수동 작업의 오류를 줄이고 효율성을 높인다.
    인프라 관리, 코드 배포, 테스트 실행, 모니터링 등 다양한 프로세스에 자동화를 적용한다. 자동화를 통해 개발부터 배포까지의 프로세스가 더 빠르고, 안정적이며, 효율적으로 이루어진다.
    (작업자의 실수를 예방하고 서비스의 일관성을 유지한다.)
  3. Measurement(측정)
    : 성능, 프로세스, 효과성을 정량적으로 측정하고 분석하는 것을 강조한다.
    이는 개선점을 식별하고, 의사 결정 과정에 필요한 데이터를 제공한다. DevOps에서는 지속적인 측정과 피드백이 중요하며, 시스템의 성능, 응답 시간, 버그 발생 빈도 등을 모니터링하고, 이를 기반으로 지속적인 개선을 도모한다.
    (측정할 수 없으면 관리할 수 없고 관리할 수 없으면 개선 시킬 수 없다.)
  4. Sharing(공유)
    : 지식, 아이디어, 성공 사례뿐만 아니라 실패 경험까지 공유하는 것을 중요시한다.
    이는 학습과 성장을 촉진하고, 조직 전체의 개선을 위한 아이디어와 해결책을 발굴하는 데 도움이 된다. 공유 문화는 DevOps의 핵심 요소 중 하나로, 팀 간의 벽을 허물고 조직 전체가 하나의 목표를 향해 나아가도록 한다.
    (협업 툴을 충분히 활용해야 한다.)

CI/CD

CI (Continuous Integration, 지속적 통합)와 CD (Continuous Delivery 또는 Continuous Deployment, 지속적 제공 또는 지속적 배포)는 소프트웨어 개발의 현대적 접근 방식에서 중요한 역할을 한다. 이들은 개발의 효율성을 높이고, 소프트웨어의 품질을 개선하며, 배포 과정을 자동화하여 더 빠른 속도로 시장에 출시할 수 있게 돕는다.

쿠버네티스

쿠버네티스(Kubernetes, K8s)는 자동화된 컨테이너 배포, 스케일링, 관리를 제공하는 오픈소스 플랫폼으로 컨테이너 오케스트레이션 도구의 일종이다.
구글에서 처음 개발했고, Cloud Native Computing Foundation(CNCF)에서 관리한다.
컨테이너화된 애플리케이션의 배치, 확장 및 관리를 간소화하며, 클라우드 환경에서의 무중단 서비스, 확장성, 높은 가용성을 보장한다.

Keep

새롭게 구성된 팀에서 잘 적응하는 것같다. 그리고 나는 잘 몰랐지만, 나의 개발 속도가 같은 조의 다른 팀원들의 비해 빠른 것같다. 그래서인지 다른 팀원들보다 여유가 있었던 한 주였다.

Problem

나의 빠른 개발 속도가 나와 같은 분야를 담당하는 팀원에게는 별로 좋은 일이 아닌 것같았다. 내가 별다른 보고 없이 빠르게 나혼자 개발하다 보니 서로 소통이 안되고 나중에는 개발 코드를 전부 수정하는 상황도 있었다.

Try

이제부터는 나혼자 빠르게 개발하는 버릇을 고쳐야할 것같다. 다른 팀원과 속도를 맞춰가며 소통하면서 프로젝트 기능을 개발해야겠다.

다음주 계획 혹은 다짐

다음주에는 회원관리 외에도 새로운 기능을 개발하고 가능하다면 사용해보지 않은 개발 기능을 가지고 프로젝트에 접목시켜보고 싶다. 특히 AI같은 어려운 기능을 개발해보고 싶다.

profile
Seung min의 개발 공부 노트

0개의 댓글