Transcript
Page 1: PaaS를 이용한 No Ops 개발

© Malang Studio Co. Ltd,

Chiung Choi

PaaS를 이용한 No Ops 개발

Page 2: PaaS를 이용한 No Ops 개발

SPEAKER

2006.03 ~ 2008.05

2008.06 ~ 2010.12

2011.01 ~ 2011.12

2012.01 ~ 2014.12

2015.02 ~ 현재

㈜ 모빌탑

㈜ 네이블커뮤니케이션즈

㈜ 말랑스튜디오

㈜ 삼성전자

㈜ 말랑스튜디오

Android UI Framework Development

Samsung Keyboard Development

Samsung Japanese Keyboard Development

소프트웨어 마에스트로

삼성 소프트웨어 멤버십

[email protected]

facebook.com/chiung.choi.3

최 치 웅

Page 3: PaaS를 이용한 No Ops 개발

COMPANY

AlarmMon Subway 1km

Once me.time biscuit

SOR

말랑 스튜디오는 다양한 분야의 생활 밀착형 모바일 앱 서비스를 통해 국내 및 해외 시장을 선도하고 있습니다.

전세계 2,400만명의 이용자를 보유한 알람몬을 비롯하여 여성 필수 앱 원스, 데이팅 SNS 1km 등을 운영 중입니다.

여러 분야에서 사용될 수 있는 앱 환경을 만들어 시너지 효과를 창출하고

보다 많은 유저들이 효율적인 라이프-로그를 누릴 수 있도록 나아갈 것입니다.

Chuday

알람 교통 데이팅

생리 일정 교육

다이어리 커뮤니티

진출카테고리

하루종일 말랑 Life

Page 4: PaaS를 이용한 No Ops 개발

COMPANY

Co-working with Google as early access partner

Malang Studio has been introduced as “companies closely working with Google” in Google I/O 2016 Keynote

“Firebase” is a all-in-one solution which offers statistics, analysis, push notification, and various tests for developers’ convenience.

Brand-new services brought by Malang Studio, “Chu-day” and “Me.time”, has cut time to market by months,

by implementing various features of “Firebase”

Page 5: PaaS를 이용한 No Ops 개발

DISCLAIMER

각 서비스별로 더 적합한 Architecture 구성이 있을 수 있습니다

모든 서비스에 적용되는 내용은 아닙니다

Page 6: PaaS를 이용한 No Ops 개발

THE REASON WE HAVE TO USE CLOUD (1/3)

적은 인력으로 구성된 팀

스타트업에서 개발/운영은 최대한 적은 인원

으로 할수록 효율적

인건비 = 비용 : SE 채용의 부담

Page 7: PaaS를 이용한 No Ops 개발

THE REASON WE HAVE TO USE CLOUD (2/3)

서버 구매의 부담

고정비 부담

서비스의 폭발적 성장 시 마음대로 늘리거나

줄이는 것이 어려움

Page 8: PaaS를 이용한 No Ops 개발

THE REASON WE HAVE TO USE CLOUD (3/3)

대역폭 기반의 비용 부과

일반적인 IDC 계약은 대역폭을 기준으로 진행

푸시나 특정 시간에 트래픽이 몰리는 경우,

실제로 쓰지 못하는 대역폭을 넘나듬

Page 9: PaaS를 이용한 No Ops 개발

IaaS(Infrastructure as a Service) :

서버, 스토리지, 네트워크를 가상화 환경으로 만들

필요에 따라 인프라 자원을 사용할 수 있게 서비스를 제공하는 형태

IaaS의 예

: Google Compute Engine / Amazon EC2 / 그 외 기타

IaaS (Infrastructure as a Service)

Page 10: PaaS를 이용한 No Ops 개발

IaaS (Infrastructure as a Service)

[strength]

원하는 구성을 마음대로 만들 수 있음

최고의 자유도

Page 11: PaaS를 이용한 No Ops 개발

IaaS (Infrastructure as a Service)

[weakness]

일반적으로 VM(Virtual Machine)을 빌려 필요한

서비스들을 설치,사용하는 형태

→ 하드웨어 구매, OS 설치, 네트워크 구성등을

제외한 모든 영역을 직접 구성하여 사용해야 함

Page 12: PaaS를 이용한 No Ops 개발

PaaS (Platform as a Service)

PaaS(Platform as a Service) :

SaaS의 개념을 개발 플랫폼에도 확장한 방식으로,

개발을 위한 플랫폼 구축을 할 필요 없이

필요한 개발 요소들을 쉽게 빌려쓸 수 있게 하는 모델

IaaS의 예

: Google Compute Engine / Amazon EC2 / 그 외 기타

Page 13: PaaS를 이용한 No Ops 개발

[strength]

저렴한 가격에 시작 가능

(Shared Plan, Entry Plan등은 저렴)

Infra 자체에 대한 고민을 할 필요없음

플랫폼의 세부적인 환경설정에 대한

고민을 할 필요 없음

운영에 필요한 여러 가지 요소들

(배포, 버저닝, 개발환경 구성 등)이 번들로 제공

PaaS (Platform as a Service)

Page 14: PaaS를 이용한 No Ops 개발

[weakness]

자유도가 떨어짐

세부적인 튜닝 불가능

PaaS (Platform as a Service)

Page 15: PaaS를 이용한 No Ops 개발

IaaS (Infrastructure as a Service) vs PaaS (Platform as a Service)

Applications

Data

Runtime

Middleware

O/S

Virtualization

Servers

Storage

Networking

Applications

Data

Middleware

O/S

Virtualization

Servers

Storage

Networking

You manage

Managed by vendor

IaaS PaaS

Runtime

Page 16: PaaS를 이용한 No Ops 개발

DBaaS(Database as a Service) :

DB를 클라우드 형태로 하드웨어는 물론

설치부터 운영, 모니터링까지 하나의 서비스로 제공하는 솔루션 모델

DBaaS의 예

: Google Cloud SQL, Cloud Datastore / Amazon RDS, DynamoDB

Compose / 그 외 기타

DBaaS (Database as a Service)

Page 17: PaaS를 이용한 No Ops 개발

[strength]

저렴한 가격에 시작 가능

(Shared Plan, Entry Plan등은 저렴)

Infra 자체에 대한 고민을 할 필요없음

플랫폼의 세부적인 환경설정에 대한

고민을 할 필요 없음

DB운영에 필요한 대부분의 작업들을 자동으로

해줌 (모니터링/백업/Fail over 처리 등)

DBaaS (Database as a Service)

Page 18: PaaS를 이용한 No Ops 개발

[weakness]

DB가 커졌을 경우 직접 운영하는 비용에 비하여

결코 저렴하지 않음

서비스 업체에서 제공하는 Plan의 Capacity를

초과할 경우 성능을 올리기가 쉽지 않음

어찌됐든 최악의 경우, DB의 이전이 쉽지 않음

DBaaS (Database as a Service)

Page 19: PaaS를 이용한 No Ops 개발

THE REASON WE HAVE TO CHOOSE MANAGED SERVICE

• 서비스 개발 시, 내가 꼭 인프라 전문가일 필요는 없음

• 사람이 없어도 되는 일은 사람을 없애는 것이 효율적

• 어떤 사람도 24시간 365일 깨어 있을 수 없음

이러한 대응을 대신 해줄 수 있는 시스템을 만들거나,

혹은 서비스를 선택하여 사용하세요

Page 20: PaaS를 이용한 No Ops 개발

Region에 집착하지 마세요

REQUEST FOR AUDIENCE

인프라 운영비도 고려해주세요

Lock-in에 주의하세요

Page 21: PaaS를 이용한 No Ops 개발

HOW TO DESIGN INFRA

1 베이스가 되는 IaaS (GCP, AWS, Azure 등)을 선택

2 1에서 선택한 생태계 위에서 동작하는 서비스들을 선택하여

성능시험/Price Plan 비교 등을 통해 결정

Page 22: PaaS를 이용한 No Ops 개발

GOOGLE CLOUD PLATFORM CASE STUDY

API (node js.)

DB (MongoDB, MySQL)

Cache (Redis)

Compute Engine, App Engine, Heroku

Compose.io, Google Cloud SQL

RedisLabs

일반적인 어플리케이션을 개발할 때, 저희 회사는 아래와 같은 구조로 서버를 구성합니다.

그 중 Google Cloud Platform을 이용하여 인프라를 구성하는 경우에 대해 알아보도록 하겠습니다

Page 23: PaaS를 이용한 No Ops 개발

GOOGLE CLOUD PLATFORM CASE STUDY

API (node js.)

DB (MongoDB, MySQL)

Cache (Redis)

Compute Engine, App Engine, Heroku

Compose.io, Google Cloud SQL

RedisLabs

API Server

Compute Engine 혹은 App Engine을 이용하여 배포

Page 24: PaaS를 이용한 No Ops 개발

GOOGLE CLOUD PLATFORM CASE STUDY

API (node js.)

DB (MongoDB, MySQL)

Cache (Redis)

Compute Engine, App Engine, Heroku

Compose.io, Google Cloud SQL

RedisLabs

Database

Compose.io에서 Google Cloud Platform 위에서 동작하는 MongoDB를 사용

자동 백업, 24/7 서포트, 멀티노드 클러스터 구성, Automatic Failover 등의 서비스 기본 제공

첫 1GB는 $31/월, 그 이후 1GB당 $18/월

Page 25: PaaS를 이용한 No Ops 개발

GOOGLE CLOUD PLATFORM CASE STUDY

API (node js.)

DB (MongoDB, MySQL)

Cache (Redis)

Compute Engine, App Engine, Heroku

Compose.io, Google Cloud SQL

RedisLabs

Cache

Redislabs에서 Google Cloud Platform 위에서 동작하는 Redis를 사용

자동 백업, 24/7 서포트, Automatic Failover, Data Persistence 등의 서비스가 기본으로 제공

30MB 사용 시 무료, 2.5GB 사용 시 $138/월 요금으로 무제한 커넥션 제공

Page 26: PaaS를 이용한 No Ops 개발

CDN

GOOGLE CLOUD PLATFORM CASE STUDY

DeviceLoad Balancer

Node.js

Node.js

Node.js

Node.js

App Engine

Mongo DB

Cloud Stroage

Redis

Compose.io

RedisLabs

GCP

Page 27: PaaS를 이용한 No Ops 개발

QnA

U E S T I O N ?

Page 28: PaaS를 이용한 No Ops 개발

THANK YOU


Recommended