본문 바로가기
programming/SpringBoot

스프링부트3 카페24 웹서비스 하기 개발보다 배포와 반영이 어렵다.

by 개코 - 개발과 코딩 2024. 7. 29.

카페24의 Tomcat JSP 웹호스팅은 한달 정액제로 가성비 좋은 웹서비스이다. 스프링부트3를 공부하는 사람들과 상대적으로 낮은 비용은 부담이 상당히 적다. 다만, 스프링부트3의 배포용 war 파일 배포시 카페24의 톰캣은 out of memory 메세지를 표시하면 반영이 되지 않는 경우들이 있다. 본인은 현질하여 Tomcat JSP 비즈니스 사양으로 업그레이드 하였으며, 지금 시점에서 배포와 반영이 잘 되고 있는 상황이다. 어떤 연유인지 알 수 없다. 다만, 카페24를 오랜기간 사용하면서 이번처럼 배포와 반영에 어려움을 겪고 고전한 적은 처음이지만, 가성비로 보면 카페24는 여전히 유효하다.

스프링부트3 카페24 웹서비스 하기
개발보다 배포와 반영이 어렵다.

스프링부트3( Spring Boot 3 )를 공부하면서 웹서비스도 같이 병행하려고 생각했었다.

그래서 생각해 본 것이 카페24였고, 웹호스팅을 구매하게 되었다.

하지만, 이게 쉽지 않았다. 반영은 잘 되는 것 같은데 웹페이지에서는 데이터가 나오지 않는다.

톰캣의 catalina.out 파일을 들여다봐도 톰캣은 정상으로 올라왔는데 이상하다.

반영도 반영이지만, 그놈의 out of memory 문제는 지갑에 있는 돈을 사용하게 만들었다.

지금의 IT 생태계를 보면 카페24만큼의 가성비는 없다지만, 서비스가 불안정하면 스터디를 목적으로 하든, 웹서비스를 목적으로 하든 사용자는 어쩔 수 없이 떠날 수 밖에 없다.

다른 수익이 많은 카페24 입장에서도 굳이 언어별 웹호스팅을 유지할 이유는 없을 수도 있다.

수익적 부분에서 다른 부분보다 적을 것 같은 느낌이긴 하지만, 자금이 없는 분들에겐 여기만한 곳도 없기에 안타까울 뿐이다.

새로운 프레임워크 스프링부트3

이전엔 스프링 레거시 ( Spring MVC or Legacy )를 사용하여 카페24에 뭔가를 만들고 반영하였다.

대충 만들어도 잘 올라가는 서비스, 막 써도 되는 무제한 DB ( 사실 무지성으로 데이터를 무지막지하게 쌓으면 제한이 걸리긴 한다. ) 가 가장 마음에 든다.

너무 늦은 감이 있지만 스프링 레거시는 MVC로도 불리우며 경량의 운영환경을 가지고 있음을 확인할 수 있었다. 이것은 스프링부트3( Spring Boot 3 )보다 가볍다는 것을 의미하기도 한다.

그렇긴 해도 지금은 스프링 레거시는 거의 사용하지 않고 점차 스프링부트로 넘어가고 있기도 하다.

언제부터 였을까.

스프링 레거시 보다는 스프링부트3를 더 많이 사용하는 것을 볼 수 있고 JPA는 거의 만능으로 받아들여지고 있다.

SQL을 사용하지 않고 코드로써 모든 것이 가능하다고 말하고 있다.

확실히 간단한 테이블의 경우는 JPA로 개발하면 편하다. 하지만 2개 이상의 JOIN 과 관계형 데이터를 위한 조합에는 JPQL 또는 QueryDSL을 사용하는 것이 어울린다.

JPA와 QueryDSL의 최대 이점은 개인적인 생각으로 DB를 바꿔도 코드를 거의 수정할 일이 없다는 것이다.

JPAL을 사용하면 직관적인 쿼리를 사용하기에 테이블의 구조를 알 수도 있겠지만, DB가 바뀐다면 변경할 수 밖에 없다.

그럼에도 조금 아쉬운 것이 있다면
과거 스프링 레거시에서 사용했던 mapper 를 사용하여 SQL이다.
직관적인 쿼리는 테이블의 관계와 데이터를 볼 수 있지만, 코드로써 본다면 불편한 점이 있다.

본인이 코드보다는 SQL이 익숙해진 것도 있다.

이제는 버려진 스프링 레거시

카페24와 스프링을 하면서 스프링 레거시( Spring Legacy )가 의외로 간편한 느낌이 있었다.

오랜만에 스프링 레거시로 웹서비스를 해보러고 했지만, 쉽지 않았다.

누군가는 이렇게 하면 되고, 누군가는 저렇게 하면 된다고 했지만
공식 스프링 웹페이지에서도 스프링 레거시는 서비스와 유지보수를 하지 않겠다 언급하고 있다.

그렇다보니 스프링 레거시 프로젝트를 생성하는 것부터 막히기 시작했다.

어쩔수없이 스프링부트3( Spring Boot 3 )를 할 수 밖에 없는 상황이 되었다고 할까.

이제는 버려지고 있는 스프링 레거시를 굳이 하려고 한 것은 카페24에 잘 반영되기 때문이었다.

하지만, 프로젝트 생성이 이제는 잘 되지도 않고, 다운로드 받아야 할 라이브러리들이 지원되지 않는 상황이라면 굳이 고집부릴 필요는 없다.

하지만, 뭔가 아쉽다.

상대적이지만 마이크로소프트의 경우 왠만한 경우 과거 코드도 볼 수 있도록 아주 옛날의 라이브러리를 지금도 제공해주고 있다.

카페24 가성비는 옛말인가

스프링부트3( Spring Boot 3 )로 프로젝트를 생성하고 스터디지만 JPA, JPQL, QueryDSL를 이용한 템플릿을 구성했다.

스터디와 구현이 굉장히 어려웠다.

강의자료와 예제 등을 보면서 최대한 간단히 꼭 필수적인 부분만 만들었지만, 새로운 것은 언제나 진입장벽이 높다는 생각이다.

일단 만들었고, 테스트도 끝났고, 이제는 반영만이 남은 상황이다.

역시나 카페24를 이용해 war 파일을 만들고 업로드하고 웹브라우저에서 확인만 하면 된다.

가장 만만한 것이 카페24에서 제공하는 절약형일 것이다.

하지만, 반영 후 그놈의 out of memory  문제는 본인을 굉장히 괴롭혔다.

Tomcat JSP 절약형의 경우 JVM 메모리 용량이 64M 이다.

충분한 환경이라 생각되지만, 왜 배포시 out of memory 가 발생하는지 모르겠다.

다만, 이를 해결하기 위해 검색과 적용을 열심히 해 봤지만, 제대로 되기 보다는 실행 오류만 무수히 발생했다.

결론은 비즈니스형까지 사양을 업그레이드 했다.

Tomcat JSP 비즈니스의 경우 월5,500원 JVM 128M 이다.

이 경우 반영 후 배포가 정상적으로 이루어졌으며 웹페이지에서 잘 나오고 있다.

대체제는 있는가

기껏 만들고 반영과 배포가 제대로 되지 않아 웹페이지에 보이지 않는다면 개발자로써 허탈해 진다.

더욱이 자신의 포트폴리오로 뭔가를 서비스하는 것을 누군가에 장점으로 보여질 수 있다.

개발자는 필요한 것을 프로그램으로 만드는 사람들이다.

결과물을 서비스하고 누군가에 보여주는 것은 개발자로써의 역량을 보여주는 것과 같은데 반영과 배포가 어려우면 당연히 대체재를 찾게 된다.

찾아보니 대체재는 이미 많이 있었다.

단독 호스팅부터 클라우드까지 여러가지가 있지만, 역시나 비용이 문제가 된다.

비용적인 측면 때문에 카페24의 웹호스팅의 가성비는 타의 추종을 불허할 수 있다 자부했다.

하지만, 이번 일로 조금은 실망을 했다.

IT 자체로도 비용이 많이 드는데 서비스를 만든다고 해서 수익이 되지 않는다면 다른 방법을 찾게 되는 것이 당연할 수 밖에 없다.

그렇다고 다른 서비스를 바로 신청한다고 해서 장점이 있는 것이 아니다.

사용하는 만큼 비용이 지출되는 것도 무시할 수 없기 때문이다.

코드는 완성되어 있고, 아직은 미련이 있으니 고객센터에 물어보는 방법 뿐이 없다.

카페24의 서비스도 호불호가 있지만, 최소한 본인의 경우 질의게시판과 전화상으로 질문했을 때 불편했던 적은 없었다.

지금은 하지 않지만, 과거 호스팅 문제로 새벽에 전화했을 때 자신의 업무가 아님에도 해결해 준 좋은 기억이 있다.

그렇기 때문일까.

본인의 경우 아직은 카페24의 충실한(???) 고객이다.

고객센터와 마지막 시도

카페24 고객센터의 질의게시판에 장문의 질의를 했음에도 마지막엔 삭제했다.

Tomcat JSP 비즈니스로 사양 업그레이드를 한 이후 마지막 심정이다 생각하고
마지막 시도로 스프링부트3 코드를 war 파일로 만들고 배포와 반영을 해 보았다.

어찌된 영문이지 모르겠지만,
잘 되는 것이 확인되었고, 웹브라우저에서도 잘 나오고 있다.

테스트로 코드를 수정하고 기능을 추가하면서 배포와 반영을 반복하였다.

잘 되었다. 다행이다.

결과가 잘 되었기에 고객센터에 질의한 내용은 무시할 수 있으며, 결과적으로 삭제하였다.

역시 현질이 답이었나.

하지만 절약형으로 했을 경우 out of memory 가 발생하는 문제는 여전히 의문이다.

단순히 JPQL를 연결하여 데이터없는 빈 테이블을 SELECT 하는 코드 하나 추가했다고 out of memory 가 발생하는 것은 이해가 되지 않았다.

어쨌든 하루 담배한갑 사지 않는다면 카페24의 비즈니스형 웹호스팅은 유지할 수 있다.

반영되는 것이 확인되었으니, 뭔가 수익화를 생각해 봐야 겠다.

실행되었다. 하찮은 기대감

어쨌든 결과는 만족스럽고, 배포와 반영시 실행은 잘 되었다.

하지만, 여전히 찜찜한 기분은 있다.

최종적으로 배포와 반영은 되었고, 웹브라우저에서 잘 나오고 있지만, 기능추가로 인해 코드 또한 추가된다면 추후 out of memory 문제 또한 다시 발생할 수 있기 때문이다.

하지만, 본인의 최종적인 목표는 카페24에 반영한 웹서비스를 이용해 수익화를 만들고 Tomcat JSP 자이언트 서비스까지 사용해 본 후 추후 단독웹호스팅까지 가는 것에 목표를 두고 있다.

솔직히 자이언트 사양까지 간다면 하루 방문객과 사용자는 꽤 있다는 것이 자연히 증명되는 셈이 된다.

목표는 목표이다.

내가 만든 하찮은 웹서비스를 위해 카페24의 웹서비스를 잘 이용하는 것이 이제는 기대감으로 남을 뿐이다.

하찮은 기대감일 수도 있겠지만, 그 때까지는 어쨌든 사용해 볼 목적이다.

누군가의 의견을 살펴보니 차라리 nodejs 를 사용해 보는 것도 괜찮다고 했다.

Tomcat JSP 웹호스팅보다 nodejs 웹호스팅이 상당히 저렴하기 때문이다.

당장 옮기고 싶긴 하지만 지금은 할 수 있는 것으로 서비스를 만드는 것이 목적이고 스프링부트3에 익숙해 지는 것이 목표이기 때문에 nodejs를 시작할 때는 조금 나중이 될 것 같다.

지금도 포스팅하면서 간단한 기능을 추가했고, Tomcat JSP 웹호스팅에 배포와 반영을 해 보았다.

역시나 이번에도 마지막 심정으로 했지만, 너무나 잘 되었기에 만족감과 함께 기대감이 공존하고 있다.

반응형

댓글