SlideShare a Scribd company logo
1 of 23
Download to read offline
[Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기
Ship it! ⛴️ AKS에
스프링 앱 배포하기
한국마이크로소프트 최영락 매니저
May 2023
[Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기
Ian Choi (최영락)
• 2022. 7. ~ (Current): Azure SMC Channel Sales Manager at
Microsoft Korea
• 2018. 11. ~ 2022. 6: Developer Product Marketing Manager
(a.k.a. Field Developer Relations) at Microsoft APAC
• Loves “Developer Communities”
✓ Microsoft ex-MVP: Cloud & Datacenter Management
(July 2016 – Oct 2018)
✓ OpenStack (Internationalization Project Team / SIG Lead, TC / PTL
Election Official, Korea Community Leader in 2017-2019)
✓ K8s – Docs L10n: Korean reviewer,
Meta Developer Circle – Seoul Lead, …
@ianychoi
[Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기
목차
1. 클라우드 네이티브 & Microsoft Azure
2. 스프링 앱, AKS (Azure Kubernetes Service)에 Ship it! ⛴️
3. 데모
4. 맺음말
[Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기
1. 클라우드
네이티브 &
Microsoft Azure
[Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기
클라우드 네이티브를 향한 고민
클라우드(!=구름)
네이티브(!=타고난)
컨테이너(!=선적)
Cloud
Cloud Native
Kubernetes
Innovation
Modernization
DevOps
Digital Transformation
Containers
Serverless
Event-driven
Azure 클라우드 적용을 해 나가는 4가지 단계
1.Lift& Shift 2. Refactoring
3. Rearchitecting 4.Rebuild/New
클라우드 네이티브
Package application code and dependencies in containers, deploy as
microservices and manage them using DevOps processes and tools
Microservices
Containers
DevOps
APIs Functions
클라우드 네이티브에 대해
“클라우드“에서의 경험 → 확장 가능한 응용 프로그램
• 클라우드에서의 경험
• Scaling up/down, auto-scaling, …
• 확장 가능한 응용 프로그램
• 마이크로서비스
클라우드 네이티브 기술은 조직이 퍼블릭, 프라이
빗, 그리고 하이브리드 클라우드와 같은 현대적이
고 동적인 환경에서 확장 가능한 애플리케이션을
개발하고 실행할 수 있게 해준다. 컨테이너, 서비
스 메쉬, 마이크로서비스, 불변(Immutable) 인프
라, 그리고 선언형(Declarative) API가 이러한 접
근 방식의 예시들이다.
• 주요 기술
• Containers & Kubernetes를 통한 경량화 (VM 보다)
• Serverless를 통한 확장성 이점
• API를 잘 활용하여 서비스 간 독립적으로 개발
• DevOps를 통한 개발 – 운영 단계 가속화
• 마이크로서비스 아키텍처로의 발전
Cloud native technologies empower organizations to
build and run scalable applications in modern,
dynamic environments such as public, private, and
hybrid clouds. Containers, service meshes,
microservices, immutable infrastructure, and
declarative APIs exemplify this approach.
Kubernetes(k8s)란?
Kubernetes: “컨테이너화된 응용 프로그램에 대한 자동화된 배포, 확장, 그리고 관리를
위한 오픈 소스 소프트웨어”
그리스어로 κυβερνήτης 입니다 – 배에 있는 키잡이 (Helmsman)를 의미합니다.
Docker 컨테이너가 항구/해안을 테마로 했던 것과 비슷하게, Kubernetes는
컨테이너가 실어지는 배 운항을 담당하는 항해사를 테마로 합니다..
History (짧은 역사)
Google에서 Borg를 오픈 소스화 + 지속적인 기여 중
Kubernetes v1.0: 2015년 7월 21일 릴리즈 (Founder: Joe Beda, Brendan Burns
Craig McLuckie)
GitHub를 메인 저장 공간으로 사용 중. 기여자: >1,700;
매 3-6개월마다 릴리즈 중
Kubernetes 관련 자세한 배경 & 아이디어:
Large-scale cluster management at Google with Borg 논문 참고
2016년 7월,
Kubernetes Founder 중
1명인 Brendan Burns,
마이크로소프트로
(이후 정말 많은 변화가…)
기존 WebApp에 대한 컨테이너
지원, IoT, 머신 러닝 서비스
컨테이너 지원 + 쉬운 쿠버네티스
연동 등 컨테이너 환경에 최적인
“Azure” 클라우드로 거듭남
Container
Linux
Windows
Azure와 앱 혁신 & 클라우드 네이티브로 향하는 여정
제어 (Control) 생산성
VMs
Azure Virtual Machines
Containers
Azure Kubernetes Service | Azure
Red Hat OpenShift
PaaS/Serverless
App Service | Functions |
Spring Apps | Container Apps
Low code
Power Apps | AI Builder
Azure Services
Managed databases
Azure SQL Database | PostgreSQL | MySQL | Cosmos DB
DevOps
GitHub | Azure DevOps | VS Code
Azure | Azure Arc | Azure Stack
[Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기
2. 스프링 앱, AKS
(Azure Kubernetes
Service)에 Ship it!
⛴️
[Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기
이전 발표에서 보셨던 기본 아키텍처
[Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기
이번 시간에 선보이고자 하는 기본 아키텍처
React App on
Azure Static Web Apps
Azure API Management Spring Boot API on
Azure Kubernetes Service
Azure OpenAI Service
(Using Terraform instead of Bicep)
Azure Container Registry
for containerized
Spring Boot API
Azure에서 지원하는 쿠버네티스 (Kubernetes)
엔터프라이즈 급을 염두하고 설계
커뮤니티
CNCF
platinum
member
CNCF
technicaloversight
committee
CNCF
governing
board
Kubernetes
steering
committee
LinuxFoundation
board
member
Microsoft is part of this vibrant communityand leads in theassociated committees
to help shape thefuture ofKubernetesand its ecosystem
개발 도구
Azure Container Registry
Azure Monitor
GitHub
Visual Studio Code
플랫폼
Azure
Kubernetes
Service
Azure
Red Hat
OpenShift
Azure
Container
Instances
Azure Arc
Management across environments
Active
Directory
Azure
Policy
Security
Center
Key
Vault
Azure
Advisor
Bridge to Kubernetes
[Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기
Azure 인프라를 다루는 코드 with Terraform
• Hashicorp Configuration Language (or
HCL)로 인프라를 다루는 코드를 작성
• 상태 (State)를 기반으로 하며, Azure를
포함한 여러 클라우드를 지원
resource “azurerm_resource_group” “testrg” {
name = “storagergtest”
location = “australiaeast”
}
resource "azurerm_storage_account" "storageaccount" {
//storage account name must be globally unique!
name = “storageacc123"
resource_group_name = "${azurerm_resource_group.testrg.name}"
location = “australiaeast"
account_tier = “standard"
account_replication_type = “LRS"
tags = {
environment = “production”
}}
Init
Plan
Apply
Destroy
Workflow Declaring Azure Resources
[Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기
3. 데모
[Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기
데모
• Terraform 인프라 코드 구현하기
• Terraform으로 ACR & AKS 배포하기
• Sprint Boot API: 컨테이너화
& ACR 업로드
• 컨테이너 배포 & APIM과 최종 확인
[Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기
4. 맺음말
[Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기
클라우드 네이티브, Microsoft + GitHub와 함께!
컨테이너화만 하면
클라우드 네이티브 & 확장성은 AKS에 맡긴다!
Terraform + Azure API Management 장점은 덤.
여러분께서 사용하시는 기술로, GitHub 최신 기술과
함께 자유롭게 & 맘껏 Azure에서 활용해보세요!
Resource: Kubernetes & AKS 관련 정보
Feedback on the roadmap? Tell us at https://aka.ms/aks/feedback
Kubernetes 101 Docs
aka.ms/ko-kr/LearnAKS
(한글 문서)
Best practices
aka.ms/ko-kr/aks/bestpractices
(한글 문서)
Hear from experts
aka.ms/k8s/lightboard
(Brendan Burns, Kubernetes
Founder)
Case studies
aka.ms/aks/casestudy
Microservices architecture
aka.ms/ko-kr/aks/microservices
(한글 문서)
Try for free
aka.ms/ko-kr/aks/trial
(12개월 체험 서비스)
[Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기
Thank you!

More Related Content

Similar to Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023

세션0_데보션테크데이_개회사_v1.0.pdf
세션0_데보션테크데이_개회사_v1.0.pdf세션0_데보션테크데이_개회사_v1.0.pdf
세션0_데보션테크데이_개회사_v1.0.pdfJaesuk Ahn
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기Amazon Web Services Korea
 
Deployment techniques for cloud native
Deployment techniques for cloud nativeDeployment techniques for cloud native
Deployment techniques for cloud nativeAlex Jeong
 
Nexclipper_1905_summary_kor
Nexclipper_1905_summary_korNexclipper_1905_summary_kor
Nexclipper_1905_summary_korJinyong Kim
 
[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...
[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...
[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...OpenStack Korea Community
 
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기Ian Choi
 
[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
 
Windows Kubernetes Deep Dive
Windows Kubernetes Deep DiveWindows Kubernetes Deep Dive
Windows Kubernetes Deep DiveJung Hyun Nam
 
명령 프롬프트, Azure CLI 2.0은 과연 코딩일까?
명령 프롬프트, Azure CLI 2.0은 과연 코딩일까?명령 프롬프트, Azure CLI 2.0은 과연 코딩일까?
명령 프롬프트, Azure CLI 2.0은 과연 코딩일까?Ian Choi
 
Open stack summit_barcelona_보고서
Open stack summit_barcelona_보고서Open stack summit_barcelona_보고서
Open stack summit_barcelona_보고서Yongyoon Shin
 
AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트:: AWS S...
AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트::  AWS S...AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트::  AWS S...
AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트:: AWS S...Amazon Web Services Korea
 
Spring cloud on kubernetes
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetesSangSun Park
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdfOpen Source Consulting
 
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online SeriesAmazon Web Services Korea
 
BRK3713 - Microsoft Azure에서 Windows와 Linux를 동시에 사용하는 하이브리드 Kubernetes 클러스터 구축
BRK3713 - Microsoft Azure에서 Windows와 Linux를 동시에 사용하는 하이브리드 Kubernetes 클러스터 구축BRK3713 - Microsoft Azure에서 Windows와 Linux를 동시에 사용하는 하이브리드 Kubernetes 클러스터 구축
BRK3713 - Microsoft Azure에서 Windows와 Linux를 동시에 사용하는 하이브리드 Kubernetes 클러스터 구축Jung Hyun Nam
 
Pivotal Cloud Foundry(PCF) 2.0 and Pivotal Container Service ( PKS ) 신혜원
Pivotal Cloud Foundry(PCF) 2.0 and Pivotal Container Service ( PKS ) 신혜원Pivotal Cloud Foundry(PCF) 2.0 and Pivotal Container Service ( PKS ) 신혜원
Pivotal Cloud Foundry(PCF) 2.0 and Pivotal Container Service ( PKS ) 신혜원VMware Tanzu Korea
 
AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트
AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트
AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트Amazon Web Services Korea
 
AWS Summit Seoul 2023 | AWS의 개발자를 위한 신규 서비스 소개 Amazon CodeCatalyst & Amazon C...
AWS Summit Seoul 2023 | AWS의 개발자를 위한 신규 서비스 소개 Amazon CodeCatalyst & Amazon C...AWS Summit Seoul 2023 | AWS의 개발자를 위한 신규 서비스 소개 Amazon CodeCatalyst & Amazon C...
AWS Summit Seoul 2023 | AWS의 개발자를 위한 신규 서비스 소개 Amazon CodeCatalyst & Amazon C...Amazon Web Services Korea
 
Openshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud NativeOpenshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud Nativerockplace
 
Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축rockplace
 

Similar to Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023 (20)

세션0_데보션테크데이_개회사_v1.0.pdf
세션0_데보션테크데이_개회사_v1.0.pdf세션0_데보션테크데이_개회사_v1.0.pdf
세션0_데보션테크데이_개회사_v1.0.pdf
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
 
Deployment techniques for cloud native
Deployment techniques for cloud nativeDeployment techniques for cloud native
Deployment techniques for cloud native
 
Nexclipper_1905_summary_kor
Nexclipper_1905_summary_korNexclipper_1905_summary_kor
Nexclipper_1905_summary_kor
 
[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...
[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...
[OpenInfra Days Korea 2018] K8s workshop: with containers & K8s on OpenStack ...
 
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
[OpenStack] 공개 소프트웨어 오픈스택 입문 & 파헤치기
 
[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 전략 및 사례
 
Windows Kubernetes Deep Dive
Windows Kubernetes Deep DiveWindows Kubernetes Deep Dive
Windows Kubernetes Deep Dive
 
명령 프롬프트, Azure CLI 2.0은 과연 코딩일까?
명령 프롬프트, Azure CLI 2.0은 과연 코딩일까?명령 프롬프트, Azure CLI 2.0은 과연 코딩일까?
명령 프롬프트, Azure CLI 2.0은 과연 코딩일까?
 
Open stack summit_barcelona_보고서
Open stack summit_barcelona_보고서Open stack summit_barcelona_보고서
Open stack summit_barcelona_보고서
 
AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트:: AWS S...
AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트::  AWS S...AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트::  AWS S...
AWS 관리형 서비스를 활용하여 Kubernetes 를 위한 Devops 환경 구축하기 - 김광영, AWS솔루션즈 아키텍트:: AWS S...
 
Spring cloud on kubernetes
Spring cloud on kubernetesSpring cloud on kubernetes
Spring cloud on kubernetes
 
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
[오픈테크넷서밋2022] 국내 PaaS(Kubernetes) Best Practice 및 DevOps 환경 구축 사례.pdf
 
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
데브옵스(DevOps) 문화 모범 사례와 구현 도구 살펴보기 – 박선준 :: AWS Builders Online Series
 
BRK3713 - Microsoft Azure에서 Windows와 Linux를 동시에 사용하는 하이브리드 Kubernetes 클러스터 구축
BRK3713 - Microsoft Azure에서 Windows와 Linux를 동시에 사용하는 하이브리드 Kubernetes 클러스터 구축BRK3713 - Microsoft Azure에서 Windows와 Linux를 동시에 사용하는 하이브리드 Kubernetes 클러스터 구축
BRK3713 - Microsoft Azure에서 Windows와 Linux를 동시에 사용하는 하이브리드 Kubernetes 클러스터 구축
 
Pivotal Cloud Foundry(PCF) 2.0 and Pivotal Container Service ( PKS ) 신혜원
Pivotal Cloud Foundry(PCF) 2.0 and Pivotal Container Service ( PKS ) 신혜원Pivotal Cloud Foundry(PCF) 2.0 and Pivotal Container Service ( PKS ) 신혜원
Pivotal Cloud Foundry(PCF) 2.0 and Pivotal Container Service ( PKS ) 신혜원
 
AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트
AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트
AWS re:Invent 2018 콘테이너 신규 서비스 기능 살펴보기 - 윤석찬, AWS 테크에반젤리스트
 
AWS Summit Seoul 2023 | AWS의 개발자를 위한 신규 서비스 소개 Amazon CodeCatalyst & Amazon C...
AWS Summit Seoul 2023 | AWS의 개발자를 위한 신규 서비스 소개 Amazon CodeCatalyst & Amazon C...AWS Summit Seoul 2023 | AWS의 개발자를 위한 신규 서비스 소개 Amazon CodeCatalyst & Amazon C...
AWS Summit Seoul 2023 | AWS의 개발자를 위한 신규 서비스 소개 Amazon CodeCatalyst & Amazon C...
 
Openshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud NativeOpenshift 활용을 위한 Application의 준비, Cloud Native
Openshift 활용을 위한 Application의 준비, Cloud Native
 
Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축
Azure Red Hat OpenShift 를 통한 더 빠르고 쉬운 애플리케이션 구축
 

More from Ian Choi

클라우드 컴퓨팅 기본 사항 (Fundamentals)
클라우드 컴퓨팅 기본 사항 (Fundamentals)클라우드 컴퓨팅 기본 사항 (Fundamentals)
클라우드 컴퓨팅 기본 사항 (Fundamentals)Ian Choi
 
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요Ian Choi
 
마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)
마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)
마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)Ian Choi
 
Evolving Translation and Internationalization in OpenStack & Kubernetes commu...
Evolving Translation and Internationalization in OpenStack & Kubernetes commu...Evolving Translation and Internationalization in OpenStack & Kubernetes commu...
Evolving Translation and Internationalization in OpenStack & Kubernetes commu...Ian Choi
 
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개Ian Choi
 
오픈 소스 프로그래밍 - NoSQL with Python
오픈 소스 프로그래밍 - NoSQL with Python오픈 소스 프로그래밍 - NoSQL with Python
오픈 소스 프로그래밍 - NoSQL with PythonIan Choi
 
Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)
Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)
Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)Ian Choi
 
OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...
OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...
OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...Ian Choi
 
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...Ian Choi
 
Microsoft loves communities - Korea DevRel Team
Microsoft loves communities - Korea DevRel TeamMicrosoft loves communities - Korea DevRel Team
Microsoft loves communities - Korea DevRel TeamIan Choi
 
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴Ian Choi
 
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우Ian Choi
 
[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용Ian Choi
 
[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션
[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션
[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션Ian Choi
 
[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력
[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력
[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력Ian Choi
 
OpenStack 2018 Vancouver Summit 후기
OpenStack 2018 Vancouver Summit 후기OpenStack 2018 Vancouver Summit 후기
OpenStack 2018 Vancouver Summit 후기Ian Choi
 
"docs.microsoft.com"에 기여하기
"docs.microsoft.com"에 기여하기"docs.microsoft.com"에 기여하기
"docs.microsoft.com"에 기여하기Ian Choi
 
[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례
[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례
[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례Ian Choi
 
Launchpad 활용 사례 in OpenStack: 다루어본 Bug & Blueprint를 중심으로
Launchpad 활용 사례 in OpenStack: 다루어본 Bug & Blueprint를 중심으로Launchpad 활용 사례 in OpenStack: 다루어본 Bug & Blueprint를 중심으로
Launchpad 활용 사례 in OpenStack: 다루어본 Bug & Blueprint를 중심으로Ian Choi
 
OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드
OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드
OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드Ian Choi
 

More from Ian Choi (20)

클라우드 컴퓨팅 기본 사항 (Fundamentals)
클라우드 컴퓨팅 기본 사항 (Fundamentals)클라우드 컴퓨팅 기본 사항 (Fundamentals)
클라우드 컴퓨팅 기본 사항 (Fundamentals)
 
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
 
마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)
마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)
마이크로소프트 애저 및 클라우드 트렌드 소개 (부제: Beyond IaaS)
 
Evolving Translation and Internationalization in OpenStack & Kubernetes commu...
Evolving Translation and Internationalization in OpenStack & Kubernetes commu...Evolving Translation and Internationalization in OpenStack & Kubernetes commu...
Evolving Translation and Internationalization in OpenStack & Kubernetes commu...
 
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개
쿠버네티스 오픈 소스와 클라우드 매니지드 서비스 접점 소개
 
오픈 소스 프로그래밍 - NoSQL with Python
오픈 소스 프로그래밍 - NoSQL with Python오픈 소스 프로그래밍 - NoSQL with Python
오픈 소스 프로그래밍 - NoSQL with Python
 
Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)
Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)
Azure 클라우드 학생 계정 & Ubuntu VM 셋업 (Mar 2022)
 
OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...
OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...
OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...
 
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...
 
Microsoft loves communities - Korea DevRel Team
Microsoft loves communities - Korea DevRel TeamMicrosoft loves communities - Korea DevRel Team
Microsoft loves communities - Korea DevRel Team
 
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
 
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
 
[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용
 
[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션
[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션
[2018 KOSSLAB 컨트리뷰톤] 오픈스택 (OpenStack) 프로젝트 소개 + 업스트림 컨트리뷰션
 
[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력
[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력
[2018 공개SW그랜드챌린지] 오픈 인프라와 오픈 커뮤니티에서의 협력
 
OpenStack 2018 Vancouver Summit 후기
OpenStack 2018 Vancouver Summit 후기OpenStack 2018 Vancouver Summit 후기
OpenStack 2018 Vancouver Summit 후기
 
"docs.microsoft.com"에 기여하기
"docs.microsoft.com"에 기여하기"docs.microsoft.com"에 기여하기
"docs.microsoft.com"에 기여하기
 
[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례
[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례
[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례
 
Launchpad 활용 사례 in OpenStack: 다루어본 Bug & Blueprint를 중심으로
Launchpad 활용 사례 in OpenStack: 다루어본 Bug & Blueprint를 중심으로Launchpad 활용 사례 in OpenStack: 다루어본 Bug & Blueprint를 중심으로
Launchpad 활용 사례 in OpenStack: 다루어본 Bug & Blueprint를 중심으로
 
OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드
OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드
OpenStack을 중심으로 한 오픈 소스 & 상용 하이브리드 클라우드
 

Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023

  • 1. [Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기 Ship it! ⛴️ AKS에 스프링 앱 배포하기 한국마이크로소프트 최영락 매니저 May 2023
  • 2. [Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기 Ian Choi (최영락) • 2022. 7. ~ (Current): Azure SMC Channel Sales Manager at Microsoft Korea • 2018. 11. ~ 2022. 6: Developer Product Marketing Manager (a.k.a. Field Developer Relations) at Microsoft APAC • Loves “Developer Communities” ✓ Microsoft ex-MVP: Cloud & Datacenter Management (July 2016 – Oct 2018) ✓ OpenStack (Internationalization Project Team / SIG Lead, TC / PTL Election Official, Korea Community Leader in 2017-2019) ✓ K8s – Docs L10n: Korean reviewer, Meta Developer Circle – Seoul Lead, … @ianychoi
  • 3. [Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기 목차 1. 클라우드 네이티브 & Microsoft Azure 2. 스프링 앱, AKS (Azure Kubernetes Service)에 Ship it! ⛴️ 3. 데모 4. 맺음말
  • 4. [Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기 1. 클라우드 네이티브 & Microsoft Azure
  • 5. [Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기 클라우드 네이티브를 향한 고민 클라우드(!=구름) 네이티브(!=타고난) 컨테이너(!=선적) Cloud Cloud Native Kubernetes Innovation Modernization DevOps Digital Transformation Containers Serverless Event-driven
  • 6. Azure 클라우드 적용을 해 나가는 4가지 단계 1.Lift& Shift 2. Refactoring 3. Rearchitecting 4.Rebuild/New
  • 7.
  • 8. 클라우드 네이티브 Package application code and dependencies in containers, deploy as microservices and manage them using DevOps processes and tools Microservices Containers DevOps APIs Functions
  • 9. 클라우드 네이티브에 대해 “클라우드“에서의 경험 → 확장 가능한 응용 프로그램 • 클라우드에서의 경험 • Scaling up/down, auto-scaling, … • 확장 가능한 응용 프로그램 • 마이크로서비스 클라우드 네이티브 기술은 조직이 퍼블릭, 프라이 빗, 그리고 하이브리드 클라우드와 같은 현대적이 고 동적인 환경에서 확장 가능한 애플리케이션을 개발하고 실행할 수 있게 해준다. 컨테이너, 서비 스 메쉬, 마이크로서비스, 불변(Immutable) 인프 라, 그리고 선언형(Declarative) API가 이러한 접 근 방식의 예시들이다. • 주요 기술 • Containers & Kubernetes를 통한 경량화 (VM 보다) • Serverless를 통한 확장성 이점 • API를 잘 활용하여 서비스 간 독립적으로 개발 • DevOps를 통한 개발 – 운영 단계 가속화 • 마이크로서비스 아키텍처로의 발전 Cloud native technologies empower organizations to build and run scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.
  • 10. Kubernetes(k8s)란? Kubernetes: “컨테이너화된 응용 프로그램에 대한 자동화된 배포, 확장, 그리고 관리를 위한 오픈 소스 소프트웨어” 그리스어로 κυβερνήτης 입니다 – 배에 있는 키잡이 (Helmsman)를 의미합니다. Docker 컨테이너가 항구/해안을 테마로 했던 것과 비슷하게, Kubernetes는 컨테이너가 실어지는 배 운항을 담당하는 항해사를 테마로 합니다.. History (짧은 역사) Google에서 Borg를 오픈 소스화 + 지속적인 기여 중 Kubernetes v1.0: 2015년 7월 21일 릴리즈 (Founder: Joe Beda, Brendan Burns Craig McLuckie) GitHub를 메인 저장 공간으로 사용 중. 기여자: >1,700; 매 3-6개월마다 릴리즈 중 Kubernetes 관련 자세한 배경 & 아이디어: Large-scale cluster management at Google with Borg 논문 참고
  • 11. 2016년 7월, Kubernetes Founder 중 1명인 Brendan Burns, 마이크로소프트로 (이후 정말 많은 변화가…) 기존 WebApp에 대한 컨테이너 지원, IoT, 머신 러닝 서비스 컨테이너 지원 + 쉬운 쿠버네티스 연동 등 컨테이너 환경에 최적인 “Azure” 클라우드로 거듭남 Container Linux Windows
  • 12. Azure와 앱 혁신 & 클라우드 네이티브로 향하는 여정 제어 (Control) 생산성 VMs Azure Virtual Machines Containers Azure Kubernetes Service | Azure Red Hat OpenShift PaaS/Serverless App Service | Functions | Spring Apps | Container Apps Low code Power Apps | AI Builder Azure Services Managed databases Azure SQL Database | PostgreSQL | MySQL | Cosmos DB DevOps GitHub | Azure DevOps | VS Code Azure | Azure Arc | Azure Stack
  • 13. [Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기 2. 스프링 앱, AKS (Azure Kubernetes Service)에 Ship it! ⛴️
  • 14. [Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기 이전 발표에서 보셨던 기본 아키텍처
  • 15. [Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기 이번 시간에 선보이고자 하는 기본 아키텍처 React App on Azure Static Web Apps Azure API Management Spring Boot API on Azure Kubernetes Service Azure OpenAI Service (Using Terraform instead of Bicep) Azure Container Registry for containerized Spring Boot API
  • 16. Azure에서 지원하는 쿠버네티스 (Kubernetes) 엔터프라이즈 급을 염두하고 설계 커뮤니티 CNCF platinum member CNCF technicaloversight committee CNCF governing board Kubernetes steering committee LinuxFoundation board member Microsoft is part of this vibrant communityand leads in theassociated committees to help shape thefuture ofKubernetesand its ecosystem 개발 도구 Azure Container Registry Azure Monitor GitHub Visual Studio Code 플랫폼 Azure Kubernetes Service Azure Red Hat OpenShift Azure Container Instances Azure Arc Management across environments Active Directory Azure Policy Security Center Key Vault Azure Advisor Bridge to Kubernetes
  • 17. [Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기 Azure 인프라를 다루는 코드 with Terraform • Hashicorp Configuration Language (or HCL)로 인프라를 다루는 코드를 작성 • 상태 (State)를 기반으로 하며, Azure를 포함한 여러 클라우드를 지원 resource “azurerm_resource_group” “testrg” { name = “storagergtest” location = “australiaeast” } resource "azurerm_storage_account" "storageaccount" { //storage account name must be globally unique! name = “storageacc123" resource_group_name = "${azurerm_resource_group.testrg.name}" location = “australiaeast" account_tier = “standard" account_replication_type = “LRS" tags = { environment = “production” }} Init Plan Apply Destroy Workflow Declaring Azure Resources
  • 18. [Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기 3. 데모
  • 19. [Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기 데모 • Terraform 인프라 코드 구현하기 • Terraform으로 ACR & AKS 배포하기 • Sprint Boot API: 컨테이너화 & ACR 업로드 • 컨테이너 배포 & APIM과 최종 확인
  • 20. [Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기 4. 맺음말
  • 21. [Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기 클라우드 네이티브, Microsoft + GitHub와 함께! 컨테이너화만 하면 클라우드 네이티브 & 확장성은 AKS에 맡긴다! Terraform + Azure API Management 장점은 덤. 여러분께서 사용하시는 기술로, GitHub 최신 기술과 함께 자유롭게 & 맘껏 Azure에서 활용해보세요!
  • 22. Resource: Kubernetes & AKS 관련 정보 Feedback on the roadmap? Tell us at https://aka.ms/aks/feedback Kubernetes 101 Docs aka.ms/ko-kr/LearnAKS (한글 문서) Best practices aka.ms/ko-kr/aks/bestpractices (한글 문서) Hear from experts aka.ms/k8s/lightboard (Brendan Burns, Kubernetes Founder) Case studies aka.ms/aks/casestudy Microservices architecture aka.ms/ko-kr/aks/microservices (한글 문서) Try for free aka.ms/ko-kr/aks/trial (12개월 체험 서비스)
  • 23. [Microsoft X GitHub Roadshow 2023] Ship it! ⛴️ AKS에 스프링 앱 배포하기 Thank you!