댓글 검색 목록

[기타] 2020 년에 웹앱을 배포하는 4 가지 방법

페이지 정보

작성자 운영자 작성일 20-10-30 12:29 조회 885 댓글 0

응용 프로그램 배포는 의도한 사용자가 응용 프로그램 또는 업데이트를 사용할 수 있도록 하는 데 필요한 단계, 프로세스 및 활동으로 구성됩니다. 

응용 프로그램을 배포하는 방식은 제품이 변경 사항에 얼마나 빠르게 반응하는지와 이러한 변경 사항의 품질에 영향을 미치기 때문에 매우 중요합니다. 

오늘날 대부분의 소프트웨어 개발자는 수동, 자동화 및 클라우드 기반 프로세스의 조합을 통해 업데이트, 패치 및 새 응용 프로그램을 배포하지만 수동 응용 프로그램 배포는 단계적으로 중단되고 있습니다.


https://dev.to/alex_boykov/4-ways-to-deploy-web-apps-in-2020-4ch3


이 게시물에서는 응용 프로그램을 배포 할 수 있는 4 가지 방법을 살펴 보겠습니다. 

제가 고려할 방법은 현재 사용 가능한 가장 일반적이고 효과적인 배포 기술입니다. 여기에는 다음이 포함됩니다.

  • Circle CI 및 Travis CI
  • 일반 클라우드 호스팅 + Jenkins
  • Bitbucket 파이프 라인
  • 자동화 된 클라우드 플랫폼

CircleCI 및 Travis CI 


CI (지속적 통합)는 코드를 공유 저장소에 자주 통합하는 소프트웨어 개발 방식입니다. 지속적 통합 방식은 개발자가 애플리케이션 개발 프로세스 중에 발생할 수 있는 문제를 훨씬 쉽게 식별 할 수 있도록 도와줍니다. 정기적으로 통합하면 오류를 찾는 데 소요되는 시간이 줄어들고 주요 기능 개발에 더 많은 시간이 소요됩니다.


Alt Text 


Circle CITravis CI는 각각 장단점이 있는 가장 인기 있는 두 가지 CI 플랫폼입니다. 

Circle CI의 주요 기능은 다음과 같습니다.

  • 클라우드 기반이므로 관리가 필요하지 않습니다.
  • 비즈니스 계정에도 무료 요금제가 있습니다.
  • 최소한의 구성 / 조정이 필요한 완전한 즉시 사용 가능한 솔루션입니다.
  • SSH 모드를 트리거하여 컨테이너에 액세스하고 발생할 수 있는 문제를 해결할 수 있습니다.
  • Circle CI의 캐시는 설치가 필요하므로 원하지 않는 종속성을 최소화하여 애플리케이션 실행 시간을 늘립니다.
  • Circle CI는 Python, Node.JS, Ruby, Java, Ubuntu, Github, Bitbucket, AWS, Docker, Azure, Slack 및 몇 가지 다른 애플리케이션과 호환됩니다.

Circle CI의 장점 

  • 빠른 시작.
  • GitHub와 빠른 설정 통합.
  • 가볍고 읽기 쉬운 YAML 구성.
  • 따라서 클라우드 기반에는 전용 서버가 필요하지 않습니다.
  • 특정 단계를 다시 실행할 수 있는 명확한 워크 플로 다이어그램이 있습니다.

Circle CI의 단점 

  • 사용자 당 비용이 매우 높습니다.
  • UX는 그다지 직관적이지 않습니다
  • Jenkins와 달리 사용자 정의는 제한적입니다.
  • 문서는 경쟁 응용 프로그램보다 열등합니다.
  • git 하위 모듈이 제대로 작동하는 데 약간의 시간이 걸립니다.

Circle CI와 Travis CI는 모두 YAML 파일 구성을 사용하는 클라우드 기반 애플리케이션이지만 Circle CI와 달리 Travis CI는 즉시 사용할 수 있는 더 많은 언어를 지원합니다.


일반 클라우드 호스팅 + Jenkins 


Jenkins는 작업 중인 플랫폼에 관계없이 프로젝트를 지속적으로 통합하고 제공 할 수 있는 강력한 애플리케이션입니다. Jenkins를 사용함으로써 소프트웨어 회사는 Jenkins가 빠른 속도로 빌드하고 테스트 할 수 있으므로 애플리케이션 배포를 가속화 할 수 있습니다. Jenkins 애플리케이션은 빌드, 테스트, 문서화에서 배포에 이르기까지 애플리케이션의 전체 개발 수명 주기를 지원합니다.


Alt Text 


Jenkins 스택은 Google Cloud Platform, Amazon Web Services 또는 Azure를 통해 클라우드에서 사용하도록 사전 구성 할 수 있습니다. 다중 계층 템플릿을 제공하는 Azure Master Slave 토폴로지와 함께 Amazon Web Services 또는 Azure에서 사용할 수 있는 단일 계층 템플릿이 있습니다.


Jenkins의 장점 

  • 업데이트 센터에서 수백 개의 플러그인을 사용할 수 있는 Jenkins는 지속적 통합 및 전달 도구 체인의 거의 모든 도구와 통합 할 수 있습니다.
  • Jenkins는 무료로 제공됩니다.
  • Jenkins는 시스템을 완전히 제어 할 수 있는 자체 포함 된 Java 기반 프로그램입니다.
  • 다양한 조건의 빌드 점심 식사가 가능합니다.


Jenkins의 단점 

  • 추가 비용을 의미하는 전용 서버가 필요합니다.
  • 구성 / 사용자 지정에 시간이 필요합니다.
  • 최신 UI 트렌드와 비교할 때 인터페이스는 구식입니다.
  • Jenkins는 설치 및 구성이 어렵습니다.
  • 지속적인 통합은 작은 설정 변경으로 인해 정기적으로 중단됩니다.


자동화 된 클라우드 플랫폼 


현대 소프트웨어 팀은 애플리케이션 배포를 위해 점점 더 클라우드를 채택하고 있지만 클라우드 플랫폼에 배포하는 것은 자체 데이터 센터와는 크게 다릅니다.


클라우드 기반 애플리케이션 배포를 제공하는 여러 플랫폼이 있습니다. 그러나 거의 모든 클라우드에 대한 마이크로 서비스 아키텍처를 기반으로 애플리케이션을 쉽게 배포하고 운영 할 수 있는 플랫폼이 필요한 경우 Hostman이 최선의 선택입니다.


Alt Text 



Hostman은 AWS, GCP 및 Azure에서 실행되며 필요한 모든 작업이 기본적으로 수행되기 때문에 단 몇 번의 클릭만으로 애플리케이션을 시작할 수 있습니다. Hostman의 배포 자동화는 사용자가 클라우드에서 지속적 배포를 구현하는 데 도움이 됩니다.


그 기능은 다음과 같습니다.

  • 22 개의 프레임 워크를 지원하므로 애플리케이션이 배포되는 즉시 실행됩니다.
  • Github, Gitlab 또는 Bitbucket 저장소에 연결하고 코드를 가져옵니다.
  • 모든 종속성을 설치하고 코드를 빌드하며 Slack 또는 이메일을 통해 알려줍니다.
  • Git 리포지토리의 활동을 모니터링하고 코드를 푸시 할 때 서비스를 업데이트합니다.
  • 공급 업체 잠금이 없으므로 Hostman에서 다른 공급자로 쉽게 전환 할 수 있습니다.


자동화 된 클라우드 플랫폼의 장점 

  • CI / CD를 지원합니다.
  • 한 달에 최저 $ 6.5부터 시작하는 프리 티어 및 유료 버전.
  • 개발주기를 단축하고 오류를 줄입니다.
  • 배포는 안전한 방식으로 쉽게 반복 될 수 있습니다.

자동화 된 클라우드 플랫폼의 단점 

  • 클라우드 기반 배포로 인해 제어력이 상실 될 수 있습니다.


Bitbucket 파이프 라인 


Bitbucket Pipelines는 Bitbucket에 내장 된 통합 CI / CD 서비스입니다. 저장소의 구성 파일을 기반으로 코드를 자동으로 빌드, 테스트 및 배포 할 수 있습니다. Bitbucket 파이프 라인을 사용하면 사용자가 빌드 및 배포 실행을 위해 파이프 라인을 트리거 할 분기를 지정할 수 있는 저장소에 bitbucket-pipelines.yml이라는 구성 파일을 만들 수 있습니다.


Alt Text 

Bitbucket 파이프 라인의 장점 

  • Bitbucket을 사용하면 각 저장소의 요구 사항에 맞는 병합 규칙을 만들 수 있습니다.
  • 강력한 팀 및 프로젝트 관리 도구가 있습니다
  • 소규모 및 대기업 수준의 기업 (무료 계층 포함)을위한 저렴한 가격.
  • 지속적인 통합이 가능하므로 더 많은 사람들이 동일한 프로젝트에서 작업 할 수 있습니다.
  • JIRA와 통합 될 수 있습니다.
  • Bitbucket 파이프 라인을 사용하면 확장이 더 쉬워지고 새 Docker 이미지에서 커밋이 실행됩니다.

Bitbucket 파이프 라인의 단점 

  • 캐시하지 않으면 데이터가 쉽게 손실되므로 파이프 라인의 데이터를 안정적으로 저장할 수 없습니다.
  • 프로젝트 당 가격은 경쟁 배포 애플리케이션에 비해 약간 더 높습니다.
  • 프로젝트 및 리포지토리에 대한 특정 권한을 설정하는 것은 사용 가능한 다른 솔루션만큼 직관적이지 않습니다.

결론 


위의 응용 프로그램 배포 기술에는 각각의 장단점 및 학습 곡선이 있습니다. Hostman 및 기타 업계 리더와 같은 자동화 된 클라우드 플랫폼은 많은 원 스톱 혜택을 제공합니다.


그러나 다른 호스팅 기술은 업계에서 잘 입증 된 다양한 유용한 기능과 Jenkins와의 통합을 제공합니다.


이 게시물은 사용할 수 있는 배포 기술의 특정 측면을 분석하도록 설계되었으며 자동화 된 클라우드 배포 플랫폼이 갈 길처럼 보이지만 귀하와 귀하의 비즈니스에 가장 적합한 것을 결정하기 위해 더 많은 조사를 해야 합니다.



댓글목록 0

등록된 댓글이 없습니다.

웹학교 로고

온라인 코딩학교

코리아뉴스 2001 - , All right reserved.