SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Azure WebApp 개념원리
2017-01-14
김영재
youngjae@bapul.net
저는요
• 바풀 기술총괄
• 100% Azure에서 동작
• Azure MVP (2014~)
• 대부분의 시간
• C#
• Android
• Python
• Azure
• 커피
• 맥주
잠깐 책 소개
•책 난이도 ★ ★☆☆☆
•무작정 따라하기 형식
• 스크린샷 많음
• 얼마나 팔린지 모름
번역이 재미있어졌다
• 최신 기술 – Event Sourcing 처음 적용하기
• 최신 기술 – CQRS 처음 도입하기
• 최신 기술 – 이력을 기록하는 CRUD 구현하기 1부
• 최신 기술 – 이력을 기록하는 CRUD 구현하기 2부
• Microsoft Azure – Azure Service Fabric, 그리고 마이크로서비스 아키텍처
• 위 모든 내용은 블로그에 있습니다  http://youngjaekim.wordpress.com
• 번역 관련 서적 추천
• 번역의 탄생
• 갈등하는 번역
• 검색, 사전을 삼키다
시작합니다 – Azure WebApp
Demo
Azure WebApp + Flask: https://github.com/YoungjaeKim/AzureFlaskDemo
눈 여겨볼 부분
• 예쁘다
• 블레이드(Blade)라는 단위로 GUI가 펼쳐진다
• App Service Plan
• Free/Basic/Standard/Premium
• GitHub 자동 동기화(sync) 및 배포
• Logging: Filesystem / Blob
• x86 / x64
• Extensions (확장 기능)
• AlwaysOn
• 브라우저 내에서 콘솔과 파일 작업
• Application Insights
Azure WebApp = PaaS (Platform-as-a-
Service)• PaaS 덕후 Azure
• 이제 Virtual Machine (VM)은 그만~
• PaaS의 덕목
• 프로그램과 시스템의 격리 isolation
• 더 빠른 장애 대응
• 정책적으로도 더 빠르게 복구함
• 철학
• 시스템 운영에 멀어지게 + 코드와 로직에만 집중하게
• 생산성
Azure
기본구조
앱 서비스 계획: 인스턴스1
Web App 1: Azure-Demo
Logic App: Example1
…
Web App 2: Azure-Saturday
Load
Balancer
앱 서비스 계획: 인스턴스2
(위와 같음)
사용자
앱 서비스와 아이들
• App Service: 개별 프로세스
- ~ Plan: 한 개의 서버에 다 담을 수 있음
 가격은 서버 1대만!
- Web App: 프론트엔드
- WebJobs: Web App의 은밀한 보조
- Api App: Swagger 쓸 때 편함
- Logic App: 각종 integration 전용
- Function: WebJob을 꾸려서 만든
Serverless (Lambda보다 간편함)
- Mobile App: 푸시/SocialLogin/테이블
(저는 권장하지 않습니다)
앱 서비스 계획/앱 서비스의 옵션
• Plan: Free / Shared / Basic / Standard / Premium
• 기능 별 차이
• Scale Up: Small / Medium / Large
• 성능 별 차이
• Scale Out: 1~50
• 인스턴스 개수 차이
• 주의: 앱서비스와 앱서비스 계획은 다르다
• Scale Up/Out: 앱 서비스 계획
• Plan: 앱 서비스
앱 서비스 계획/앱 서비스의 옵션
https://azure.microsoft.com/ko-kr/pricing/details/app-service/plans/
눈 여겨볼 부분 중간점검
• 예쁘다
• 블레이드(Blade)라는 단위로 GUI가 펼쳐진다
• App Service Plan
• Free/Basic/Standard/Premium
• GitHub 자동 동기화(sync) 및 배포
• Logging: Filesystem / Blob
• x86 / x64
• Extensions (확장 기능)
• AlwaysOn
• 브라우저 내에서 콘솔과 파일 작업
• Application Insights
Demo – GitHub 자동 동기화
Sync
여담: GitHub 배포에 에러가 날 때도 있
더라
GitHub.com 장애 자동배포 장애
내부 구조
• 전형적인 WAS (Web Application Server) 그 자체
• Advanced Tools > GO 클릭 > Environment
• SERVER_SOFTWARE=Microsoft-IIS/8.0
• 앱 프로세스별 소비량 확인: Metrics per Instance (App Service plan) 에서 토글
• Filesystem: 언제든 사라질 수 있음
• 로그를 FileSystem에 저장하면 사라질 수 있음
• 대안은?  Blob(Azure Storage)으로 설정
• 다양한 Extension 제공
• 프로그램이 설치된 후 경로를 지정하여 사용
• 과정이 명확해서 문제 파악에 좋음
Disk
OS
WAS
Process
없어질 수 있음
자유로운 확장
명확히 구분함
Always On?
• 기본(Basic tier) 이상에서만 켤 수 있음
• 20분 후 리사이클되는 것을 방지
• Azure Scheduler를 이용한 꼼수 가능
• 10분에 한번씩 GET을 보냄
눈 여겨볼 부분 중간점검
• 예쁘다
• 블레이드(Blade)라는 단위로 GUI가 펼쳐진다
• App Service Plan
• Free/Basic/Standard/Premium
• GitHub 자동 동기화(sync) 및 배포
• Logging: Filesystem / Blob
• x86 / x64
• Extensions (확장 기능)
• Always On
• 브라우저 내에서 콘솔과 파일 작업
• Application Insights
Application Insights
• Azure에서 제공하는 APM (Application Performance Management) 서비스
• 유사 서비스: NewRelic, LeanSentry
• 깊은 모니터링과 얕은 모니터링 가능
• 얕은 모니터링: 트래픽, 속도, 장애여부 등
• 깊은 모니터링: endpoint 별 퍼포먼스, 전체 구조 등
Demo – C#
C# 쓰면 좋은가?
번외편
Logic App 예시
• Logic App + Azure Scheduler
• 지정한 주소에 1분마다 GET을 수행하고 결과를 Logic App으로 보냄
• Logic App은 Slack Integration을 이용해서 메시지를 줌.
• 통계를 위해 특정 주소에 같은 내용의 이메일도 보냄.
 이 정도 쯤은 코딩 하나 없이 가능!
어떻게 기술을 선택하는가
나는 왜 Azure를 선택했나
클라우드의 콩라인: Azure [애저]
• 규모: AWS >>> Azure >>>> GCP
• 그런데 왜 쓰나
• VM과는 다르다! VM과는!
• 가장 많은 리전 (서울도 올해! 상반기 런칭!)
• PaaS: Platform-as-a-Service
• 다른건? IaaS (Infrastructure), Saas (Software)
• 바로풀기
• (아마도) 최초로 100% PaaS로 동작하는 온라인서비스
• 서버관리 필요 없습니다. 코드만 짜서 push하면 됩니다.
• 장애 대응도 빠름: 시스템 부팅 없음.
개념의 차이  설계의 차이
• AWS
• 각 콤포넌트의 구성과 결합에 초점
• 인프라 덕후
• 단점: 넌 너무 VM 중심이야
• Azure
• 플랫폼 위의 코드 구현에 초점
• 생산성 덕후
• 단점: C# > Node.js > Java, Python
• GCP
• 제공하는 API 사용에 초점
• 서비스 덕후
• 단점: 장애 대응에 커뮤니케이션이 거의 없음
Thank you

Weitere ähnliche Inhalte

Was ist angesagt?

HB Smith에서는 AWS 이렇게 사용한다
HB Smith에서는 AWS 이렇게 사용한다HB Smith에서는 AWS 이렇게 사용한다
HB Smith에서는 AWS 이렇게 사용한다
Jongwon Han
 
AWS Summit - AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD, CI) ᄉ...
AWS Summit - AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD, CI) ᄉ...AWS Summit - AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD, CI) ᄉ...
AWS Summit - AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD, CI) ᄉ...
Jongwon Han
 

Was ist angesagt? (20)

스타트업과 개발자를 위한 AWS 클라우드 태권 세미나 : VCNC 사례 발표
스타트업과 개발자를 위한 AWS 클라우드 태권 세미나 : VCNC 사례 발표스타트업과 개발자를 위한 AWS 클라우드 태권 세미나 : VCNC 사례 발표
스타트업과 개발자를 위한 AWS 클라우드 태권 세미나 : VCNC 사례 발표
 
알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디
알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디
알람몬으로 알아보는 Node.js 트러블 슈팅 케이스 스터디
 
ALB+EC2 to API gateway + Lambda
ALB+EC2 to API gateway + LambdaALB+EC2 to API gateway + Lambda
ALB+EC2 to API gateway + Lambda
 
Amazon web service를 활용한 모바일 게임 서버 개발 퍼즐 주주의 사례를 중심으로
Amazon web service를 활용한 모바일 게임 서버 개발   퍼즐 주주의 사례를 중심으로Amazon web service를 활용한 모바일 게임 서버 개발   퍼즐 주주의 사례를 중심으로
Amazon web service를 활용한 모바일 게임 서버 개발 퍼즐 주주의 사례를 중심으로
 
Project TIMAT - infrastructure as code
Project TIMAT - infrastructure as codeProject TIMAT - infrastructure as code
Project TIMAT - infrastructure as code
 
2. microsoft azure 클라우드 및 쉐어포인트 포탈 소개
2. microsoft azure 클라우드 및 쉐어포인트 포탈 소개2. microsoft azure 클라우드 및 쉐어포인트 포탈 소개
2. microsoft azure 클라우드 및 쉐어포인트 포탈 소개
 
한국 중소기업 개발자의 AWS 사용방법
한국 중소기업 개발자의 AWS 사용방법한국 중소기업 개발자의 AWS 사용방법
한국 중소기업 개발자의 AWS 사용방법
 
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
[Gaming on AWS] AWS와 함께 한 쿠키런 서버 Re-architecting 사례 - 데브시스터즈
 
HB Smith에서는 AWS 이렇게 사용한다
HB Smith에서는 AWS 이렇게 사용한다HB Smith에서는 AWS 이렇게 사용한다
HB Smith에서는 AWS 이렇게 사용한다
 
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
 
클라우드 춘추전국시대 서버 개발자 생존기
클라우드 춘추전국시대 서버 개발자 생존기클라우드 춘추전국시대 서버 개발자 생존기
클라우드 춘추전국시대 서버 개발자 생존기
 
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
아마존 클라우드와 함께한 1개월, 쿠키런 사례중심 (KGC 2013)
 
AWS Summit - AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD, CI) ᄉ...
AWS Summit - AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD, CI) ᄉ...AWS Summit - AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD, CI) ᄉ...
AWS Summit - AWS를 통한 신뢰성 높은 지속적 배포 및 통합(CD, CI) ᄉ...
 
Docker와 DevOps에서 Serverless와 NoOps로의 여정
Docker와 DevOps에서 Serverless와 NoOps로의 여정Docker와 DevOps에서 Serverless와 NoOps로의 여정
Docker와 DevOps에서 Serverless와 NoOps로의 여정
 
AWS Lambda를 이용한 CI/CD 기법
AWS Lambda를 이용한 CI/CD 기법AWS Lambda를 이용한 CI/CD 기법
AWS Lambda를 이용한 CI/CD 기법
 
AWS Lambdas with a Static Outgoing IP
AWS Lambdas with a Static Outgoing IPAWS Lambdas with a Static Outgoing IP
AWS Lambdas with a Static Outgoing IP
 
NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀NDC 11 자이언트 서버의 비밀
NDC 11 자이언트 서버의 비밀
 
RDS에서 Aurora PostgreSQL Migration한 후기
RDS에서 Aurora PostgreSQL Migration한 후기RDS에서 Aurora PostgreSQL Migration한 후기
RDS에서 Aurora PostgreSQL Migration한 후기
 
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
 
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020 스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
스푼라디오 일본에서 한국으로 이전하기 - 최상기 (마이쿤) :: AWS Community Day 2020
 

Andere mochten auch

Portfolio: Learning Community
Portfolio: Learning CommunityPortfolio: Learning Community
Portfolio: Learning Community
lala1746
 
лисаковск мастер класс по одаренным
лисаковск мастер   класс по одареннымлисаковск мастер   класс по одаренным
лисаковск мастер класс по одаренным
Акмарал Алдаберген
 
Portfolio: Curriculum 1
Portfolio: Curriculum 1Portfolio: Curriculum 1
Portfolio: Curriculum 1
lala1746
 
Specail education josh yudell
Specail education josh yudellSpecail education josh yudell
Specail education josh yudell
Josh Yudell
 
Chapter 3 lc bus conflict in workplace
Chapter 3 lc bus conflict in workplaceChapter 3 lc bus conflict in workplace
Chapter 3 lc bus conflict in workplace
Dave Dempsey
 

Andere mochten auch (17)

Special education josh yudell
Special education josh yudellSpecial education josh yudell
Special education josh yudell
 
Portfolio: Learning Community
Portfolio: Learning CommunityPortfolio: Learning Community
Portfolio: Learning Community
 
лисаковск мастер класс по одаренным
лисаковск мастер   класс по одареннымлисаковск мастер   класс по одаренным
лисаковск мастер класс по одаренным
 
Special education josh yudell
Special education josh yudellSpecial education josh yudell
Special education josh yudell
 
Pp
PpPp
Pp
 
Millennial Donors: The NextGen Impact on Charitable Giving in the Arts
Millennial Donors: The NextGen Impact on Charitable Giving in the ArtsMillennial Donors: The NextGen Impact on Charitable Giving in the Arts
Millennial Donors: The NextGen Impact on Charitable Giving in the Arts
 
συντηρηση τροφιμων
συντηρηση τροφιμωνσυντηρηση τροφιμων
συντηρηση τροφιμων
 
Microsoft Azure를 통한 Push와 DB 이용방법
Microsoft Azure를 통한 Push와 DB 이용방법Microsoft Azure를 통한 Push와 DB 이용방법
Microsoft Azure를 통한 Push와 DB 이용방법
 
Portfolio: Curriculum 1
Portfolio: Curriculum 1Portfolio: Curriculum 1
Portfolio: Curriculum 1
 
Specail education josh yudell
Specail education josh yudellSpecail education josh yudell
Specail education josh yudell
 
Chapter 3 lc bus conflict in workplace
Chapter 3 lc bus conflict in workplaceChapter 3 lc bus conflict in workplace
Chapter 3 lc bus conflict in workplace
 
Difference between say speak talk tell
Difference between say speak talk tellDifference between say speak talk tell
Difference between say speak talk tell
 
Using Microsoft Azure as cloud file server
Using Microsoft Azure as cloud file serverUsing Microsoft Azure as cloud file server
Using Microsoft Azure as cloud file server
 
Made for Each Other: Microservices + PaaS
Made for Each Other: Microservices + PaaSMade for Each Other: Microservices + PaaS
Made for Each Other: Microservices + PaaS
 
Event source 학습 내용 공유
Event source 학습 내용 공유Event source 학습 내용 공유
Event source 학습 내용 공유
 
Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps ...
Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps ...Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps ...
Achieve business agility with Cloud APIs, Cloud-aware Apps, and Cloud DevOps ...
 
Spark machine learning & deep learning
Spark machine learning & deep learningSpark machine learning & deep learning
Spark machine learning & deep learning
 

Ähnlich wie Saturday Azure Live 1701 Azure WebApp 개념원리

[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
Sang Don Kim
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
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
 
SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016
SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016
SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016
Amazon Web Services Korea
 
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
Sang Don Kim
 

Ähnlich wie Saturday Azure Live 1701 Azure WebApp 개념원리 (20)

[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
[Td 2015]개발하기 바쁜데 푸시서버와 메시지큐는 있는거 쓸래요(김영재)
 
코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개코드로 인프라 관리하기 - 자동화 툴 소개
코드로 인프라 관리하기 - 자동화 툴 소개
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
 
designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
 
Golang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchainGolang+on+analytics+and+blockchain
Golang+on+analytics+and+blockchain
 
bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포
 
Intro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_sIntro to hpe helion stackato_paa_s
Intro to hpe helion stackato_paa_s
 
Open standard open cloud engine (3)
Open standard open cloud engine (3)Open standard open cloud engine (3)
Open standard open cloud engine (3)
 
Oce products and services
Oce products and servicesOce products and services
Oce products and services
 
VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리
 
DevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle DeveloperDevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle Developer
 
SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016
SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016
SBS 콘텐츠허브의 AWS 도입 사례 :: SBS 콘텐츠허브 :: AWS Media Day 2016
 
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
 
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
[Td 2015]구름 위로 올려 어느 곳에서든 연결되는 서비스 azure 앱 서비스(이종인)
 
웹:앱 기술 동향
웹:앱 기술 동향웹:앱 기술 동향
웹:앱 기술 동향
 
regular.express 발표자료
regular.express 발표자료regular.express 발표자료
regular.express 발표자료
 

Kürzlich hochgeladen

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
Wonjun Hwang
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
Wonjun Hwang
 

Kürzlich hochgeladen (6)

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 ...
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
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)
 
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
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 

Saturday Azure Live 1701 Azure WebApp 개념원리

  • 2. 저는요 • 바풀 기술총괄 • 100% Azure에서 동작 • Azure MVP (2014~) • 대부분의 시간 • C# • Android • Python • Azure • 커피 • 맥주
  • 3. 잠깐 책 소개 •책 난이도 ★ ★☆☆☆ •무작정 따라하기 형식 • 스크린샷 많음 • 얼마나 팔린지 모름
  • 4. 번역이 재미있어졌다 • 최신 기술 – Event Sourcing 처음 적용하기 • 최신 기술 – CQRS 처음 도입하기 • 최신 기술 – 이력을 기록하는 CRUD 구현하기 1부 • 최신 기술 – 이력을 기록하는 CRUD 구현하기 2부 • Microsoft Azure – Azure Service Fabric, 그리고 마이크로서비스 아키텍처 • 위 모든 내용은 블로그에 있습니다  http://youngjaekim.wordpress.com • 번역 관련 서적 추천 • 번역의 탄생 • 갈등하는 번역 • 검색, 사전을 삼키다
  • 6. Demo Azure WebApp + Flask: https://github.com/YoungjaeKim/AzureFlaskDemo
  • 7. 눈 여겨볼 부분 • 예쁘다 • 블레이드(Blade)라는 단위로 GUI가 펼쳐진다 • App Service Plan • Free/Basic/Standard/Premium • GitHub 자동 동기화(sync) 및 배포 • Logging: Filesystem / Blob • x86 / x64 • Extensions (확장 기능) • AlwaysOn • 브라우저 내에서 콘솔과 파일 작업 • Application Insights
  • 8. Azure WebApp = PaaS (Platform-as-a- Service)• PaaS 덕후 Azure • 이제 Virtual Machine (VM)은 그만~ • PaaS의 덕목 • 프로그램과 시스템의 격리 isolation • 더 빠른 장애 대응 • 정책적으로도 더 빠르게 복구함 • 철학 • 시스템 운영에 멀어지게 + 코드와 로직에만 집중하게 • 생산성
  • 9. Azure 기본구조 앱 서비스 계획: 인스턴스1 Web App 1: Azure-Demo Logic App: Example1 … Web App 2: Azure-Saturday Load Balancer 앱 서비스 계획: 인스턴스2 (위와 같음) 사용자
  • 10. 앱 서비스와 아이들 • App Service: 개별 프로세스 - ~ Plan: 한 개의 서버에 다 담을 수 있음  가격은 서버 1대만! - Web App: 프론트엔드 - WebJobs: Web App의 은밀한 보조 - Api App: Swagger 쓸 때 편함 - Logic App: 각종 integration 전용 - Function: WebJob을 꾸려서 만든 Serverless (Lambda보다 간편함) - Mobile App: 푸시/SocialLogin/테이블 (저는 권장하지 않습니다)
  • 11. 앱 서비스 계획/앱 서비스의 옵션 • Plan: Free / Shared / Basic / Standard / Premium • 기능 별 차이 • Scale Up: Small / Medium / Large • 성능 별 차이 • Scale Out: 1~50 • 인스턴스 개수 차이 • 주의: 앱서비스와 앱서비스 계획은 다르다 • Scale Up/Out: 앱 서비스 계획 • Plan: 앱 서비스
  • 12. 앱 서비스 계획/앱 서비스의 옵션 https://azure.microsoft.com/ko-kr/pricing/details/app-service/plans/
  • 13. 눈 여겨볼 부분 중간점검 • 예쁘다 • 블레이드(Blade)라는 단위로 GUI가 펼쳐진다 • App Service Plan • Free/Basic/Standard/Premium • GitHub 자동 동기화(sync) 및 배포 • Logging: Filesystem / Blob • x86 / x64 • Extensions (확장 기능) • AlwaysOn • 브라우저 내에서 콘솔과 파일 작업 • Application Insights
  • 14. Demo – GitHub 자동 동기화 Sync
  • 15. 여담: GitHub 배포에 에러가 날 때도 있 더라 GitHub.com 장애 자동배포 장애
  • 16. 내부 구조 • 전형적인 WAS (Web Application Server) 그 자체 • Advanced Tools > GO 클릭 > Environment • SERVER_SOFTWARE=Microsoft-IIS/8.0 • 앱 프로세스별 소비량 확인: Metrics per Instance (App Service plan) 에서 토글 • Filesystem: 언제든 사라질 수 있음 • 로그를 FileSystem에 저장하면 사라질 수 있음 • 대안은?  Blob(Azure Storage)으로 설정 • 다양한 Extension 제공 • 프로그램이 설치된 후 경로를 지정하여 사용 • 과정이 명확해서 문제 파악에 좋음 Disk OS WAS Process 없어질 수 있음 자유로운 확장 명확히 구분함
  • 17. Always On? • 기본(Basic tier) 이상에서만 켤 수 있음 • 20분 후 리사이클되는 것을 방지 • Azure Scheduler를 이용한 꼼수 가능 • 10분에 한번씩 GET을 보냄
  • 18. 눈 여겨볼 부분 중간점검 • 예쁘다 • 블레이드(Blade)라는 단위로 GUI가 펼쳐진다 • App Service Plan • Free/Basic/Standard/Premium • GitHub 자동 동기화(sync) 및 배포 • Logging: Filesystem / Blob • x86 / x64 • Extensions (확장 기능) • Always On • 브라우저 내에서 콘솔과 파일 작업 • Application Insights
  • 19. Application Insights • Azure에서 제공하는 APM (Application Performance Management) 서비스 • 유사 서비스: NewRelic, LeanSentry • 깊은 모니터링과 얕은 모니터링 가능 • 얕은 모니터링: 트래픽, 속도, 장애여부 등 • 깊은 모니터링: endpoint 별 퍼포먼스, 전체 구조 등
  • 20. Demo – C# C# 쓰면 좋은가?
  • 22. Logic App 예시 • Logic App + Azure Scheduler • 지정한 주소에 1분마다 GET을 수행하고 결과를 Logic App으로 보냄 • Logic App은 Slack Integration을 이용해서 메시지를 줌. • 통계를 위해 특정 주소에 같은 내용의 이메일도 보냄.  이 정도 쯤은 코딩 하나 없이 가능!
  • 23. 어떻게 기술을 선택하는가 나는 왜 Azure를 선택했나
  • 24. 클라우드의 콩라인: Azure [애저] • 규모: AWS >>> Azure >>>> GCP • 그런데 왜 쓰나 • VM과는 다르다! VM과는! • 가장 많은 리전 (서울도 올해! 상반기 런칭!) • PaaS: Platform-as-a-Service • 다른건? IaaS (Infrastructure), Saas (Software) • 바로풀기 • (아마도) 최초로 100% PaaS로 동작하는 온라인서비스 • 서버관리 필요 없습니다. 코드만 짜서 push하면 됩니다. • 장애 대응도 빠름: 시스템 부팅 없음.
  • 25. 개념의 차이  설계의 차이 • AWS • 각 콤포넌트의 구성과 결합에 초점 • 인프라 덕후 • 단점: 넌 너무 VM 중심이야 • Azure • 플랫폼 위의 코드 구현에 초점 • 생산성 덕후 • 단점: C# > Node.js > Java, Python • GCP • 제공하는 API 사용에 초점 • 서비스 덕후 • 단점: 장애 대응에 커뮤니케이션이 거의 없음