
최근 대학병원 의료진 파업으로 인해 대면 진료에 많은 차질이 발생하고 있습니다. 특히, 지방의 병원들은 의사 부족 문제로 환자들에게 제대로 된 진료를 제공하기 어려운 상황입니다. 이러한 배경을 바탕으로 저희는 피부질환 진단 서비스를 비대면으로 제공할 수 있는 시스템을 개발하게 되었습니다.

ㅂ저희 서비스를 간략하게 먼저 설명 드리자면 사용자가 피부 질환 사진을 첨부하면, AI가 이를 분석하여 진단 결과를 제공합니다. 결과는 그래프로 표시되어 사용자가 쉽게 이해할 수 있습니다. 이를 통해 시간과 장소에 구애받지 않고 피부 질환에 대한 진단을 받을 수 있습니다.

<aside> 💡 저희 서비스의 주요 목표는 다음과 같습니다.
첫째, 비대면 서비스를 통해 진료를 확대합니다. 사용자들은 시간과 장소의 제약 없이 진료를 받을 수 있으며, 병원 방문에 대한 부담을 줄이고 초기 진단 및 치료 시작 시간을 단축할 수 있습니다.
둘째, 의료 사각지대를 해소합니다. 지방에 거주하는 사람들도 보다 정확한 진단을 받을 수 있으며, 이를 통해 의료 자원의 분배 효율성을 높일 수 있습니다.
셋째, 의사들의 효율적인 진료를 지원합니다. 진료 효율성을 높이고 의료진의 업무 부담을 줄이며, 진료의 질을 향상시켜 환자 만족도를 증가시킬 수 있습니다.
</aside>


보시다시피 저희의 인프라 구성도는 이와 같습니다.
우선, 사용자들은 웹 애플리케이션을 통해 피부질환 진단 서비스를 이용하게 됩니다. 사용자는 인터넷을 통해 애플리케이션에 접근하며, 이때 Route 53의DNS주소를 로드밸런서의 주소로 변환하여 사용자들의 접근을 쉽게 해줍니다.
Route 53을 통과한 트래픽은 인터넷 게이트웨이를 통해 VPC, 즉 가상 사설 클라우드 내부로 들어오게 됩니다. VPC 내부에서는 애플리케이션 로드 밸런서가 트래픽을 여러 파드에 분산시켜, 트래픽 부하를 균등하게 분산시키고 애플리케이션의 가용성과 성능을 향상시킵니다.
퍼블릭 서브넷에는 NAT 게이트웨이와 베스천 호스트가 배치되어 있습니다. 데이터베이스 같은 중요한 리소스는 프라이빗 서브넷에 배치하여 외부로부터의 직접 접근을 막을 수 있게 구성하였습니다. 베스천 호스트는 프라이빗 리소스에 안전하게 접근하기 위한 중계 서버 역할을 합니다.
~~~~EKS를 활용하여 컨테이너화된 애플리케이션을 안정적으로 배포, 확장, 관리하엿습니다.
자동으로 노드를 확장하거나 축소하여 가용성과 확장성을 보장하였고 이를 통해 서비스의 안정성을 유지할 수 있습니다.
데이터베이스로는 MariaDB를 사용하여 애플리케이션 데이터를 저장 및 관리합니다.
시스템 모니터링을 위해 Grafana와 Prometheus를 사용합니다.
CI/CD 파이프라인을 자동화하기 위해 Jenkins를 사용하였습니다.
마지막으로, 소스 코드 버전 관리를 위해 GitHub를 사용하며, 인프라를 코드로 관리하기 위해 Terraform을 사용하얐습니다.
