처음 겪은 마이그레이션 전략-intro

처음 있었던 서비스 인수인계, 도메인 URL을 활용해서 마이그레이션 작업을 수행하다

Imagem de capa

3. 운영서버 설계

우선 서버에서 작동시켜야하는 프로그램들을 나열하고 그것들의 성격들을 조합시켜본다.

인스턴스 설계

  1. 요청을 주고받는 http 서버(요청이 적어 리소스를 적게 먹음)
    • WebServer
    • AdminServer
  2. 요청을 주고받는 http 서버(요청이 잦아 리소스를 많이 먹음)(메인 서비스 서버)
    • ApiServer (이중화 해서사용)
  3. 요청을 주고받는 http 서버(요청이 그렇게 많진 않지만 다른 서비스에서도 사용가능)
    • KakaoBizMsg(api-server)
    • SMSsktelink(api-server)
  4. 시스템에 필요한 프로그램(RDS, Elastic Cache 처럼 쓰려는 목적)
    • Sphinx(search-enging)(AWS에서 지원 안해줘서 인스턴스에 넣고 써야함)
  5. 시스템에 필요한 프로그램(batch프로그램들)(그러나 각각 프로그램마다 요구하는 자바의 버전이 다르기떄문에 jenv나 그런 환경분리 솔루션에대해 조사해야함)
    • Scheduler
    • KakaoBizMsg(Agent)
    • SMSsktelink(Agent)

나머지 AWS 인프라들의 설계 및 배치

운영서버 설계의 인스턴스 설계중에서 1,2,3 항목에 대해서는 전부 ELB를 셋팅하고 nginx를 인스턴스 안에 설치하여 프록시 서버도 함께 사용하게 했다. 왜냐하면 프록시용목적도 있지만 AWS ELB가 죽지않고 계속 동작하도록 만드려는 의도도 있었기 때문이다.

가급적 기존에 올라가있는 설정에서 변경되지 않도록 해야한다. 그래야 나중 유지보수때 얻을 수 있는 조언들을 구하기가 쉬워지기 때문이다(지극히 개인적인 생각, 실제로는 도움 청할일이 별로 없을 듯)

작업 순서[링크]

  1. 마이그레이션 인트로 Link
  2. 전해들은 정보들을 토대로 아키텍쳐 파악 Link
  3. 서드파티(facebook login, google analytics, firebase, playstore, android player… 등등.. 또는 sms, kakao BizMsg .. 등등 약 9개 정도 된 듯) 권한 및 계정 가져오기 Link
  4. 운영 서버 설계 Link
  5. 마이그레이션 전략 구상 Link
  6. 테스트 환경 구축 Link
  7. 마이그레이션 Link
  8. 운영 서버 배포 Link
  9. 후속작업… Link