클라우드를 사용하는 회사들만 다니다가 온 프레미스로 제품을 설치 및 배포하는 회사에 다니면서 느꼈던 점들이다.
B2C에서 B2B 형태로 개발하게 된 것도 포함이다. 음 그러니까 클라우드 + B2C 조합으로 개발하다가 온프레미스 + B2B로 개발하게 되면서 느꼇던 것들이다.
느낀 점
클라우드 -> 온프레미스
- 회사 별로 설치해야 하기 때문에 환경 변수 관리 및 커스터마이징이 중요하다.
- AWS 등이 제공하는 추상화가 없다. 그래서 실력 좋은 데브옵스가 무조건 필요하다. 특히 클라우드 환경이 아닌, 온 프레미스 특화형 데브옵스 엔지니어가 있어야 한다. 하드웨어 스펙, 네트워크, VPN 등 신경써야 할게 AWS 쓸 때보다 더 많다. AWS처럼 버튼 딸깍으로 인프라를 교체하는 게 불가능하다.
- 코드 버전 관리 뿐만 아니라, 브랜치 관리와 DB 스키마 버전 관리도 매우 중요해진다. 왜냐하면, 온 프레미스는 회사 별로 배포해야 하기 때문이다. 그래서 회사 별로 배포 브랜치가 다르다. 특히 중요한 것은 DB 스키마 버전 관리다. Alembic 같은 도구로 버전 관리를 하지 않으면, 회사 별로 스키마가 중구난방이 되기 십상이다.
B2C -> B2B
- 대규모 트래픽을 기대하기 어렵다. 대신, 사용자 방문율 등의 요소에 대한 고민은 줄어든다. 기업 사용자는 대부분 퇴근 시간 이후엔 서비스를 이용하지 않는 게 대부분이기 때문