SlideShare ist ein Scribd-Unternehmen logo
1 von 24
JBoss EAP on Azure App Service
(Azure App Service를 사용한 JBoss EAP 프로젝트)
| PS본부
| 2021.12
JBoss EAP on Azure App Service
⁻ 왜 Azure & JBoss 로 개발하는가?
⁻ JBoss EAP & Wildfly
⁻ Azure App Service
⁻ Github
1. 개발 환경 소개
⁻ App Service 개발 프로세스
⁻ JBoss Eclipse Plugin 설정
2. 개발환경 & 형상관리
⁻ Azure Database 생성
⁻ Azure App Service 설정
⁻ JBoss Datasource 설정
3. 인프라 설정(Demo)
⁻ 서비스 배포 (Deploy)
⁻ Spring Datasource 설정
4. 서비스 배포(Demo)
JBoss EAP on Azure App Service
⁻ Blue-Green 배포
⁻ Canary 배포
⁻ Q & A
5. DevOps 배포 전략(Demo)
1.
⁻ 왜 JBoss & Azure 로 개발하는가?
⁻ JBoss EAP & Wildfly
⁻ Azure App Service
⁻ Git & Github
개발 환경 소개
왜 JBoss & Azure로 개발하는가?
기존 방식 VS 오픈소스 & Azure 방식
✓ 기존 방식
• 개발자 PC -> 저장소 & 형상관리 시스템 구축 (비용/소요시간 발생)
• 저장소 -> 스테이징 시스템 구축 (비용/소요시간 발생)
• 저장소 -> 실운용 시스템 구축 (비용/소요시간 발생)
• 구축 후 각 SW 구입 설치/설정 (비용/소요시간 발생)
• 기타 소요 비용 ( 네트워크, 방화벽, 도메인, 인증서, 시스템 폐기/재할당 비용 등등 )
• 기타 소요 시간 ( 부서간 협조, HW 불량시 교체 시간, 서버 자원 할당 요청 등등)
• 전통적인 배포 방식으로 서비스 다운타임 및 배포 오류시 긴 롤백시간 소요
1. 개발 환경 소개
왜 JBoss & Azure로 개발하는가?
기존 방식 VS 오픈소스 & Azure 방식
✓ Azure & JBoss 방식
• Java EE Full 스펙이며 가장 쉽게 접근할 수 있는 WAS
• 기업환경에 맞는 성능과 안정성, 지원 조직을 가진 오픈소스 WAS
• 개발자 PC만 준비하면 모든 것이 완료 (이클립스, Git, Github, Azure 인프라)
• Github / Azure를 사용한 손쉬운 자동화 CI/CD
• Azure 에서 필요한 SW를 선택하면 인프라 설치완료 (자원 크기, 사용 시간에 따라 차등유료)
• Azure로 테스트에 집중
• 무중단 배포 와 다양한 DevOps 배포 전략
1. 개발 환경 소개
JBoss EAP & Wildfly
대표적인 오픈소스 WAS
✓ Red Hat 사의 대표 오픈소스 Web Application Server
✓ JAVA EE 8 스펙 전체 지원 ( JSR 366 )
• 임베디드 웹서버 (JSP/Servlet 컨테이너), 캐쉬, 클러스터링, 트랜젝션, 메시징, EJB, RESTful Webservice, Websocket 등
✓ Tomcat의 경우 JAVA EE 스펙에서 JSP & Servlet 부분만 구현
✓ 현재 JAVA EE 는 JAKARTA EE로 변경 ( 관리 주체 변경 )
✓ JBoss 7.3 부터 JAKARTA EE 지원
✓ 커뮤니티 버전인 Wildfly의 사용자 경험을 기반으로, 기업이 안정적으로 사용할 수는 기업 버전인 JBoss EAP 출시
1. 개발 환경 소개
Azure App Service
MS 클라우드 컴퓨팅 플랫폼 소개
✓ Microsoft 클라우드 컴퓨팅 플랫폼 및 인프라스트럭처 서비스
✓ Azure App Service를 사용하면 모든 플랫폼 또는 디바이스에서 엔터프라이즈급 웹 및 Mobile Apps를 쉽고 빠르게 만들
고 확장성 및 안정성이 뛰어난 클라우드 인프라를 배포할 수 있게 해주는 통합 Cloud Service로 앱을 보다 빠르게 만들
수 있습니다. - MS Azure App Service 소개문
✓ Node.js, ASP.NET, .NET Core, Python, Java, PHP
- 지원 언어 ( 이외 다수 지원 )
✓ 개발자는 소스코드만 개발하고 나머지는 Azure에서 인프라(HW/SW)
모두 제공 - DevOps, PaaS 개념
✓ App Service 이외에서 전통적인 VM 환경도 지원, SaaS도 지원
1. 개발 환경 소개
Git & Github
오픈소스 대표 버전관리시스템 소개
✓ Git : 리누스 토르발스가 개발한 분산형 버전관리시스템 (또는 형상관리시스템)
✓ Git : 빠른 속도, 분산형 저장소 지원, 가벼운 브랜치, 병합 구조
✓ Git : 로컬 레포지토리 (저장소) 지원으로 오프라인에서 개발 가능, 이후 원격 저장소에 업데이트
✓ Github : 대표적인 무료 Git 저장소, https/ssh 지원, Github Action (CI/CD 워크플로우 자동화 기능) 지원
✓ Github : 2018.6.4 MS에서 Github를 인수
1. 개발 환경 소개
2.
⁻ 개발 프로세스
⁻ JBoss Eclipse Plugin 데모
개발환경 & 형상
관리
개발 프로세스
Github 를 사용한 프로세스 요약
✓ GitHub Repository 를 이용하여 소스 다운로드(Clone)
✓ 다운로드한 코드를 로컬 JBoss에서 테스트
✓ 소스 버전을 변경하고 Git 로컬 레포지토리에 저장(Commit)
✓ Git 로컬 레포지토리에 있는 코드를 Github에 저장(Push)
✓ Azure App Service 에서 JBoss 리소스 생성
✓ Azure App Service가 Github Action 의 workflows 스크립트를 수행(mvn install 생성된 war 파일을 가져와서 JBoss에
deploy)
2. 개발 & 형상관리
3.
⁻ Azure Database 생성
⁻ Azure App Service 설정
⁻ Azure JBoss 코드 Database Source 설정
인프라 설정
Database 설정
WAS에 필요한 MySQL 생성
✓ Portal > 리소스 만들기 > Azure Database for MySQL > 단일 서버 > 기본 정보 입력 > 만들기
• 연결 보안 > 퍼블릭 네트워크 액세스 거부 (아니요) > Azure 서비스 방문 허용 (예)
・ 방화벽 규칙에 현재 사용 IP 등록
・ SSL 연결 적용 (사용 안함)
• 연결 문자열에서 JBoss에서 사용할 JDBC 문자열을 확인
3. 인프라 설정
Azure App Service 설정
App Service 만들기
✓ 홈 > App Services > App Service 만들기
✓ 구독 리소스 그룹 > 이름 (하위도메인 네임) > 게시 (코드) > 런타임 스택 (java 8) > Java 웹서버 스택 (JBoss EAP 7)
✓ 운영 체제 (Linux) > 지역 (Korea Central) > 검토 + 만들기 > 만들기
✓ 기본 웹앱 배포 1분 정도 소요
✓ 리소스로 이동 -> 오른쪽 상단 URL 확인
3. 인프라 설정
JBoss & Github 설정
초기 상태인 App Service에 Github 연결
✓ 좌측 메뉴 중간 > 배포 센터
✓ 소스 : 지속적인 배포 ( CI/CD ) -> GitHub 선택
✓ 다음으로 로그인 : Github 유저 정보 입력
✓ 조직 : 유저명, 리포지토리 : 개발 소스 저장소 선택, 분기 : 마스터
✓ 최상단 메뉴 저장 클릭 -> 배포 작업 바로 수행 -> 좌측 메뉴 상단 개요 클릭
3. 인프라 설정
JBoss Datasource 설정
Azure App Service JBoss에서 Datasource 생성 방법을 기술
✓ FTP 또는 사용가능한 방법으로 /home/site/deployments/tools/ 아래에
✓ start_script.sh, jboss module(mysql-module.xml, mysql-driver.jar), jboss.cli 업로드
✓ Portal > App Service > 생성 리소스명 > 구성 > 일반 설정 > 시작 명령
✓ /home/site/deployments/tools/startup_script.sh 등록 > 저장
3. 인프라 설정
4.
⁻ 서비스 배포
⁻ Spring Database 연결 설정
서비스 배포
배포 (Deploy)
개발툴에서 서비스
✓ Github commit 시 즉시 반영
✓ 스테이지 슬롯 사용 권장
4. 서비스 배포
5.
⁻ Blue Green 배포
⁻ Canary 배포
⁻ Q&A
DevOps 배포 전략
Rolling 배포
구 버전에서 새 버전을 한대씩 교체하는 배포 전략
5. DevOps 배포 전략
https://dev.to/mostlyjason/intro-to-deployment-strategies-blue-green-canary-and-more-3a3
Blue Green 배포
Blue(구) 버전에서 Green(새) 버전으로 일제히 전환하는 배포 전략
5. DevOps 배포 전략
https://dev.to/mostlyjason/intro-to-deployment-strategies-blue-green-canary-and-more-3a3
Canary 배포
구 버전의 서버와 새 버전의 서버들을 구성하고 일부 트래픽을 새 버전으로 분산하여 오류 여부를 판단
5. DevOps 배포 전략
https://dev.to/mostlyjason/intro-to-deployment-strategies-blue-green-canary-and-more-3a3
Q & A
Thank you
www.rockplace.co.kr

Weitere ähnliche Inhalte

Was ist angesagt?

[오픈소스컨설팅] OpenShift PaaS Platform How-to
[오픈소스컨설팅] OpenShift PaaS Platform How-to[오픈소스컨설팅] OpenShift PaaS Platform How-to
[오픈소스컨설팅] OpenShift PaaS Platform How-toJi-Woong Choi
 
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성OpenStack Korea Community
 
Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB rockplace
 
DB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQLDB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQLrockplace
 
Kubernetes on Premise
Kubernetes on PremiseKubernetes on Premise
Kubernetes on PremiseChan Shik Lim
 
애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축rockplace
 
MySQL operator for_kubernetes
MySQL operator for_kubernetesMySQL operator for_kubernetes
MySQL operator for_kubernetesrockplace
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10![웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!Open Source Consulting
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1]
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1][개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1]
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1]Tommy Lee
 
오픈스택데이 오픈소스PaaS 솔루션 - openshift 소개
오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개
오픈스택데이 오픈소스PaaS 솔루션 - openshift 소개Hojoong Kim
 
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항rockplace
 
Windows Kubernetes Bootstrapping and Operations
Windows Kubernetes Bootstrapping and OperationsWindows Kubernetes Bootstrapping and Operations
Windows Kubernetes Bootstrapping and OperationsJung Hyun Nam
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여Ji-Woong Choi
 
JBoss EAP on Azure
JBoss EAP on Azure JBoss EAP on Azure
JBoss EAP on Azure rockplace
 
코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개태준 문
 
[OpenInfra Days Korea 2018] (Track 3) Software Defined Infrastructure 전략 및 사례
[OpenInfra Days Korea 2018] (Track 3) Software Defined Infrastructure 전략 및 사례[OpenInfra Days Korea 2018] (Track 3) Software Defined Infrastructure 전략 및 사례
[OpenInfra Days Korea 2018] (Track 3) Software Defined Infrastructure 전략 및 사례OpenStack Korea Community
 
Ansible를 통한 컨테이너 환경 자동화
Ansible를 통한 컨테이너 환경 자동화Ansible를 통한 컨테이너 환경 자동화
Ansible를 통한 컨테이너 환경 자동화Opennaru, inc.
 
공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례
공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례
공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례rockplace
 

Was ist angesagt? (19)

[오픈소스컨설팅] OpenShift PaaS Platform How-to
[오픈소스컨설팅] OpenShift PaaS Platform How-to[오픈소스컨설팅] OpenShift PaaS Platform How-to
[오픈소스컨설팅] OpenShift PaaS Platform How-to
 
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
 
Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB Azure databases for PostgreSQL, MySQL and MariaDB
Azure databases for PostgreSQL, MySQL and MariaDB
 
DB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQLDB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQL
 
Kubernetes on Premise
Kubernetes on PremiseKubernetes on Premise
Kubernetes on Premise
 
애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축애플리케이션 최적화를 위한 컨테이너 인프라 구축
애플리케이션 최적화를 위한 컨테이너 인프라 구축
 
MySQL operator for_kubernetes
MySQL operator for_kubernetesMySQL operator for_kubernetes
MySQL operator for_kubernetes
 
Docker osc 0508
Docker osc 0508Docker osc 0508
Docker osc 0508
 
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10![웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
[웨비나] 클라우드 마이그레이션 수행 시 가장 많이 하는 질문 Top 10!
 
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1]
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1][개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1]
[개방형 클라우드 플랫폼 오픈세미나 오픈클라우드 Pub] 4. 종합분석[1]
 
오픈스택데이 오픈소스PaaS 솔루션 - openshift 소개
오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개오픈스택데이   오픈소스PaaS 솔루션 - openshift 소개
오픈스택데이 오픈소스PaaS 솔루션 - openshift 소개
 
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
 
Windows Kubernetes Bootstrapping and Operations
Windows Kubernetes Bootstrapping and OperationsWindows Kubernetes Bootstrapping and Operations
Windows Kubernetes Bootstrapping and Operations
 
[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여[오픈소스컨설팅]오픈스택에 대하여
[오픈소스컨설팅]오픈스택에 대하여
 
JBoss EAP on Azure
JBoss EAP on Azure JBoss EAP on Azure
JBoss EAP on Azure
 
코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개
 
[OpenInfra Days Korea 2018] (Track 3) Software Defined Infrastructure 전략 및 사례
[OpenInfra Days Korea 2018] (Track 3) Software Defined Infrastructure 전략 및 사례[OpenInfra Days Korea 2018] (Track 3) Software Defined Infrastructure 전략 및 사례
[OpenInfra Days Korea 2018] (Track 3) Software Defined Infrastructure 전략 및 사례
 
Ansible를 통한 컨테이너 환경 자동화
Ansible를 통한 컨테이너 환경 자동화Ansible를 통한 컨테이너 환경 자동화
Ansible를 통한 컨테이너 환경 자동화
 
공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례
공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례
공개소프트웨어 DBMS에 대한 주요 도입 및 마이그레이션 사례
 

Ähnlich wie JBoss EAP on Azure Workshop

DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기SeungYong Baek
 
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기Youngjae Kim
 
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)Opennaru, inc.
 
01.개발환경 교육교재
01.개발환경 교육교재01.개발환경 교육교재
01.개발환경 교육교재Hankyo
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반BJ Jang
 
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발Jinuk Kim
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래NAVER D2
 
Open standard open cloud engine (3)
Open standard open cloud engine (3)Open standard open cloud engine (3)
Open standard open cloud engine (3)uEngine Solutions
 
Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1SeungHa Eom
 
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)Amazon Web Services Korea
 
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST_NHNent
 
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석Amazon Web Services Korea
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: YeomanJae Sung Park
 
[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱NAVER D2
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyondJae Sung Park
 
[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdfHeeJung Chae
 
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...Amazon Web Services Korea
 
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴Ian Choi
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
 
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online SeriesAmazon Web Services Korea
 

Ähnlich wie JBoss EAP on Azure Workshop (20)

DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기
 
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
[Azure bootcamp2017] Azure App Service로 서비스 탄탄하게 관리하기
 
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)02.JBOSS EAP7(FOR CONTAINER/CLOUD)
02.JBOSS EAP7(FOR CONTAINER/CLOUD)
 
01.개발환경 교육교재
01.개발환경 교육교재01.개발환경 교육교재
01.개발환경 교육교재
 
공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반공간정보아카데미 - Day1 오픈소스개발 일반
공간정보아카데미 - Day1 오픈소스개발 일반
 
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
NDC13: DVCS와 코드리뷰 그리고 자동화를 통한 쾌속 개발
 
[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래[1A6]Docker로 보는 서버 운영의 미래
[1A6]Docker로 보는 서버 운영의 미래
 
Open standard open cloud engine (3)
Open standard open cloud engine (3)Open standard open cloud engine (3)
Open standard open cloud engine (3)
 
Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1Spring boot + java 에코시스템 #1
Spring boot + java 에코시스템 #1
 
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
AWS Code 서비스 특집 - 아마존 DevOps와 CodeDeploy, CodePipeline (윤석찬)
 
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
 
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
AWS Summit Seoul 2015 - AWS를 통한 게임 운영의 정석
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman
 
[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱[231]나는서버를썰터이니너는개발만하여라 양지욱
[231]나는서버를썰터이니너는개발만하여라 양지욱
 
Front end dev 2016 & beyond
Front end dev 2016 & beyondFront end dev 2016 & beyond
Front end dev 2016 & beyond
 
[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf[Ansible] Solution Guide V0.4_20181204.pdf
[Ansible] Solution Guide V0.4_20181204.pdf
 
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
클라이드 네이티브 기반 Twelve Factor 앱 개발 - 윤석찬, AWS 테크에반젤리스트 :: AWS Summit Online Kore...
 
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
 

Mehr von rockplace

MySQL InnoDB Cluster 소개
MySQL InnoDB Cluster 소개MySQL InnoDB Cluster 소개
MySQL InnoDB Cluster 소개rockplace
 
락플레이스 OpenShift Q&A 토크쇼 발표자료
락플레이스 OpenShift Q&A 토크쇼 발표자료락플레이스 OpenShift Q&A 토크쇼 발표자료
락플레이스 OpenShift Q&A 토크쇼 발표자료rockplace
 
DB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQLDB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQLrockplace
 
Azure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBAzure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBrockplace
 
DB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQLDB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQLrockplace
 
Azure Database for MySQL
Azure Database for MySQLAzure Database for MySQL
Azure Database for MySQLrockplace
 
SQL Server to Azure SQL Database Migration
SQL Server to Azure SQL Database MigrationSQL Server to Azure SQL Database Migration
SQL Server to Azure SQL Database Migrationrockplace
 
Azure SQL Database
Azure SQL DatabaseAzure SQL Database
Azure SQL Databaserockplace
 
Migration to Azure Database for MySQL
Migration to Azure Database for MySQLMigration to Azure Database for MySQL
Migration to Azure Database for MySQLrockplace
 
Azure Databases for PostgreSQL, MySQL and MariaDB
Azure Databases for PostgreSQL, MySQL and MariaDBAzure Databases for PostgreSQL, MySQL and MariaDB
Azure Databases for PostgreSQL, MySQL and MariaDBrockplace
 
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점rockplace
 
SQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case StudySQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case Studyrockplace
 
OSS DB on Azure
OSS DB on AzureOSS DB on Azure
OSS DB on Azurerockplace
 
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축rockplace
 
오픈소스와 개발환경
오픈소스와 개발환경오픈소스와 개발환경
오픈소스와 개발환경rockplace
 
Azure 클라우드에서 OpenShift 시작하기 - Azure 클라우드 환경에서 OpenShift 운영 방안
Azure 클라우드에서 OpenShift 시작하기 - Azure 클라우드 환경에서 OpenShift 운영 방안Azure 클라우드에서 OpenShift 시작하기 - Azure 클라우드 환경에서 OpenShift 운영 방안
Azure 클라우드에서 OpenShift 시작하기 - Azure 클라우드 환경에서 OpenShift 운영 방안rockplace
 
공개소프트웨어 기반 클라우드 네이티브
공개소프트웨어 기반 클라우드 네이티브공개소프트웨어 기반 클라우드 네이티브
공개소프트웨어 기반 클라우드 네이티브rockplace
 
공개소프트웨어 기반 주요 클라우드 전환 사례
공개소프트웨어 기반 주요 클라우드 전환 사례공개소프트웨어 기반 주요 클라우드 전환 사례
공개소프트웨어 기반 주요 클라우드 전환 사례rockplace
 

Mehr von rockplace (18)

MySQL InnoDB Cluster 소개
MySQL InnoDB Cluster 소개MySQL InnoDB Cluster 소개
MySQL InnoDB Cluster 소개
 
락플레이스 OpenShift Q&A 토크쇼 발표자료
락플레이스 OpenShift Q&A 토크쇼 발표자료락플레이스 OpenShift Q&A 토크쇼 발표자료
락플레이스 OpenShift Q&A 토크쇼 발표자료
 
DB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQLDB Migration to Azure Database for MySQL
DB Migration to Azure Database for MySQL
 
Azure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBAzure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDB
 
DB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQLDB Migration to Azure Database for PostgreSQL
DB Migration to Azure Database for PostgreSQL
 
Azure Database for MySQL
Azure Database for MySQLAzure Database for MySQL
Azure Database for MySQL
 
SQL Server to Azure SQL Database Migration
SQL Server to Azure SQL Database MigrationSQL Server to Azure SQL Database Migration
SQL Server to Azure SQL Database Migration
 
Azure SQL Database
Azure SQL DatabaseAzure SQL Database
Azure SQL Database
 
Migration to Azure Database for MySQL
Migration to Azure Database for MySQLMigration to Azure Database for MySQL
Migration to Azure Database for MySQL
 
Azure Databases for PostgreSQL, MySQL and MariaDB
Azure Databases for PostgreSQL, MySQL and MariaDBAzure Databases for PostgreSQL, MySQL and MariaDB
Azure Databases for PostgreSQL, MySQL and MariaDB
 
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
RHEL8의 새로운 기술, 그리고 SQL Server 2019와 함께하는 다양한 이점
 
SQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case StudySQL Server 2019 on RHEL Overview & Case Study
SQL Server 2019 on RHEL Overview & Case Study
 
OSS DB on Azure
OSS DB on AzureOSS DB on Azure
OSS DB on Azure
 
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 4를 통한 더 빠르고 쉬운 애플리케이션 구축
 
오픈소스와 개발환경
오픈소스와 개발환경오픈소스와 개발환경
오픈소스와 개발환경
 
Azure 클라우드에서 OpenShift 시작하기 - Azure 클라우드 환경에서 OpenShift 운영 방안
Azure 클라우드에서 OpenShift 시작하기 - Azure 클라우드 환경에서 OpenShift 운영 방안Azure 클라우드에서 OpenShift 시작하기 - Azure 클라우드 환경에서 OpenShift 운영 방안
Azure 클라우드에서 OpenShift 시작하기 - Azure 클라우드 환경에서 OpenShift 운영 방안
 
공개소프트웨어 기반 클라우드 네이티브
공개소프트웨어 기반 클라우드 네이티브공개소프트웨어 기반 클라우드 네이티브
공개소프트웨어 기반 클라우드 네이티브
 
공개소프트웨어 기반 주요 클라우드 전환 사례
공개소프트웨어 기반 주요 클라우드 전환 사례공개소프트웨어 기반 주요 클라우드 전환 사례
공개소프트웨어 기반 주요 클라우드 전환 사례
 

Kürzlich hochgeladen

A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'Hyundai Motor Group
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and AdoptionSeung-chan Baeg
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Wonjun Hwang
 

Kürzlich hochgeladen (7)

A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
도심 하늘에서 시속 200km로 비행할 수 있는 미래 항공 모빌리티 'S-A2'
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption[Terra] Terra Money: Stability and Adoption
[Terra] Terra Money: Stability and Adoption
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)Grid Layout (Kitworks Team Study 장현정 발표자료)
Grid Layout (Kitworks Team Study 장현정 발표자료)
 

JBoss EAP on Azure Workshop

  • 1. JBoss EAP on Azure App Service (Azure App Service를 사용한 JBoss EAP 프로젝트) | PS본부 | 2021.12
  • 2. JBoss EAP on Azure App Service ⁻ 왜 Azure & JBoss 로 개발하는가? ⁻ JBoss EAP & Wildfly ⁻ Azure App Service ⁻ Github 1. 개발 환경 소개 ⁻ App Service 개발 프로세스 ⁻ JBoss Eclipse Plugin 설정 2. 개발환경 & 형상관리 ⁻ Azure Database 생성 ⁻ Azure App Service 설정 ⁻ JBoss Datasource 설정 3. 인프라 설정(Demo) ⁻ 서비스 배포 (Deploy) ⁻ Spring Datasource 설정 4. 서비스 배포(Demo)
  • 3. JBoss EAP on Azure App Service ⁻ Blue-Green 배포 ⁻ Canary 배포 ⁻ Q & A 5. DevOps 배포 전략(Demo)
  • 4. 1. ⁻ 왜 JBoss & Azure 로 개발하는가? ⁻ JBoss EAP & Wildfly ⁻ Azure App Service ⁻ Git & Github 개발 환경 소개
  • 5. 왜 JBoss & Azure로 개발하는가? 기존 방식 VS 오픈소스 & Azure 방식 ✓ 기존 방식 • 개발자 PC -> 저장소 & 형상관리 시스템 구축 (비용/소요시간 발생) • 저장소 -> 스테이징 시스템 구축 (비용/소요시간 발생) • 저장소 -> 실운용 시스템 구축 (비용/소요시간 발생) • 구축 후 각 SW 구입 설치/설정 (비용/소요시간 발생) • 기타 소요 비용 ( 네트워크, 방화벽, 도메인, 인증서, 시스템 폐기/재할당 비용 등등 ) • 기타 소요 시간 ( 부서간 협조, HW 불량시 교체 시간, 서버 자원 할당 요청 등등) • 전통적인 배포 방식으로 서비스 다운타임 및 배포 오류시 긴 롤백시간 소요 1. 개발 환경 소개
  • 6. 왜 JBoss & Azure로 개발하는가? 기존 방식 VS 오픈소스 & Azure 방식 ✓ Azure & JBoss 방식 • Java EE Full 스펙이며 가장 쉽게 접근할 수 있는 WAS • 기업환경에 맞는 성능과 안정성, 지원 조직을 가진 오픈소스 WAS • 개발자 PC만 준비하면 모든 것이 완료 (이클립스, Git, Github, Azure 인프라) • Github / Azure를 사용한 손쉬운 자동화 CI/CD • Azure 에서 필요한 SW를 선택하면 인프라 설치완료 (자원 크기, 사용 시간에 따라 차등유료) • Azure로 테스트에 집중 • 무중단 배포 와 다양한 DevOps 배포 전략 1. 개발 환경 소개
  • 7. JBoss EAP & Wildfly 대표적인 오픈소스 WAS ✓ Red Hat 사의 대표 오픈소스 Web Application Server ✓ JAVA EE 8 스펙 전체 지원 ( JSR 366 ) • 임베디드 웹서버 (JSP/Servlet 컨테이너), 캐쉬, 클러스터링, 트랜젝션, 메시징, EJB, RESTful Webservice, Websocket 등 ✓ Tomcat의 경우 JAVA EE 스펙에서 JSP & Servlet 부분만 구현 ✓ 현재 JAVA EE 는 JAKARTA EE로 변경 ( 관리 주체 변경 ) ✓ JBoss 7.3 부터 JAKARTA EE 지원 ✓ 커뮤니티 버전인 Wildfly의 사용자 경험을 기반으로, 기업이 안정적으로 사용할 수는 기업 버전인 JBoss EAP 출시 1. 개발 환경 소개
  • 8. Azure App Service MS 클라우드 컴퓨팅 플랫폼 소개 ✓ Microsoft 클라우드 컴퓨팅 플랫폼 및 인프라스트럭처 서비스 ✓ Azure App Service를 사용하면 모든 플랫폼 또는 디바이스에서 엔터프라이즈급 웹 및 Mobile Apps를 쉽고 빠르게 만들 고 확장성 및 안정성이 뛰어난 클라우드 인프라를 배포할 수 있게 해주는 통합 Cloud Service로 앱을 보다 빠르게 만들 수 있습니다. - MS Azure App Service 소개문 ✓ Node.js, ASP.NET, .NET Core, Python, Java, PHP - 지원 언어 ( 이외 다수 지원 ) ✓ 개발자는 소스코드만 개발하고 나머지는 Azure에서 인프라(HW/SW) 모두 제공 - DevOps, PaaS 개념 ✓ App Service 이외에서 전통적인 VM 환경도 지원, SaaS도 지원 1. 개발 환경 소개
  • 9. Git & Github 오픈소스 대표 버전관리시스템 소개 ✓ Git : 리누스 토르발스가 개발한 분산형 버전관리시스템 (또는 형상관리시스템) ✓ Git : 빠른 속도, 분산형 저장소 지원, 가벼운 브랜치, 병합 구조 ✓ Git : 로컬 레포지토리 (저장소) 지원으로 오프라인에서 개발 가능, 이후 원격 저장소에 업데이트 ✓ Github : 대표적인 무료 Git 저장소, https/ssh 지원, Github Action (CI/CD 워크플로우 자동화 기능) 지원 ✓ Github : 2018.6.4 MS에서 Github를 인수 1. 개발 환경 소개
  • 10. 2. ⁻ 개발 프로세스 ⁻ JBoss Eclipse Plugin 데모 개발환경 & 형상 관리
  • 11. 개발 프로세스 Github 를 사용한 프로세스 요약 ✓ GitHub Repository 를 이용하여 소스 다운로드(Clone) ✓ 다운로드한 코드를 로컬 JBoss에서 테스트 ✓ 소스 버전을 변경하고 Git 로컬 레포지토리에 저장(Commit) ✓ Git 로컬 레포지토리에 있는 코드를 Github에 저장(Push) ✓ Azure App Service 에서 JBoss 리소스 생성 ✓ Azure App Service가 Github Action 의 workflows 스크립트를 수행(mvn install 생성된 war 파일을 가져와서 JBoss에 deploy) 2. 개발 & 형상관리
  • 12. 3. ⁻ Azure Database 생성 ⁻ Azure App Service 설정 ⁻ Azure JBoss 코드 Database Source 설정 인프라 설정
  • 13. Database 설정 WAS에 필요한 MySQL 생성 ✓ Portal > 리소스 만들기 > Azure Database for MySQL > 단일 서버 > 기본 정보 입력 > 만들기 • 연결 보안 > 퍼블릭 네트워크 액세스 거부 (아니요) > Azure 서비스 방문 허용 (예) ・ 방화벽 규칙에 현재 사용 IP 등록 ・ SSL 연결 적용 (사용 안함) • 연결 문자열에서 JBoss에서 사용할 JDBC 문자열을 확인 3. 인프라 설정
  • 14. Azure App Service 설정 App Service 만들기 ✓ 홈 > App Services > App Service 만들기 ✓ 구독 리소스 그룹 > 이름 (하위도메인 네임) > 게시 (코드) > 런타임 스택 (java 8) > Java 웹서버 스택 (JBoss EAP 7) ✓ 운영 체제 (Linux) > 지역 (Korea Central) > 검토 + 만들기 > 만들기 ✓ 기본 웹앱 배포 1분 정도 소요 ✓ 리소스로 이동 -> 오른쪽 상단 URL 확인 3. 인프라 설정
  • 15. JBoss & Github 설정 초기 상태인 App Service에 Github 연결 ✓ 좌측 메뉴 중간 > 배포 센터 ✓ 소스 : 지속적인 배포 ( CI/CD ) -> GitHub 선택 ✓ 다음으로 로그인 : Github 유저 정보 입력 ✓ 조직 : 유저명, 리포지토리 : 개발 소스 저장소 선택, 분기 : 마스터 ✓ 최상단 메뉴 저장 클릭 -> 배포 작업 바로 수행 -> 좌측 메뉴 상단 개요 클릭 3. 인프라 설정
  • 16. JBoss Datasource 설정 Azure App Service JBoss에서 Datasource 생성 방법을 기술 ✓ FTP 또는 사용가능한 방법으로 /home/site/deployments/tools/ 아래에 ✓ start_script.sh, jboss module(mysql-module.xml, mysql-driver.jar), jboss.cli 업로드 ✓ Portal > App Service > 생성 리소스명 > 구성 > 일반 설정 > 시작 명령 ✓ /home/site/deployments/tools/startup_script.sh 등록 > 저장 3. 인프라 설정
  • 17. 4. ⁻ 서비스 배포 ⁻ Spring Database 연결 설정 서비스 배포
  • 18. 배포 (Deploy) 개발툴에서 서비스 ✓ Github commit 시 즉시 반영 ✓ 스테이지 슬롯 사용 권장 4. 서비스 배포
  • 19. 5. ⁻ Blue Green 배포 ⁻ Canary 배포 ⁻ Q&A DevOps 배포 전략
  • 20. Rolling 배포 구 버전에서 새 버전을 한대씩 교체하는 배포 전략 5. DevOps 배포 전략 https://dev.to/mostlyjason/intro-to-deployment-strategies-blue-green-canary-and-more-3a3
  • 21. Blue Green 배포 Blue(구) 버전에서 Green(새) 버전으로 일제히 전환하는 배포 전략 5. DevOps 배포 전략 https://dev.to/mostlyjason/intro-to-deployment-strategies-blue-green-canary-and-more-3a3
  • 22. Canary 배포 구 버전의 서버와 새 버전의 서버들을 구성하고 일부 트래픽을 새 버전으로 분산하여 오류 여부를 판단 5. DevOps 배포 전략 https://dev.to/mostlyjason/intro-to-deployment-strategies-blue-green-canary-and-more-3a3
  • 23. Q & A