[OpenInfra Days Korea 2018] (Track 1) TACO (SKT All Container OpenStack): Clo...OpenStack Korea Community
- 폰트 문제로 다운로드를 여기서 해 주세요: http://bit.ly/openinfradays-day1-skt-taco
- 발표자: 안재석, SK Telecom
- 설명: https://event.openinfradays.kr/2018/session1/track_1_4
[OpenInfra Days Korea 2018] (Track 1) TACO (SKT All Container OpenStack): Clo...OpenStack Korea Community
- 폰트 문제로 다운로드를 여기서 해 주세요: http://bit.ly/openinfradays-day1-skt-taco
- 발표자: 안재석, SK Telecom
- 설명: https://event.openinfradays.kr/2018/session1/track_1_4
AWS에서 Kubernetes 실행하기
황경태 솔루션즈 아키텍트, AWS
본 세션에서는 AWS의 관리형 Kubernetes 서비스인 EKS에 대해 3가지 파트 1.구성요소와 아키텍처, 2. 대규모 해외 고객사례, 3. EKS 기반 마이크로서비스 데모 를 살펴봅니다. 컨트롤/데이터 플레인, 네트워크, 인증&권한, CI/CD, 로깅 및 모니터 등 필수적인 기술요소와 실제 동작모습을 이해하고, 실 고객사례를 통해 대형 Kubernetes 클러스터 구성과 조직에 대해서도 알아봅니다.
Kubernetes는 전세계 조직의 96%가 이미 사용 중이거나 검토 중인 오픈소스 기술입니다. 클라우드 시장은 IaaS에서 PaaS로 그 중심이 이동하고 있으며, PaaS 시장은 2026년까지 연평균 19.6% 성장률을 기록할 것으로 전망되고 있습니다.
Kubernetes를 기반으로 애플리케이션을 손쉽게 배포하고 자동화된 운영 관리는 제공하는 PaaS 솔루션, Playce Kube를 소개합니다.
다양한 컴포넌트를 유기적으로 결합한 최적의 플랫폼으로 유연한 클라우드 네이티브 애플리케이션을 위한 환경을 제공합니다.
AWS 클라우드를 활용하면 사용자의 트래픽에 따라 IT 인프라 아키텍처를 확장할 수 있습니다. 이번 강연에서는 서비스 초기의 작은 트래픽에 대응할 수 있는 단순한 아키텍처로 시작해 사업 성장 후의 수백만 사용자에 달하는 대규모 트래픽을 지탱할 수 있는 고확장성 아키텍처에 이르기까지의 단계별 아키텍처 구성 방법에 대해 소개해 드리고 컴퓨팅 및 데이터베이스 선택 및 사용자 증가에 따른 트래픽 경감 방법, 오토스케일링 및 모니터링과 자동화, DB 부하 분산, 고가용성 확보 등에 대한 다양한 모범사례를 알려드릴 예정입니다.
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!pyrasis
도커 무작정 따라하기
- 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커의 기본 개념부터 설치와 사용 방법까지 설명합니다.
더 자세한 내용은 가장 빨리 만나는 도커(Docker)를 참조해주세요~
http://www.pyrasis.com/private/2014/11/30/publish-docker-for-the-really-impatient-book
[Container 기반의 DevOps] Cloud Native
열린기술공방에서 처음으로 런칭한 교육 프로그램의 트렌드 세션 자료입니다. 급변하는 환경에 맞춘 SW를 개발하고 배포하기 위해, 빠른 의사결정을 할 수 있는 환경과 프로세스가 더욱 중요해지고 있는데요. 기업들에게 왜 클라우드 네이티브 전략이 필수적인지에 대해 소개한 자료입니다.
열린기술공방의 교육 과정을 통해 Kubernetes위에서 동작하는 Application의 빌드부터 배포까지의 과정을 한 눈에 확인하실 수 있습니다.
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...Simplilearn
This presentation on Docker Container will help you understand what is Docker, the architecture of Docker, what is a Docker Container, how to create a Docker Container, benefits of Docker Container, basic commands of Containers and you will also see a demo on creating Docker Container. Docker is a very lightweight software container and containerization platform. Docker containers provide a way to run software in isolation. It is an open source platform that helps to package an application and its dependencies into a Docker container for the development and deployment of software and a Docker COntainer is a portable executable package which includes applications and their dependencies. With Docker Containers, applications can work efficiently in different computer environments.
Below DevOps tools are explained in this Docker Container presentation:
1. What is Docker?
2. The architecture of Docker?
3. What is a Docker Container?
4. How to create a Docker Container?
5. Benefits of Docker Containers
6. Basic commands of Containers
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become an expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
게임사들이 활용할 수 있는 네이버클라우드플랫폼 서비스들과 클라우드 상에서 게임 인프라 구축시 고려해야 할 포인트들에 대해서 소개합니다. | Introduce the Naver Cloud Platform service that game companies can use and the points to consider when building game infrastructure in the cloud.
Kubernetes와 Kubernetes on OpenStack 환경의 비교와 그 구축방법에 대해서 알아봅니다.
1. 클라우드 동향
2. Kubernetes vs Kubernetes on OpenStack
3. Kubernetes on OpenStack 구축 방벙
4. Kubernetes on OpenStack 운영 방법
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...Amazon Web Services Korea
발표영상 다시보기: https://youtu.be/il8wpd7gxe8
CI/CD 기술을 통해 팀은 민첩성을 높이고 고품질 제품을 신속하게 출시 할 수 있습니다. 이 강의에서는 컨테이너화 된 응용 프로그램을 관리 할 수 있도록 CI/CD 워크 플로우 작성을위한 모범 사례를 안내합니다. AWS Cloud Development Kit를 사용하여 코드 애플리케이션 모델로 인프라를 다루고 AWS CodePipeline 및 AWS CodeBuild를 사용하여 CI/CD 릴리스 파이프 라인을 설정하는 방법을 보여줍니다. 마지막으로 AWS CodeDeploy를 사용한 안전한 배포 자동화에 대해 설명합니다.
goorm is the cloud-based Integrated Development Environment. It is developed in only javascript and using various open source libraries. It is also an open-source project. goorm supports currently C/C++ and Java as well as HTML, CSS, PHP and Javascript. Other languages will be supported with plugin.
AWS에서 Kubernetes 실행하기
황경태 솔루션즈 아키텍트, AWS
본 세션에서는 AWS의 관리형 Kubernetes 서비스인 EKS에 대해 3가지 파트 1.구성요소와 아키텍처, 2. 대규모 해외 고객사례, 3. EKS 기반 마이크로서비스 데모 를 살펴봅니다. 컨트롤/데이터 플레인, 네트워크, 인증&권한, CI/CD, 로깅 및 모니터 등 필수적인 기술요소와 실제 동작모습을 이해하고, 실 고객사례를 통해 대형 Kubernetes 클러스터 구성과 조직에 대해서도 알아봅니다.
Kubernetes는 전세계 조직의 96%가 이미 사용 중이거나 검토 중인 오픈소스 기술입니다. 클라우드 시장은 IaaS에서 PaaS로 그 중심이 이동하고 있으며, PaaS 시장은 2026년까지 연평균 19.6% 성장률을 기록할 것으로 전망되고 있습니다.
Kubernetes를 기반으로 애플리케이션을 손쉽게 배포하고 자동화된 운영 관리는 제공하는 PaaS 솔루션, Playce Kube를 소개합니다.
다양한 컴포넌트를 유기적으로 결합한 최적의 플랫폼으로 유연한 클라우드 네이티브 애플리케이션을 위한 환경을 제공합니다.
AWS 클라우드를 활용하면 사용자의 트래픽에 따라 IT 인프라 아키텍처를 확장할 수 있습니다. 이번 강연에서는 서비스 초기의 작은 트래픽에 대응할 수 있는 단순한 아키텍처로 시작해 사업 성장 후의 수백만 사용자에 달하는 대규모 트래픽을 지탱할 수 있는 고확장성 아키텍처에 이르기까지의 단계별 아키텍처 구성 방법에 대해 소개해 드리고 컴퓨팅 및 데이터베이스 선택 및 사용자 증가에 따른 트래픽 경감 방법, 오토스케일링 및 모니터링과 자동화, DB 부하 분산, 고가용성 확보 등에 대한 다양한 모범사례를 알려드릴 예정입니다.
도커 무작정 따라하기: 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!pyrasis
도커 무작정 따라하기
- 도커가 처음인 사람도 60분이면 웹 서버를 올릴 수 있습니다!
도커의 기본 개념부터 설치와 사용 방법까지 설명합니다.
더 자세한 내용은 가장 빨리 만나는 도커(Docker)를 참조해주세요~
http://www.pyrasis.com/private/2014/11/30/publish-docker-for-the-really-impatient-book
[Container 기반의 DevOps] Cloud Native
열린기술공방에서 처음으로 런칭한 교육 프로그램의 트렌드 세션 자료입니다. 급변하는 환경에 맞춘 SW를 개발하고 배포하기 위해, 빠른 의사결정을 할 수 있는 환경과 프로세스가 더욱 중요해지고 있는데요. 기업들에게 왜 클라우드 네이티브 전략이 필수적인지에 대해 소개한 자료입니다.
열린기술공방의 교육 과정을 통해 Kubernetes위에서 동작하는 Application의 빌드부터 배포까지의 과정을 한 눈에 확인하실 수 있습니다.
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...Simplilearn
This presentation on Docker Container will help you understand what is Docker, the architecture of Docker, what is a Docker Container, how to create a Docker Container, benefits of Docker Container, basic commands of Containers and you will also see a demo on creating Docker Container. Docker is a very lightweight software container and containerization platform. Docker containers provide a way to run software in isolation. It is an open source platform that helps to package an application and its dependencies into a Docker container for the development and deployment of software and a Docker COntainer is a portable executable package which includes applications and their dependencies. With Docker Containers, applications can work efficiently in different computer environments.
Below DevOps tools are explained in this Docker Container presentation:
1. What is Docker?
2. The architecture of Docker?
3. What is a Docker Container?
4. How to create a Docker Container?
5. Benefits of Docker Containers
6. Basic commands of Containers
Simplilearn's DevOps Certification Training Course will prepare you for a career in DevOps, the fast-growing field that bridges the gap between software developers and operations. You’ll become an expert in the principles of continuous development and deployment, automation of configuration management, inter-team collaboration and IT service agility, using modern DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios. DevOps jobs are highly paid and in great demand, so start on your path today.
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
게임사들이 활용할 수 있는 네이버클라우드플랫폼 서비스들과 클라우드 상에서 게임 인프라 구축시 고려해야 할 포인트들에 대해서 소개합니다. | Introduce the Naver Cloud Platform service that game companies can use and the points to consider when building game infrastructure in the cloud.
Kubernetes와 Kubernetes on OpenStack 환경의 비교와 그 구축방법에 대해서 알아봅니다.
1. 클라우드 동향
2. Kubernetes vs Kubernetes on OpenStack
3. Kubernetes on OpenStack 구축 방벙
4. Kubernetes on OpenStack 운영 방법
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...Amazon Web Services Korea
발표영상 다시보기: https://youtu.be/il8wpd7gxe8
CI/CD 기술을 통해 팀은 민첩성을 높이고 고품질 제품을 신속하게 출시 할 수 있습니다. 이 강의에서는 컨테이너화 된 응용 프로그램을 관리 할 수 있도록 CI/CD 워크 플로우 작성을위한 모범 사례를 안내합니다. AWS Cloud Development Kit를 사용하여 코드 애플리케이션 모델로 인프라를 다루고 AWS CodePipeline 및 AWS CodeBuild를 사용하여 CI/CD 릴리스 파이프 라인을 설정하는 방법을 보여줍니다. 마지막으로 AWS CodeDeploy를 사용한 안전한 배포 자동화에 대해 설명합니다.
goorm is the cloud-based Integrated Development Environment. It is developed in only javascript and using various open source libraries. It is also an open-source project. goorm supports currently C/C++ and Java as well as HTML, CSS, PHP and Javascript. Other languages will be supported with plugin.
2016 아이펀팩토리 Dev Day 발표 자료
강연 제목 : Docker 로 Linux 없이 Linux 환경에서 개발하기
발표자 : 김진욱 CTO
<2016>
- 일시 : 2016년 9월 28 수요일 12:00~14:20
- 장소 : 넥슨 판교 사옥 지하 1층 교육실
델파이 출시 22주년을 기념하여 '델파이 @22' 잡지를 제작했습니다.
델파이는 매년 새버전을 발표해오고 있습니다.
이번 '델파이 @22'는 지금까지의 델파이 역사, 언어, 사회, 교육 그리고 앞으로의 비전까지 다루고 있습니다.
단 하나의 코드베이스로 주요 5대 운영체제(윈도우,맥,리눅스,안드로이드,iOS)를 더 신속하게, 더 안전하게 지원하는 앱을 개발하는 방법을 '델파이 @22'를 통해 확인해보시기 바랍니다.
Similar to 도커 컨테이너 활용 사례 Codigm - 남 유석 개발팀장 :: AWS Container Day (20)
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...Amazon Web Services Korea
Database Migration Service(DMS)는 RDBMS 이외에도 다양한 데이터베이스 이관을 지원합니다. 실제 고객사 사례를 통해 DMS가 데이터베이스 이관, 통합, 분리를 수행하는 데 어떻게 활용되는지 알아보고, 동시에 데이터 분석을 위한 데이터 수집(Data Ingest)에도 어떤 역할을 하는지 살펴보겠습니다.
Amazon Elasticache - Fully managed, Redis & Memcached Compatible Service (Lev...Amazon Web Services Korea
Amazon ElastiCache는 Redis 및 MemCached와 호환되는 완전관리형 서비스로서 현대적 애플리케이션의 성능을 최적의 비용으로 실시간으로 개선해 줍니다. ElastiCache의 Best Practice를 통해 최적의 성능과 서비스 최적화 방법에 대해 알아봅니다.
Internal Architecture of Amazon Aurora (Level 400) - 발표자: 정달영, APAC RDS Speci...Amazon Web Services Korea
ccAmazon Aurora 데이터베이스는 클라우드용으로 구축된 관계형 데이터베이스입니다. Aurora는 상용 데이터베이스의 성능과 가용성, 그리고 오픈소스 데이터베이스의 단순성과 비용 효율성을 모두 제공합니다. 이 세션은 Aurora의 고급 사용자들을 위한 세션으로써 Aurora의 내부 구조와 성능 최적화에 대해 알아봅니다.
[Keynote] 슬기로운 AWS 데이터베이스 선택하기 - 발표자: 강민석, Korea Database SA Manager, WWSO, A...Amazon Web Services Korea
오랫동안 관계형 데이터베이스가 가장 많이 사용되었으며 거의 모든 애플리케이션에서 널리 사용되었습니다. 따라서 애플리케이션 아키텍처에서 데이터베이스를 선택하기가 더 쉬웠지만, 구축할 수 있는 애플리케이션의 유형이 제한적이었습니다. 관계형 데이터베이스는 스위스 군용 칼과 같아서 많은 일을 할 수 있지만 특정 업무에는 완벽하게 적합하지는 않습니다. 클라우드 컴퓨팅의 등장으로 경제적인 방식으로 더욱 탄력적이고 확장 가능한 애플리케이션을 구축할 수 있게 되면서 기술적으로 가능한 일이 달라졌습니다. 이러한 변화는 전용 데이터베이스의 부상으로 이어졌습니다. 개발자는 더 이상 기본 관계형 데이터베이스를 사용할 필요가 없습니다. 개발자는 애플리케이션의 요구 사항을 신중하게 고려하고 이러한 요구 사항에 맞는 데이터베이스를 선택할 수 있습니다.
Demystify Streaming on AWS - 발표자: 이종혁, Sr Analytics Specialist, WWSO, AWS :::...Amazon Web Services Korea
실시간 분석은 AWS 고객의 사용 사례가 점점 늘어나고 있습니다. 이 세션에 참여하여 스트리밍 데이터 기술이 어떻게 데이터를 즉시 분석하고, 시스템 간에 데이터를 실시간으로 이동하고, 실행 가능한 통찰력을 더 빠르게 얻을 수 있는지 알아보십시오. 일반적인 스트리밍 데이터 사용 사례, 비즈니스에서 실시간 분석을 쉽게 활성화하는 단계, AWS가 Amazon Kinesis와 같은 AWS 스트리밍 데이터 서비스를 사용하도록 지원하는 방법을 다룹니다.
Amazon EMR - Enhancements on Cost/Performance, Serverless - 발표자: 김기영, Sr Anal...Amazon Web Services Korea
Amazon EMR은 Apache Spark, Hive, Presto, Trino, HBase 및 Flink와 같은 오픈 소스 프레임워크를 사용하여 분석 애플리케이션을 쉽게 실행할 수 있는 관리형 서비스를 제공합니다. Spark 및 Presto용 Amazon EMR 런타임에는 오픈 소스 Apache Spark 및 Presto에 비해 두 배 이상의 성능 향상을 제공하는 최적화 기능이 포함되어 있습니다. Amazon EMR Serverless는 Amazon EMR의 새로운 배포 옵션이지만 데이터 엔지니어와 분석가는 클라우드에서 페타바이트 규모의 데이터 분석을 쉽고 비용 효율적으로 실행할 수 있습니다. 이 세션에 참여하여 개념, 설계 패턴, 라이브 데모를 사용하여 Amazon EMR/EMR 서버리스를 살펴보고 Spark 및 Hive 워크로드, Amazon EMR 스튜디오 및 Amazon SageMaker Studio와의 Amazon EMR 통합을 실행하는 것이 얼마나 쉬운지 알아보십시오.
Amazon OpenSearch - Use Cases, Security/Observability, Serverless and Enhance...Amazon Web Services Korea
로그 및 지표 데이터를 쉽게 가져오고, OpenSearch 검색 API를 사용하고, OpenSearch 대시보드를 사용하여 시각화를 구축하는 등 Amazon OpenSearch의 새로운 기능과 기능에 대해 자세히 알아보십시오. 애플리케이션 문제를 디버깅할 수 있는 OpenSearch의 Observability 기능에 대해 알아보세요. Amazon OpenSearch Service를 통해 인프라 관리에 대해 걱정하지 않고 검색 또는 모니터링 문제에 집중할 수 있는 방법을 알아보십시오.
Enabling Agility with Data Governance - 발표자: 김성연, Analytics Specialist, WWSO,...Amazon Web Services Korea
데이터 거버넌스는 전체 프로세스에서 데이터를 관리하여 데이터의 정확성과 완전성을 보장하고 필요한 사람들이 데이터에 액세스할 수 있도록 하는 프로세스입니다. 이 세션에 참여하여 AWS가 어떻게 분석 서비스 전반에서 데이터 준비 및 통합부터 데이터 액세스, 데이터 품질 및 메타데이터 관리에 이르기까지 포괄적인 데이터 거버넌스를 제공하는지 알아보십시오. AWS에서의 스트리밍에 대해 자세히 알아보십시오.
Amazon Redshift Deep Dive - Serverless, Streaming, ML, Auto Copy (New feature...Amazon Web Services Korea
이 세션에 참여하여 Amazon Redshift의 새로운 기능을 자세히 살펴보십시오. Amazon Data Sharing, Amazon Redshift Serverless, Redshift Streaming, Redshift ML 및 자동 복사 등에 대한 자세한 내용과 데모를 통해 Amazon Redshift의 새로운 기능을 알고 싶은 사용자에게 적합합니다.
From Insights to Action, How to build and maintain a Data Driven Organization...Amazon Web Services Korea
데이터는 혁신과 변혁의 토대입니다. 비즈니스 혁신을 이끄는 혁신은 특정 시점의 전략이나 솔루션이 아니라 성장을 위한 반복적이고 집단적인 계획입니다. 혁신에 이러한 접근 방식을 채택하는 기업은 전략과 비즈니스 문화에서 데이터를 기반으로 하는 경우가 많습니다. 이러한 접근 방식을 개발하려면 리더가 데이터를 조직의 자산처럼 취급하고 조직이 더 나은 비즈니스 성과를 위해 데이터를 활용할 수 있도록 권한을 부여해야 합니다. AWS와 Amazon이 어떻게 데이터와 분석을 활용하여 확장 가능한 비즈니스 효율성을 창출하고 고객의 가장 복잡한 문제를 해결하는 메커니즘을 개발했는지 알아보십시오.
[Keynote] Accelerating Business Outcomes with AWS Data - 발표자: Saeed Gharadagh...Amazon Web Services Korea
데이터는 최종 소비자의 성공에 초점을 맞춘 디지털 혁신에서 중추적인 역할을 하고 있습니다. 모든 기업들은 데이터를 자산으로 사용하여 사례 제공을 추진하고 까다로운 결과를 해결하고 있습니다. AWS 클라우드 기술과 분석 솔루션의 강력한 성능을 통해 고객은 혁신 여정을 가속화할 수 있습니다. 이 세션에서는 기업 고객들이 클라우드에서 데이터의 힘을 활용하여 혁신 목표를 달성하고 필요한 결과를 제공하는 방법에 대해 다룹니다.
LG전자 - Amazon Aurora 및 RDS 블루/그린 배포를 이용한 데이터베이스 업그레이드 안정성 확보 - 발표자: 이은경 책임, L...Amazon Web Services Korea
LG ThinQ는 LG전자의 가전제품과 서비스를 아우르는 플랫폼 브랜드로서 앱 하나로 간편한 컨트롤, 똑똑한 케어, 스마트한 쇼핑까지 한번에 가능한 플랫폼입니다. ThinQ 플랫폼은 글로벌 서비스로 제공되고 있어, 작업 시간을 최소화하고, 서비스의 영향을 최소화 할 필요가 있었습니다. 따라서 DB 버전 업그레이드 작업 시 애플리케이션 배포가 필요없는 Blue/Green Deployment 방식은 최선의 선택이 되었습니다.
KB국민카드 - 클라우드 기반 분석 플랫폼 혁신 여정 - 발표자: 박창용 과장, 데이터전략본부, AI혁신부, KB카드│강병억, Soluti...Amazon Web Services Korea
온프레미스 분석 플랫폼에는 자원 증설 비용, 자원 관리 비용, 신규 자원 도입 및 환경 설정의 리드타임 등 다양한 측면에서의 한계가 존재합니다. 이에 KB국민카드에서는 기존 분석 플랫폼의 한계를 극복함과 동시에 시너지를 낼 수 있는 클라우드 기반 분석 플랫폼을 설계 및 도입하였습니다. 본 사례 소개는 KB국민카드의 데이터 혁신 여정과 노하우를 소개합니다.
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...Amazon Web Services Korea
SK Telecom의 망관리 프로젝트인 TANGO에서는 오라클을 기반으로 시스템을 구축하여 운영해 왔습니다. 하지만 늘어나는 사용자와 데이터로 인해 유연하고 비용 효율적인 인프라가 필요하게 되었고, 이에 클라우드 도입을 검토 및 실행에 옮기게 되었습니다. TANGO 프로젝트의 클라우드 도입을 위한 검토부터 준비, 실행 및 이를 통해 얻게 된 교훈과 향후 계획에 대해 소개합니다.
코리안리 - 데이터 분석 플랫폼 구축 여정, 그 시작과 과제 - 발표자: 김석기 그룹장, 데이터비즈니스센터, 메가존클라우드 ::: AWS ...Amazon Web Services Korea
2022년 코리안리는 핵심업무시스템(기간계/정보계 시스템)을 AWS 클라우드로 전환하는 사업과 AWS 클라우드 기반에서 손익분석을 위한 어플리케이션 구축 사업을 동시에 진행하고 있었습니다. 이에 따라 클라우드 전환 이후 시스템 간 상호운용성과 호환성을갖춘 데이터 분석 플랫폼 또한 필요하게 되었습니다. 코리안리 IT 환경에 적합한 플랫폼 선정을 위하여 AWS Native Analytics Platform, 3rd Party Analytics Platform (클라우데라, 데이터브릭스)과의 PoC를 진행하고, 최종적으로 AWS Native Analytics Platform 으로 확정하였습니다. 코리안리는 메가존클라우드와 함께 2022년 10월부터 4개월(구축 3개월, 안정화 및 교육 1개월) 동안 AWS 기반 데이터 분석 플랫폼을 구축하고 활용 범위를 지속적으로 확대하고 있습니다.
LG 이노텍 - Amazon Redshift Serverless를 활용한 데이터 분석 플랫폼 혁신 과정 - 발표자: 유재상 선임, LG이노...Amazon Web Services Korea
LG 이노텍은 세계 시장을 선도하는 글로벌 소재·부품기업으로, Amazon Redshift 을 데이터 분석 플랫폼의 핵심 서비스로 활용하고 있습니다.지속적인 데이터 증가와 업무 확대에 따른 유연한 아키텍처 개선의 필요성에 대처하기 위해, 2022년에 AWS 에서 발표된 Redshift Serverless 를 활용한, 비용 최적화된 아키텍처 개선 과정의 실사례를 엿볼수 있는 기회가 됩니다.
4. 클라우드 코딩 서비스
먼저, 구름을 개발하고 있는 ㈜ 코다임을 소개 합니다.
TEACHING
LEARNINGDEVELOPING
Vision
은 클라우드 인프라에 대한 깊은 이해와, 웹 애플리케이션 개발에 대한 적지 않
은 노하우로 국내를 넘어서 글로벌 서비스를 표방하는 기술 기반 스타트업입니다.
사명의 의미는 CODE와 PARADIGM의 합성어로서, 누구든지 언제 어디서나 소프트웨어를
배우고 개발할 수 있도록 패러다임을 바꾸고자 하는 저희의 비전을 담고 있습니다.
codigm은 현재 언제 어디서나 SW를 배우고, 개발할 수 있도록 해주는 클라우드 코딩
서비스 브랜드인 구름(goorm)을 개발하고 서비스하고 있습니다.
SW
4
5. 클라우드 코딩 서비스
Vision
TEACHING
LEARNINGDEVELOPING
SW
누구나 SW를 쉽게 개발할 수 있는 세상을 만듭니다.
이를 통해 SW가 만드는 더 나은 미래를 꿈꿉니다.
클라우드 코딩 서비스를 통해
“개발 환경 구축이라는 장벽을 낮추어
더 많은 사람들이 소프트웨어로
자신의 생각을 실현하도록 돕습니다.”
“소프트웨어 개발을 위한 인력 양성에
긍정적인 순환 구조를 제공하고자 합니다.”
클라우드 개발 환경을 통해 개발의 편의성과
최신 개발 도구에 대해 경험할 수 있습니다.
지난 3년간 대학의 프로그래밍 강의 도구로 활용되면서 SW교육을 위한 특화 기능을 지
속적으로 개발하여 교수자에게 많은 편리함을 제공하고 있습니다.
다양한 학습 방법과 언제 어디서나 사용할 수 있는 교육환경,
연속적인 개발은 학생들에게 많은 호응을 얻고 있습니다.
5
6. 클라우드 코딩 서비스
PROBLEM
• 개발 환경 설치 세팅의 어려움 / 시간 낭비
• 학교(실습실) 외 공간에서 학습하기 어려움
• 다양한 협업 과제를 가능하게 해주는 솔루션
• 실제 SW개발까지 해볼 수 있는 수준의 솔루션
• 교육이 실무로 이어지는 솔루션
• 다양한 수준의 학생 개개인의 관리가 어려움
• 부족한 조교의 활용을 극대화 하는 솔루션
• 초등 – 대학까지 이어지는 단계적인 솔루션 부족
• 학교 단위의 소프트웨어 교육에 적합한 솔루션
• 컨텐츠 제작 및 활용을 손쉽게 해주는 솔루션
오늘날 소프트웨어 교육 환경의 한계
6
7. 클라우드 코딩 서비스
PROBLEM
• 개발 환경 설치 세팅의 어려움 / 시간 낭비
• 학교(실습실) 외 공간에서 학습하기 어려움
• 다양한 협업 과제를 가능하게 해주는 솔루션
• 실제 SW개발까지 해볼 수 있는 수준의 솔루션
• 교육이 실무로 이어지는 솔루션
• 다양한 수준의 학생 개개인의 관리가 어려움
• 부족한 조교의 활용을 극대화 하는 솔루션
• 초등 – 대학까지 이어지는 단계적인 솔루션 부족
• 학교 단위의 소프트웨어 교육에 적합한 솔루션
• 컨텐츠 제작 및 활용을 손쉽게 해주는 솔루션
오늘날 소프트웨어 교육 환경의 한계
7
8. 클라우드 코딩 서비스
Solution
언제 어디서나 프로그래밍을 배우고, 소프트웨어를 개발할 수 있는 클라우드 서비스와 함께
TEACHING,
LEARNING
CODING,
DEVELOPING
ANYTIME,
ANYWHERE
ANYONE
8
9. 클라우드 코딩 서비스
Solution
언제 어디서나 프로그래밍을 배우고, 소프트웨어를 개발할 수 있는 클라우드 서비스와 함께
TEACHING,
LEARNING
CODING,
DEVELOPING
ANYTIME,
ANYWHERE
ANYONE
Docker Container 안에서 마음껏! 코딩하세요!
9
10. 클라우드 코딩 서비스
Product
개인별 가상 머신 제공실시간 동시 편집 및 협업 기능 지원다양한 프로그래밍 언어 지원 온라인 실행 (컴파일/빌드/디버그)
goormIDEgoormEDU Cloud Integrated Development EnvironmentCloud Software Development Education Platform
TEACHING, LEARNING CODING, DEVELOPING
구름
10
11. 클라우드 코딩 서비스
Product
개인별 가상 머신 제공실시간 동시 편집 및 협업 기능 지원다양한 프로그래밍 언어 지원 온라인 실행 (컴파일/빌드/디버그)
goormIDEgoormEDU Cloud Integrated Development EnvironmentCloud Software Development Education Platform
TEACHING, LEARNING CODING, DEVELOPING
구름
11
12. 클라우드 코딩 서비스
Product
개인별 가상 머신 제공실시간 동시 편집 및 협업 기능 지원다양한 프로그래밍 언어 지원 온라인 실행 (컴파일/빌드/디버그)
goormIDEgoormEDU Cloud Integrated Development EnvironmentCloud Software Development Education Platform
TEACHING, LEARNING CODING, DEVELOPING
구름
12
13. 클라우드 코딩 서비스
튜토리얼 기반 학습 서비스의 주요 특징
13
① 단계별 학습
실제로 코드를 작성해보면서 단계별로 학
습을 진행할 수 있습니다.
그림
② 다양한 인터랙션 방법
기본적으로 콘솔 입/출력을 지원할 뿐만 아
니라 캐릭터나 그래픽을 조작하면서 학습
할 수도 있습니다.
그림 그림
그림 그림
그림
그림
③ 다양한 프로그래밍 지원
네이티브 및 웹 개발 언어까지 다양한 언어
를 사용할 수 있고, 웹에서 코드 편집하는
것뿐만 아니라 실제로 실행하거나 실시간
린트 기능까지 지원합니다.
⑥ 자동 채점, 코드 분석
언어의 구분 없이 자동 채점을 지원하며,
제출된 코드들을 분석해주어 학생별 성취
도를 확인할 수 있습니다.
⑧ 다양한 기본 컨텐츠 제공
기존의 오프라인 강의안이나 도서들을 온
라인화시킨 기본 컨텐츠를 제공하여, 질높
은 SW교육 진행이 가능합니다.
④ 엔트리/Blockly 지원
프로그래밍 교육에 앞서 CT(Computatio
nal Thinking)도 진행할 수 있도록 엔트리
와 Blockly를 지원합니다.
⑦ 온라인 코딩 시험
튜토리얼 기반 학습은 온라인 코딩 시험 기
능을 제공할 수 있으므로, 중간고사, 기말
고사에 활용도 가능합니다.
⑤ 강의 작성 기능
온라인 튜토리얼들은 강의자가 직접 작성
하거나 기존 컨텐츠들을 수정하여 사용할
수도 있습니다.
그림
16. 클라우드 코딩 서비스
구름EDU: 튜토리얼 기반 학습 서비스의 기본 화면
16goorm CONFIDENTIAL
강의 내용 및 실습 내용
개념을 이해한 뒤에 실습을 진행할 수 있도
록 HTML / PDF / Slideshare.net / You
Tube 등의 다양한 형태의 강의 내용 전달
매체를 지원합니다.
소스 코드 작성, 콘솔, 파일 입/출력
컨테이너와 연결된 소스 코드 에디터로서 사용자 별로 독립적인 소스 코드
편집 및 실행을 할 수 있습니다. 콘솔의 경우 언어별 REPL 콘솔을 지원하
여 콘솔을 통한 상호작용도 가능합니다.
터미널 입/출력 결과
우측의 에디터에서 작성하여 실행한 코드의 결과는 표준 입
/출력으로 확인할 수 있습니다.
17. 클라우드 코딩 서비스
강의 내용 및 실습 내용
개념을 이해한 뒤에 실습을 진행할 수 있도
록 HTML / PDF / Slideshare.net / You
Tube 등의 다양한 형태의 강의 내용 전달
매체를 지원합니다.
구름EDU: 튜토리얼 기반 학습 서비스의 기본 화면
17goorm CONFIDENTIAL
소스 코드 작성, 콘솔, 파일 입/출력
컨테이너와 연결된 소스 코드 에디터로서 사용자 별로 독립적인 소스 코드
편집 및 실행을 할 수 있습니다. 콘솔의 경우 언어별 REPL 콘솔을 지원하
여 콘솔을 통한 상호작용도 가능합니다.
터미널 입/출력 결과
우측의 에디터에서 작성하여 실행한 코드의 결과는 표준 입
/출력으로 확인할 수 있습니다.
18. 클라우드 코딩 서비스
구름EDU: 튜토리얼 기반 학습 서비스의 기본 화면 (강의자 모드)
18goorm CONFIDENTIAL
내가 만든 과목 리스트
강의자는 여러 형태의 과목을 손쉽게 만들고, 관리할 수 있습니다.
19. 클라우드 코딩 서비스
구름EDU: 튜토리얼 기반 학습 서비스의 기본 화면 (강의자 모드)
19goorm CONFIDENTIAL
강의 커리큘럼 관리
마치 블로그 글을 관리하듯, 책을 집필하듯 강의 커리큘럼을 구
성할 수 있습니다.
강의 구성 요소별 컨텐츠 관리
강의를 구성하는 각 요소들을 클릭하여 컨텐츠를 추가/편집할 수 있
습니다.
20. 클라우드 코딩 서비스
구름EDU: 튜토리얼 기반 학습 서비스의 기본 화면 (강의자 모드)
20goorm CONFIDENTIAL
코딩 실습 내용 편집
코딩 문제 편집기를 통해, 기본으로 제공되는 코드 및 실습 내용, 정
상적으로 코딩을 진행했는 지를 확인할 수 있는 정답 코드를
손쉽게 추가/편집할 수 있습니다.
21. 클라우드 코딩 서비스
IDE 서비스의 주요 특징
① 언제 어디서나
웹 브라우저만 있으면 언제 어디서나
연속성 있는 개발을 할 수 있습니다.
그림
② 일관된 개발환경
매번 새롭게 개발환경을 구축할 필요 없이
일관된 개발환경을 사용할 수 있습니다.
그림 그림
그림 그림
그림
그림
③ 다양한 프로그래밍 지원
네이티브 및 웹 개발 언어까지 다양한 언어
를 사용할 수 있고, 코드 편집/빌드/서버 실
행/실시간 린트 등을 지원합니다.
⑥ 온라인 편집/실시간 협업
별도의 에디터 설치 없이 웹에서 바로 코드
를 편집할 수 있고, 다른 팀원들과 함께 작
업할 수 있습니다.
⑧ 소스 코드 관리(GIT,SVN)
GIT과 SVN을 완벽하게 지원하며,
원클릭으로 저장소에 액세스하고,
작업 내용을 커밋할 수 있습니다.
④ 온라인 빌드/디버그/실행
별도의 빌드/디버깅 도구를 설치하지 않고,
웹에서 바로 빌드 및 디버깅할 수 있습니
다.
⑦ 협업 도구 제공
메신저 수준의 채팅 기능 뿐만 아니라
슬라이드, PDF 를 공유하여 프로젝트의
생산성을 높입니다.
⑤ 터미널 연결 기능
자신이 작업 중이던 개발 환경을
웹에서 바로 터미널로 연결하여
필요한 작업을 수행할 수 있습니다.
21
22. 클라우드 코딩 서비스
구름IDE: 기본 화면
22goorm CONFIDENTIAL
좌측 레이아웃
- 프로젝트/클라우드
애플리케이션 개발에 관련된
모든 파일들을 프로젝트 단위로
관리하거나 클라우드 스토리지를 통
해 관리할 수 있습니다.
우측 레이아웃
- 채팅/문서뷰어/작업내역/아웃라인
우측 레이아웃을 통해 협업 개발자와 채팅을
하거나 문서 뷰어를 함께 보고 해당 소스 코드
의 변경 내역이나 전체 구조를 확인할 수 있습
니다.창 단위로 관리되는 워크스페이스
소스 코드 에디터나 터미널 등을 창 단위로 관리할 수 있는 워크스페이스가 제공
됩니다.
하단 레이아웃 – 디버그/터미널/검색/빌드 아웃풋
하단 레이아웃을 통해 디버그/터미널/검색/빌드 아웃풋에 대한
결과를 확인하고 상호작용할 수 있습니다.
기본 툴바
자주 사용하는 기능을 쉽게 선택할 수 있는 버튼들로 구성된 툴바
23. 클라우드 코딩 서비스
우측 레이아웃
- 채팅/문서뷰어/작업내역/아웃라인
우측 레이아웃을 통해 협업 개발자와 채팅을
하거나 문서 뷰어를 함께 보고 해당 소스 코드
의 변경 내역이나 전체 구조를 확인할 수 있습
니다.창 단위로 관리되는 워크스페이스
소스 코드 에디터나 터미널 등을 창 단위로 관리할 수 있는 워크스페이스가 제공
됩니다.
기본 툴바
자주 사용하는 기능을 쉽게 선택할 수 있는 버튼들로 구성된 툴바
구름IDE: 기본 화면
23goorm CONFIDENTIAL
좌측 레이아웃
- 프로젝트/클라우드
애플리케이션 개발에 관련된
모든 파일들을 프로젝트 단위로
관리하거나 클라우드 스토리지를 통
해 관리할 수 있습니다.
하단 레이아웃 – 디버그/터미널/검색/빌드 아웃풋
하단 레이아웃을 통해 디버그/터미널/검색/빌드 아웃풋에 대한
결과를 확인하고 상호작용할 수 있습니다.
25. 클라우드 코딩 서비스
Origin of goorm
• project.goorm
– SINCE 2008 (나름 originality)
– 처음에는 OPEN SOURCE로 시작 (현재 버전은 코어 공개를 위해 준비 중에 있음)
– IDE로서 갖춰야 할 기능에 집중
– 공모전 수상, 정부 과제를 통한 사업화 준비 (2009~2012)
– 그 사이 북미에서 비슷한 경쟁 서비스 등장 (2010~)
• 사업화? 사업 = 돈을 버는 일
– 고민 1 : 클라우드IDE를 사용하면 효과적인 곳이 어디일까?
• 당시 대학/대학원 재학생들로 구성되어 있었기 때문인지
자연스럽게 대학교 프로그래밍 실습 환경에
눈을 돌림
– 고민 2 : 클라우드IDE 서비스가 기존의 IDE와 경쟁하려면 무엇이 필요할까?
• 막강한 편집 기능, 네이티브에 버금가는 속도와 UI/UX
• 컴파일/빌드 뿐만 아니라 디버깅과 실행까지 가능한 독립된 개발 환경
26. 클라우드 코딩 서비스
서비스로서의 독립된 개발 환경 제공에 대한 고민
• 하나 또는 여러 대의 머신을 공유해서 사용하려면?
– DB를 이용한 사용자/프로젝트 구분
– 클러스터링을 통한 안정화
– 사용자를 위한 각자의 개발환경을 구성하여, 웹 터미널 제공
• 각자의 개발환경을 꾸밀 수 있도록
• 필요한 CLI 커맨드도 실행해 볼 수 있도록
• 각 사용자의 개발환경은 구체적으로 어떤 환경인가?
– 웹 터미널 내에서 자신의 환경과 프로젝트에 접근할 수 있어야 함
– 웹 터미널 내에서 다른 사용자의 환경이나 프로젝트에는 접근할 수 없어야 함
26
27. 클라우드 코딩 서비스
사용자 별 개발 환경을 제공하기 위한 여정…
• 사용자를 위한 각자의 개발환경을 위한 서비스 모델은 어떻게 구성될 수 있을까?
– DB 서버 + 1인 1서버 구조 è 가장 단순한 구조
• 1개의 서버에 서비스를 올려놓고, 온전히 그 서버는 한 명의 유저가 활용
• 관리의 어려움과 엄청난 유지 비용
• 클라우드를 쓰지 않고 데스크탑을 서버로 쓰던 시절이었기 때문에 사실상 구성이 불가능
– DB 서버 + 1서버 (다수의 유저) 구조
• 결국 하나의 머신에서 다수의 유저가 각자의 개발환경을 가지게 해야 함
è 결국 하나의 머신 내에서 다수의 가상 머신을 고려할 수 밖에…
27
28. 클라우드 코딩 서비스
사용자 별 개발 환경을 제공하기 위한 여정…
• 한 서버에서 어떻게 사용자를 위한 각자의 개발환경을 구성할 수 있을까?
– 각 유저만을 위한 시스템 유저를 생성
• 회원가입 시에 유저 아이디가 goorm이라면, 해당 서버에도 goorm이라는 시스템 유저를 생성
• /home/goorm/을 유저 만의 개발 환경으로 연결
• uid, gid가 있으므로, 다른 유저의 환경으로 접근 불가능
28
29. 클라우드 코딩 서비스
테스트베드에서의 실제 사용과 문제점 파악
• 성균관대학교 C/C++실습 과목에 적용, 그 결과는?
– 서버 1개에 30 ~ 40명이 접속
– 동시에 회원가입, 프로젝트 생성, 빌드, 실행…
• 백엔드의 퍼포먼스가 낮아 느렸음 à 백엔드 최적화 필요
– 중요한 것은, 학생들이 돌리는 무한루프 프로그램이 서버 리소스를 잡아먹어,
서버가 다운되는 현상 발생
• 이를 위해 시스템 유저에 cgroup을 적용하여 cpu를 제한
• 실제로 서비스를 운영해보고 찾은 문제점과 피드백들
– 시스템 유저 관리 리스크
• 서비스는 root로 돌고, 사용자는 각자 Uid, gid를 가지고 있어, 서비스가 파일, 폴더 생성 시 사용자
의 uid,gid를 일일히 넣어줘야 함 (넣어주지 않으면 root로 생성되어, 사용자가 접근 불가능)
– CPU 제한의 부작용
• 무한루프로 인한 서버 다운은 없어졌으나, java의 경우 빌드/실행에 대한 속도가 현저히 다운
– Root 권한을 원하는 사용자들
29
30. 클라우드 코딩 서비스
해결책#1 : LXC (Linux Containers)
• 문제점과 피드백을 해결하기 위하여 LXC를 도입
– 기존 가상화 기술에서는 Hypervisor (쉽게 VM웨어) 가 Host OS에서 돌면서, 게스트 OS를 올렸
음
– LXC는 Hypervisor 없이 Host OS에서 “컨테이너”를 올렸음
• LXC를 통해 다음과 같은 문제를 해결함
– 한 유저당 하나의 LXC 컨테이너를 제공하여 Root 권한 적용
– 시스템 유저 관리 리스크가 현저히 줄어듬
– LXC 컨테이너 밑에서 사용자의 프로그램이 돌기 때문에, LXC 컨테이너에 리소스를 제한하여 무한
루프를 막음
• 이렇게 하여 완성된 goormIDE 1.5 스펙과 1차 오픈 베타 시작
– LXC 도입을 통해 인프라 문제들을 해결
– 다만, LXC 자체 관리 리스크가 매우 컸음
• LXC를 쉽게 사용할 수 있는 도구가 없어 일일히 shell 스크립트를 활용
• Shell 스크립트 도중 에러가 나면, 모두 복구하고 다시 그 부분을 Full Cycle..
– 1차 오픈 베타를 통해, 인프라 안정성 확보가 가장 큰 우선순위로
• AWS를 활용하게 된 계기
30
32. 클라우드 코딩 서비스
해결책#2: DOCKER
• DOCKER의 특징
– LXC의 특성을 그대로 담고 있음
– 높은 성능
– 관리를 도와주는 편리한 인터페이스
– 이식성이 좋다
• 이미지/컨테이너 기반이라, 이미지만 옮기면 원래 사용하던 컨테이너 그대로 사용 가능
– 자원 활용에 있어 효율적
32
35. 클라우드 코딩 서비스
서비스 초기 Docker 사용 방법
• 초기 Docker 컨테이너 관리 정책
– 사용자가 여러 컨테이너를 가질 수 있도록
– Docker 이미지를 활용하여 VM에 종속되지 않도록
– S3를 도커 레파지토리로…
goorm
IDE
VM
VM
AWS S3
User Docker Image
Push/Pull
User Docker Container
Run/Commit
VM
35
36. 클라우드 코딩 서비스
Editing History DB
인프라 구조 – 이전 버전
36
Amazon
EC2 Instance
FS Daemon
Project ABC
FS Daemon
Project ABC
Client (Web Browser)
HTML/CSS
Javascript
Web Socket
Client (Web Browser)
HTML/CSS
Javascript
Web Socket
Client (Web Browser)
HTML/CSS
Javascript
Web Socket
User 1
User 2
User 3
Collaborators
Amazon S3
Amazon
EC2 Instance
FS Daemon
Project XYZ
Docker Image
Docker Image
Docker Image
User 2’s Docker Image
User 1’s Docker Image
User 3’s Docker Image
Amazon
EC2 Instance
FS Proxy Server
Project XYZ
Project XYZ
Project ABC
Project ABC
Amazon
EC2 Instance
Project Manager
Server
Auto-Scaling
FileSystemMount
File Editing
File Editing
File Editing
A.js
A.js
X.c
Mongo DB
Project DB
Member DB
37. 클라우드 코딩 서비스
클로즈 베타(2015.08~2015.10) 를 통한 문제점 인식
• 문제점 #1 - “로딩 속도”
– 사용자가 로그아웃 할 때마다 이미지에 Commit
• 이미지 크기가 한없이 커져, VM으로 이미지를 pull 받을 때 갈수록 다운로드 시간이 길어짐
• 이미지에 Commit 할 수 있는 횟수가 255번으로 정해져 있음
• 255번 이상 Commit된 이미지는 Container로 Run 할 수 없음
è S3로부터 사용자의 도커 이미지를 가져오는 것이 너무 느리다.
è S3로부터 프로젝트를 가져오는 것이 너무 느리다.
è 최초 접속 후 IDE 실행 속도 문제
– 결론: 실제 운영해보니, Cloud-backed Storage의 장점(비용) 대비 단점(속도)이 크다.
37
38. 클라우드 코딩 서비스
클로즈 베타(2015.08~2015.10) 를 통한 문제점 인식
• 문제점 #2 – “비효율적인 공유”
– 실시간 협업을 위한 Proxy Storage Server 를 운영했었으나, Scaling의 어려움 발생
– S3에 연결된 프로젝트 데이터의 Strong Consistency 에 대한 문제점 인식 è 연구적으로 접근 중
– AUFS 등 도커의 특성들을 잘 활용하고 있지 못하다는 내부 의견
– 결론: 보안, 속도, 개발 편이성 측면에서 sshfs 만 사용하는 것이 가장 좋을 것으로 판단
38
39. 클라우드 코딩 서비스
AWS S3
오픈 베타 (2015.11~) 를 위한 개선
Docker 이미지를 공유하는 방식 è
Docker 컨테이너에서 생성되는 aufs의 diff 파일/폴더들을 공유하는 방식
39
VM
Cached Ima
ge
접속
User Docker Co
ntainer
원본 Image
Diff File
AUFS
Diff File
VM
Cached Ima
ge
User Docker Co
ntainer
AUFS
Diff File
goorm
IDE
사용자
변경 사항
(프로젝트 코드, 직접 설
치/구성한 APP들)
이후 추가 접속
반영된 사용자
변경 사항
(프로젝트 코드, 직접 설
치/구성한 APP들)
40. 클라우드 코딩 서비스
오픈 베타 (2015.11~) 를 위한 개선
• 기존 방식과의 차이점
– 기본이 되는 이미지 파일이 커질 필요가 없음
– 사용자가 고유의 Docker 이미지를 갖는 방식에서 전체적으로 사용되는 Docker 이미지 하나
만 쓰게 되므로 관리가 쉬워짐
– AUFS의 DIFF 파일/폴더가 곧 실제 변경 내역이므로,
이미지에 Commit되는 크기보다 작음
– 이미지를 다운로드 받는 시간보다 DIFF 파일/폴더 공유 받는 시간이 훨씬 빨라,
퍼포먼스 향상
40
41. 클라우드 코딩 서비스
최근 개편된 인프라 구조
41
S3는 Hibernated
사용자 도커 이미지
저장용도로
42. 클라우드 코딩 서비스
Editing History DB
최근 개편된 인프라 구조
Amazon
EC2 Instance
FS Daemon
Project ABC
FS Daemon
Project ABC
Client (Web Browser)
HTML/CSS
Javascript
Web Socket
Client (Web Browser)
HTML/CSS
Javascript
Web Socket
Client (Web Browser)
HTML/CSS
Javascript
Web Socket
User 1
User 2
User 3
Collaborators
Amazon EBS
Amazon
EC2 Instance
FS Daemon
Project XYZ
Docker Image
Docker Image
Docker Image
Infra Agent
Amazon
EC2 Instance
Auto-Scaling
File Editing
File Editing
File Editing
A.js
A.js
X.c
Mongo DB
Project DB
Member DB
Live
Migration
User 2’s Root Volume
User 1’s Root Volume
User 3’s Root Volume
User 2’s Workspace Volume
User 1’s Workspace Volume
sshfs
root /
root /
root /
42
43. 클라우드 코딩 서비스
개선 효과
• “빨라진 로딩 속도”
– S3를 사용하지 않고, EBS에 도커 이미지를 두고 관리
– 이전에 비해 3~4배 빨라진 최초 로딩 시간
– 프론트엔드 최적화와 함께 극적인 성능 향상 효과
• “컨테이너 관리 효율성 향상”
– 기본 이미지를 두고, 사용자 전용 영역을 2가지 볼륨으로 만들어서 관리
– 도커 레파지토리 관리가 불필요하고, 전체적인 용량이 줄어드는 효과
– 호스트 머신 당 동시 동작할 수 있는 도커 개수가 늘어남
• 문제점
– 비용: S3에 비해 상대적으로 비싼 EBS
– 스케일링: 고정 용량으로 제공되는 EBS를 추가로 매니지해야 함
– EFS가 해결책이 되줄 수 있을지도… (혹은 S3-based In-memory FS)
43
45. 클라우드 코딩 서비스
SUMMARY
• goorm.io - 유저별로 독립된 개발 환경을 제공하기 위한 노력
– 리눅스 유저 그룹 à qemu à LXC à Docker 로 변화
– 변화의 과정 속에서 Docker는 너무나도 알맞은 타이밍에 등장
– Docker 기반의 다양한 인프라를 구성해보는 시행착오
– 더 규모 있는 서비스를 운영해보지는 못했기 때문에 정확한 답을 찾기는 어려움
è 서비스를 발전시켜나가면서 더 빠르고 비용효율적인 운영 방안을 찾아가는 재미!
45
46. 클라우드 코딩 서비스
SUMMARY
• Future? è DevOps as a Service, Container as a Service
– Docker를 단순히 개발환경으로만 제공하는 것이 아니라, PaaS 형태로 제공할 예정
• Docker 컨테이너에 MySQL이나 mongoDB를 담아 제공
• ECS, EFS
– 구름 서비스를 구성하는 각 컨테이너는 ECS를 활용하여 운영
• 서비스에 사용되는 모든 어플리케이션을 Docker 컨테이너 레벨로 묶을 예정
• 구름 서비스의 운영 및 배포가 쉽도록
– 사용자별 프로젝트 파일 시스템은 EFS 도입 고민?
46
47. 클라우드 코딩 서비스
FUTURE?
47
DevOps as a Service – 편리하게 개발하고, 그 결과물을 손쉽게 배포하고 서비스로 운영하는 환경을 클라우드로 제공
서비스 목표
VM 성능 선택 소프트웨어 스택 선택 컨테이너 구성 및 저장컨테이너 성능 선택
게임 서버
쇼핑몰
개인 블로그
웹 서비스
모바일 앱
업무용 도구
SW교육
서비스
운영/관리
빌드/실행
테스트
협업 개발
ONE CLICK ONE CLICK ONE CLICK ONE CLICK
ONE CLICK
48. 글로벌 클라우드 코딩 서비스를 향하여 노력하겠습니다.
감사합니다
http://codigm.com
contact@codigm.com
http://goorm.io
contact@goorm.io