홈페이지를 어떤 서버에 올릴지도 미리 고민해봐야한다. 기존에 우리는 사내에 이미 물리 서버를 구매하여 사용하고 있었다. 다만, 해외 접속 시 속도가 느려진다는 치명적인 단점이 존재했다. (당시 트래픽의 절반 이상이 미국, 중국에서 일어났다.) 자연스럽게 클라우드 서버를 찾아 보게 되었다.
■ 현재 서버의 사양을 확인하자.
먼저 기존 서버의 사양을 파악해보자. 우리는 서버를 Web용과 DB용으로 나누어 사용하고 있었는데 파악해야할 것들은 다음과 같다.
1. OS 사양: OS의 종류와 버전
2. CPU 사양: CPU 모델명, 출시년도, 코어 갯수, 평균사용률(%), 최대사용률(%) 등
3. 메모리 사양: 메모리 용량(GB), 평균사용률(%), 최대사용률(%) 등
4. 저장공간 사양: 용량(GB), 사용률(%), Peak IOPS, Peak Throughput 등
5. 특이사항: 이중화 여부 등
■ 현재 트래픽 정보 확인
1. 일평균 대역폭(Mbps)
2. 예상 월 트래픽(GB)
3. 일평균 방문자
4. 평균 페이지 용량
■ 필수 구현 사항
1. 일반적인 개발 환경(APM)으로 구축할 것
웹 서버 APM이란 Apache, PHP, mySQL를 말한다. 각각 웹 서버 / 웹 프로그래밍 언어 / 데이터베이스를 말하는데, 기획자도 이 정도 용어는 알아두면 좋다. 왜냐면 어떤 업체에게는 ‘기본’이 ‘기본’이 아닐 수 있기 때문이다… 내가 오기 전에 구축되었던 기존의 홈페이지는 ‘깨비서버’라는 녀석으로 개발되었는데, 나중에 유지보수하려고 보니 이 놈의 서버를 다룰 줄 아는 사람이 많지 않아서 용역자 찾는데 꽤 고생을 했다…. 개발 환경은 특별한 경우가 아니면, 일반적이고 많이 쓰는 것으로 구축하도록 하자.
APM 관련 상세 정보는 다음 링크에서 확인할 수 있다.
https://wodonggun.github.io/wodonggun.github.io/html/What-is-APM.html
2. Web 서버와 DB 서버 분리
물리적인 공간을 분리하고, 기능을 분리하여 서버의 부하를 방지하고, 보안을 강화하려는 목적이다. 서버 구성 방법에 대핸 다음 글을 참고하면 좋을 것 같다.
https://itsandtravels.blogspot.com/2018/12/blog-post_8.html
3. Web 서버 이중화 –> 너무 비싸서 결국 안함 ㅠㅋㅋㅋ
서버 이중화는 문제가 생겼을 경우, 시스템 대체 작동을 시킬 수 있고, 로드 밸런스(Load Balance, 부하 균형)을 이룰 수 있게 해준다. 다만 말그대로 서버 2대에 이중화 솔루션을 이용하기 때문에 비싸진다는 단점이 있다. 서버가 다운되는 최악의 상황에 복구 시간에 따른 리스크가 얼마나 큰지 따져봤을 때, 우리 서비스는 큰 영향이 없을 것으로 판단, 이중화를 적용하지 않기로 했다.
4. 서버 운영 체제는 리눅스로
주워 들은 리눅스의 장점으로는… 오픈소스에 무료, 다중사용자/다중작업을 지원하기에 서버 운영에 적합하며, 네트워크에 최적화되어 있다 등..!
5. 클라우드 서버
클라우드 서버의 장점은 사용한만큼 비용이 나가고, 해외 접속 시 속도가 빠르다는 점이다. 웹호스팅, 서버호스팅, 클라우드를 비교한 장단점 포스팅은 다음 링크를 참조하길 바란다.
http://library.gabia.com/contents/infrahosting/1311
AWS로 선택!
가비아 등 여러 서비스와 비교해봤지만, 점유율 1위라는 위엄, IT팀의 강력 추천으로 AWS로 선택했다. 아직까지는 만족하나 국내 다른 클라우드를 사용해보지 않아 체감은 크지 않다. (너무 비싸…) 다음에 기회가 되면 국내 다른 클라우드 서비스도 사용해보면 좋을 것 같다.
CDN 추천~
댓글 감사합니다. 이번 기회에 CDN에 대해서 한 번 더 찾아보았습니다. 흔히 생각하는 클라우드 서버의 장점이 CDN이었군요.
댓글이 닫혔습니다.