회사에서 합병 준비를 하면서 온프레미스 기반의 서비스들을 전부 AWS에 마이그레이션 하는 것이 하반기 목표가 되었다. 운영 중인 서비스를 마이그레이션 한다는 게 비즈니스 연속성을 보장해야할 뿐더러, 레거시 시스템의 여러 단점들을 보완하면서 깊은 도메인 지식과 인프라 등을 아우르는 넓은 시야가 필요하기 때문에 많은 테스트 및 꼼꼼함이 필요한 부담스러운 작업이긴 하다. 이를 위해 내가 담당하고 있는 서비스들을 문제 없이 전환하기 위해서 필요한 사전 지식에 대해 공부를 좀 해봐야겠다는 게 6~7월 목표.
먼저 내가 담당하는 서비스들을 정리해보면,
1. 홈페이지
Mysql, Java17, SpringBoot, 내장 Tomcat
2. 교육서비스
MariaDB, Java 17, SpringBoot, apache, tomcat
홈페이지의 경우 ... 사실 할 말이 많은데, 인수인계 받기 전까지는 Java 1.6에 Spring MVC4.3.8를 쓰던 레거시 서비스였다. 심지어 개발서버에 제대로 올라가있지도 않았고 EOS가 된 소프트웨어가 한둘이 아니었는데 (사실 EOS 안 된 걸 찾는 게 더 빠를 정도로) 아무리 곧 합병이라고 해도 이렇게 남겨놓는 건 아닌 것 같아서 프레임워크 업그레이드 등등을 진행했다. 이건 나중에 별도 문서로 빼서 여기 추가해야지.
교육서비스의 경우 JEUS, WEBTOB를 쓰다가 그룹사 기술 표준인 APACHE와 TOMCAT으로 변경하는 작업을 거쳤다. 어떤 미들웨어가 더 좋은지는 정리해서 추가해보자. 사실 이건 외부 업체 솔루션 가져다가 쓴 건데 느낀 건... 요즘 AI 안 쓰면 바보인 건 맞지만 그래도 최소한 본인이 작성한 코드가 사이드이펙트는 없는지, 내 소스에 적용했을 때 이슈가 없는지 기본적인 체크조차 안 하는 사람들이 많다는 거다. 개발서버 올렸대서 확인하러 가보면 뭔가 이상해서 소스 뜯어서 보면 토씨 하나 안 틀리고 AI 툴이 써준 그대로 복붙해놓고 고쳤다고 (...) 적어도 내 소스가 어떤 로직을 가지고 있고, 혹시나 미칠 영향에 대해서 충분히 고민하는 자세가 필요할 것 같았다.
그럼 위 서비스들을 AWS에 올리기 위해 필요한 건? 당연히 AWS에 대한 기초 지식이다. 그리고 사용 인원 및 트래픽이 많지 않아서 Kubernetes는 사용 않을 줄 알았는데 기술 표준이 EKS라 K8S도 복습이 필요하다.
AWS SAA, CKAD 취득 완료
더 필요한 건? 추후 정리해봐야지...