해당 스터디는 90DaysOfDevOps
https://github.com/MichaelCade/90DaysOfDevOps
를 기반으로 진행한 내용입니다.
Day 48 - From Puddings to Platforms: Bringing Ideas to life with ChatGPT
본 프레젠테이션은 V Software CTO 앤서니 스퍼의 프레젠테이션 내용을 바탕으로, 비전문가가 ChatGPT를 개발자로 활용하여 복잡한 기술 스택을 갖춘 상업용 웹 애플리케이션을 구축한 과정에 대한 프레젠테이션이다.
발표자는 전문 개발자가 아님에도 불구하고, ChatGPT와의 대화를 통해 아이디어에 최적화된 엔터프라이즈급 기술 스택과 아키텍처를 수립하였다.
백엔드 프레임워크: Python 기반의 Flask를 메인 백엔드 프레임워크로 채택
데이터베이스 관리: 데이터의 안정성과 확장성을 고려하여 PostgreSQL을 선택하였으며, ORM으로 SQL Alchemy를 활용하여 데이터 모델을 정의
클라우드/인프라: AWS LightSail VM을 호스팅 환경으로 사용하고, 웹 서버로는 Engine X를 구성하여 프론트엔드 서비스를 제공
아키텍처 설계 요청: 발표자가 "프론트엔드와 백엔드를 나눠서 설계해 달라"고 요청하면, ChatGPT는 HTML/CSS/JavaScript와 Flask/Python 기반의 모듈화된 아키텍처를 제안하며 개발의 기반을 닦음.
이 앱은 단순 검색을 넘어, 외부 전문 서비스들을 통합하고 복잡한 연산 로직을 처리하는 데 ChatGPT를 활용하였다.
위치 기반 로직:
Google Maps/Places API를 사용하여 지도 시각화와 위치 검색 기능을 구현
사용자의 현재 위치와 데이터베이스 내 위치 간의 정확한 거리 및 경로를 계산하는 복잡한 수학 함수는 ChatGPT가 거의 처음부터 구현하여 기술적 난이도를 해결
보안 및 인증 시스템:
Firebase Authentication을 통합하여 안전한 사용자 등록, 로그인 및 계정 관리 기능을 구현하였으며, 사용자 정보가 PostgreSQL뿐만 아니라 Firebase 내에서도 관리되도록 연동
민감 정보 (API 키 등) 유출 방지를 위해 서버 환경 변수(Server Variables)를 사용하여 코드가 아닌 외부에서 키를 로드하는 보안 습관을 ChatGPT의 지침을 통해 학습하고 적용하였다.
상업적 기능 통합: 유료 기능 (위치 검증 등) 구현을 위해 Stripe 결제 API를 Flask 백엔드에 직접 통합하는 등 복잡한 상업적 로직을 AI의 도움으로 구현
개발 과정에서 10,000줄 이상의 코드를 생성한 발표자는, 전문 개발자와의 차이를 프롬프트 엔지니어링 능력으로 극복하였다.
반복적 피드백 루프:
코드 품질:
배포 자동화:
AWS LightSail은 복잡한 AWS 서비스 대신 단순함과 사용 편의성을 극대화한 가상 사설 서버 (VPS) 서비스이다.

정의 및 목표:
개인 개발자, 소규모 프로젝트, 스타트업을 위한 단순화된 클라우드 컴퓨팅 플랫폼
복잡한 AWS 환경에 익숙하지 않은 사용자도 쉽게 클라우드 환경을 시작할 수 있도록 설계
핵심 특징 (번들 방식):
올인원 패키지: VM, SSD 스토리지, 데이터 전송량, 고정 IP, DNS 관리가 하나의 월별 요금제로 통합 제공
예측 가능한 비용: 월정액 요금으로 구성되어 있어 클라우드 비용 관리가 투명하고 예측 가능
주요 용도:
웹사이트 및 블로그(WordPress 등)의 간편 호스팅.
소규모 웹 애플리케이션 및 모바일 앱의 백엔드 배포.
개발 및 테스트를 위한 격리된 서버 환경 구축.
Firebase Authentication은 앱에 필요한 모든 사용자 인증 기능을 제공하는 백엔드 서비스(BaaS) 솔루션이다.

정의 및 역할:
모바일 및 웹 애플리케이션에 안전하고 확장 가능한 사용자 인증 시스템을 구축
개발자가 직접 인증 로직을 코딩할 필요 없이, Google의 강력한 인프라를 활용
인증 방식 지원:
다양한 통합: 이메일/비밀번호 인증 외에, Google, Facebook, Twitter 등 주요 소셜 로그인 방식을 모두 지원
SMS를 통한 전화번호 기반 인증도 쉽게 통합할 수 있음.
기술적 이점 및 보안:
보안 자동 처리: 사용자 비밀번호 해싱, 세션 및 토큰 (JWT) 관리를 Firebase가 전담하여 보안 취약점을 최소화합
풍부한 SDK와 미리 구축된 UI 라이브러리를 통해 인증 시스템 구축 시간을 단축
시스템 통합:
해당 프레젠테이션 사례는 생성형 AI (ChatGPT)가 비전문가도 복잡한 시스템을 구축할 수 있도록 돕는 혁신적인 도구임을 입증하며, 누구나 자신의 아이디어를 현실의 플랫폼으로 만들 수 있는 가능성을 열어주었다.