AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스
정영준 솔루션즈 아키텍트, AWS
유현성 수석, 삼성전자 클라우드팀
다양한 AWS 아키텍처 적인 요소들을 적용한 구체적인 사례들에 대해서 소개합니다. 삼성전자에서 2년동안 만든 공통 플랫폼 기반 개발자 포털의 아키텍처와 개발 스토리 그리고 SRE(Site Reliability Engineering) 적용 등에 대한 이야기를 직접 들어보며, 수백만 명의 모바일 사용자에게 사진을 공유하는 애플리케이션을 운영하는 서비스, 테라바이트 이상의 데이터가 다양한 소스에서 들어 올 때 실시간으로 분석하기 위한 아키텍처들에 대해서도 알아봅니다. 또한 중단 되면 안되는 중요한 비즈니스 운영을 지원하는 서비스나 금융 데이터 같은 민감한 데이터를 다루는 서비스를 운영하는 다른 베스트 프렉티스 아키텍처도 소개합니다.
67. 67
“Developer portal” and “Developer workspace”
• Developer portal
- User account management
- Technical documents (API/SDK guide documents)
- Ticketing system
- Blog, Newsroom
- Community
• Developer workspace
- Web based development environment
- Workflow to distribute/certificate
- Cloudfoundry based test environment for 3rd party developers
68. 68
Journey to build Samsung developer portal and developer workspace
SmartThings Bixby RCS
Developer portal
Developer workspace
IoT Device/App onboarding Develop Bixby Capsule Develop RCS Chatbot
2017 official open 2018 official open 2018 officail open
2018 official open 2018 beta open 2018 closed beta open
69. 69
Journey to build Samsung developer portal and developer workspace
Platform strategy
• Define common platform
. User account management/CRM
→ Salesforce.com
. Ticketing/Support system
→ Zendesk
. Content management
→ Git repo, Hexo.io
• Provide APIs for each service dev team
Architecture design
• Build cloud native application
. Microservice architecture
. Containerized workload
→ Docker, AWS Fargate
. Multi cloud provisioning
→ Docker, CloudFoundry
• Be scalable, resilient and fail-safe
Operational policy
• Fully automated operation
. DevOps Culture
. CI/CD
. QAOps (QAAutomation)
• SRE(Service Reliability Engineering)
. Monitoring/Alerting
. SLI/SLO
. Measure everything
→ VALET Dashboard
70. 70
Journey to build Samsung developer portal and developer workspace
All new developer portal & workspaceCurrent developer portal
Portal
&
Infra.
User
Account
Git Repository
(Tech doc Repository)
OneClick Build
(Deploy)
CI/CD
Managing
Tech. Doc.
Oracle DB Sugar CRM Salesforce
AWS SDS IDC AWS
Local BuildLocal PC Git Repository
program.developer.
samsung.com
developer.
samsung.com
New dev. Portal
(SmartTings, RCS, Bixby)
Tech. Document Library
Samsung Developers
(Portal)
Developer Workspace
(Console/Builder)
Separated Tech. Document sites
Amazon Web Service
Salesforce.com CRM
Y2019Legacy Y2017~18Remarks :
Smart-
Things
RCS BixbyGalaxy Gear Apps
dev.
Guide
72. 72
Why we chose AWS Fargate for developer portal
• Easy to Use
- Good for quick horizontal scaling
- ECS CLI Supports Fargate
• Fast Deploy
- AWS support dedicated fleet for Fargate
- Fast provisioning
• Cost effective and reduce operational effort
- Reducing monthly costs by approximately 44.5% (compute cost only)
74. 74
Use cases of CloudFoundry
Developers can request the app as docker image to
install the created app in CloudFoundry to their own
cloud environments
Router
Build Pack
Process
Running Containers
App App App App
App App App App
Blob Store
buildpacks
CloudFoundry Platform
Node.js package Node-red package Flow.json
Gitlab
(2) Compilation
(1) CF push
(3) Package download
(4) Create container image
(5) Deploy
(6) Store flow
[CloudFoundry blog]
https://www.cloudfoundry.org/blog/samsung-chooses-cloud-foundry-3rd-party-developer-experience/
75. 75
SRE : Architecture to build VALET Dashboard
VALET - Volume, Availability, Latency, Errors, Tickets for SLIs/SLOs management
“Failure is normal and reliability is fundamental”
76. 76
Future plan
2 Millions developers in Samsung developer ecosystem by 2020
Developer Relation Developer Tools DevOps/SRE
• Reinvigorate online outreach with
best quality contents
• Establish regional/local DR
evangelism
• SDC, developer day/meetup for
strategic service platforms
• Reinforce SDK/Tools competitiveness
• All new Samsung developer portal
• Developer workspace branding
• Integrating with marketplace
• Fast/Automated delivery for contents
and services
• Enhanced service reliability