언제나 Nuita를 이용해 주셔서 감사합니다.

이번에 Nuita에서는 대규모 내부 시스템 개편을 진행했습니다. 이번 변경은 주로 “이면”의 개선이기 때문에 겉으로 보이는 변화는 적지만, 앞으로의 안정적인 운영과 기능 추가를 위한 중요한 기반 정비가 되었습니다.

프레임워크·라이브러리 최신화

Nuita를 구동하는 웹 프레임워크 “Ruby on Rails”를 최신 버전인 8.0.4로 업데이트했습니다. 이를 통해 보안 패치 적용과 더욱 안정적인 동작을 기대할 수 있습니다.

또한 프런트엔드 빌드 시스템을 Webpacker에서 새로운 방식으로 이전하여 JavaScript와 CSS 처리 속도가 빨라졌습니다. Bootstrap 등의 npm 패키지도 최신 버전으로 업데이트했습니다.

AWS 서비스 탈피와 시스템 간소화

지금까지 Nuita는 Amazon Web Services(AWS)의 다양한 관리형 서비스를 조합하여 운영되어 왔습니다. 하지만 운영 비용 절감과 유지보수성 향상을 위해 더 단순한 구성으로 이전했습니다.

  • Elasticsearch 폐지: 전문 검색 엔진으로 사용하던 Elasticsearch를 폐지하고 MariaDB의 전문 검색 기능으로 전환했습니다. 검색 경험에는 큰 변화가 없지만, 인프라의 복잡성이 크게 줄었습니다.

  • 작업 큐 변경: 백그라운드 작업 처리 기반을 AWS SQS + Shoryuken에서 delayed_job으로 이전했습니다. 알림 전송 등의 비동기 처리가 더욱 단순한 구조로 동작하게 됩니다.

  • DynamoDB 폐지: 일부 데이터 저장에 사용하던 NoSQL 데이터베이스(DynamoDB)를 폐지하고 RDBMS로 통합했습니다. 데이터 일관성이 향상되고 쿼리 최적화도 더 쉬워졌습니다.

  • Docker/Capistrano/Selenium 폐지: 개발·배포·테스트 환경도 단순화하여 유지보수 부담을 줄였습니다.

라우팅과 컨트롤러 정리

로그인하지 않은 상태(퍼블릭)와 로그인 후 상태(member/ 이하)의 URL 네임스페이스를 명확하게 분리했습니다. RESTful한 리소스 설계로 통일하여 향후 기능 추가와 API 정비가 한층 수월해졌습니다.

공지 기능 추가

운영진의 공지사항을 표시하기 위한 Announce 모델을 추가했습니다. 앞으로 중요한 공지사항이 있을 경우 사이트 내에서 전달할 수 있게 되었습니다.

누윗의 날짜가 퍼머링크가 되었습니다

누윗(게시물)에 표시되는 날짜가 링크가 되어, 클릭하면 해당 누윗의 개별 페이지(퍼머링크)로 이동할 수 있게 되었습니다. 특정 게시물을 공유하고 싶을 때 편리합니다.

마치며

이번 변경은 겉으로는 그다지 눈에 띄지 않지만, 기술 부채를 해소하고 Nuita를 더욱 안정적으로 운영해 나가기 위한 중요한 리팩터링이었습니다.

문제가 있으시면 문의 양식을 통해 연락해 주시기 바랍니다. 앞으로도 Nuita를 잘 부탁드립니다.