공부/Server

[PaaS-TA] PaaS-TA 서비스를 통해 node.js 기반 프로젝트 배포하기

jihyee 2021. 12. 28. 15:07
 

PaaS-TA

파스-타 도입 전 미리 파스-타를 체험하실 수 있도록 체험 서비스를 제공하고 있습니다.

paas-ta.kr

 

 

배포하면 떠오르는 플랫폼이 aws, naver cloud platform, gcp 정도인 것 같은데 이번에 동아리 프로젝트로 공모전을 알아보면서 paas-ta 라는 개방형 클라우드 플랫폼을 알게 됐다.

 

 

 

 

aws 배포 경험이 있고 naver cloud에 적용할 때도 프로세스는 거의 일치해서 어려움 없이 배포할 수 있겠다 생각했고 무턱대고 도전..

 

 

 

 

 

 

 

 

결과는 ...

진짜 너무 힘들었다.

 

 

߹𖥦߹

 

 

 

 

 

 

타 클라우드 플랫폼 서비스에 비해 paas-ta 사용이 어려웠던 이유를 고르자면

 

  1. 자료가 정말 없다..

    그냥 paas-ta 자체 제공 자료만 있다고 생각하면 돼서 구글링 불가...

    어찌나 자료가 없는지 이미 배포 경험이 있는 분 깃헙에서 리드미 읽어보고 코드 읽어보고 직접 연락해보고..
    물론 자료가 무조건 있어야 하는건 아니지만 paas 서비스라 하란대로 해야하는데 .. 어려웠다.. 
    마지막엔 기도하면서 코드 쳤던 것 같다..

    반면에 aws 나 gcp나 네이버나 워낙 자료가 많아서 거의 블로그 글 따라만 해도 1시간 안에 배포가 가능했다는 차이가 있는 것 같다. 

  2. 자료 업데이트

    그래도 겨우 겨우 찾은 가이드로 따라하다 보면 중간에 막히는 부분이 분명 있다.
    묻고 답하기 들어가 보면 나와 같은 어려움을 겪는 사람들의 글이 있는데 버전별로 가이드를 업데이트하고 있는 건 같은데
    중간 중간 빠진 부분이 있는 것 같다... 

    기도하면서 따라하는데 중간에 막혀서 진짜 울고 싶었을 때가 한 두번이 아닌데 이 부분들은 묻고 답하기에서 답변만 달아주는게 아니라 자료를 업데이트 해줬으면 좋겠다...

    특히 교육 영상 자료 보고 따라하시는 분들..! 중간에 막히면 혼자 해결하려 하지 마시고 홈페이지 묻고 답하기 먼저 들어가보세요.. 

 

 

 

 

 

 

여튼 이런 문제들이 있지만 paas 기반인 만큼 설정만 제대로 하면 다른 클라우드 서버 플랫폼보다 훨씬 간단하게 어플리케이션을 배포할 수 있다는 장점이 있다. 아래 과정 보시면 느끼시겠지만 서버 구축하고 어플리케이션을 서버 내에서 직접 구동해야하는 것과 다르게 어플리케이션 푸시만 하면 자동으로 알아서 다 해준다.

 

 

 

 

paas-ta 기반 어플리케이션 배포 방법 with 플레이파크

 

위와 같은 어려움을 집착으로 해결한 배포 방법을 설명해보겠다. .. 

 

우선 나는 플레이 파크를 사용했고 맥북 기준 배포할 어플리케이션은 node.js 기반이고 데이터베이스는 mysql을 사용했다.

 

 

 

 

플레이파크 로그인

 

플레이 파크는 사용하려면 신청을 해야하는데 신청하면 플레이 파크에 로그인할 수 있는 아이디와 비밀번호를 제공해준다.

 

해당 아이디와 비밀번호로 플레이파크 사이트에서 로그인을 해주면 된다.

※ 나중에 사용하니 아이디랑 비번 꼭 기억해둬야 한다

 

 

 

 

 

 

이제 어플리케이션 배포를 해야하는데 배포하는 방법 중 내가 찾은 방법은 cf cli 를 이용하는 것이다.

 

 

cf cli 설치

 

brew install cloudfoundry/tap/cf-cli

 

 

cf cli 로 플레이파크 서비스 로그인

아까 플레이 파크 로그인했던 그 계정!

 

cf login -a API-URL -u USERNAME -p PASSWORD -o ORG -s SPACE

 

로그인하면 Authentication ... ok와 함께 로그인한 계정에 대한 정보가 나오면 해당 계정과 조직으로 잘 로그인 된 것이다.

 

 

 

어플리케이션 manifest.yml 파일 설정

 

 

cf-cli 로 어플리케이션을 배포하려면 설정 파일이 하나 필요하다.

배포할 어플리케이션 폴더에 manifest.yml 파일을 하나 만들고 내용을 아래와 같이 채운다.

 

---
applications:
  - name: {배포할 어플리케이션 이름}
    memory: 2000M
    instances: 1
    command: {어플리케이션 실행 방식 ex) npm run serve}
    path: ./

 

이려면 ./ 위치의 파일을 name 이름으로 memory instance command 방식으로 배포하겠단 뜻이다.

 

다른건 괜찮은데 command 는 꼭 package.json 에 명시된 어플리케이션 실행 명령어로 잘 맞춰줘야 한다.

 

 

 

어플리케이션 푸시

 

manifest.yml 설정도 마치면 이제 paas 플레이 파크에 어플리케이션을 푸시해주면 된다.

 

cf push APP-NAME

 

명령어 입력하고

이와 같은 하면이 나오고 아래 state 에 running 까지 제대로 뜨면 베포가 완료된 것이다.

(여긴 빌드팩 명시했는데 난 명시하지 않았다. 자동으로 node 기반 어플리케이션으로 배포됐던 것 같다.)

 

 

 

 

 

 

 

 

 

 

 

과정을 적으니까 이렇게 간단할 수가 없는데 이것때문에 며칠밤을 새벽까지 자료 찾고 해보고 자료 찾고 해보고 질문하고 진짜 무한 반복이었던 것 같다...

 

 

저 running 을 보고 울뻔했다

 

 

알고 보니까 어떤 자료가 유의미한 자료였는지도 보이고..

 

https://docs.cloudfoundry.org/cf-cli/getting-started.html#overview

 

블로그 글 쓰려니까 이게 보이네..

 

위 자료 따라서 해보면 문제 없이 배포 가능할 것 같다.

 

 

 

 

 

paas-ta 플레이파크는 대신 상업적인 이유로 어플리케이션 배포는 불가능한 것 같다. 그냥 paas-ta 서비스를 한번 경험해보고 배포해보고 싶다는 분들에게 추천한다!