source : https://www.openmaru.io/?p=3076
가상화 기술은 하이퍼바이저를 통해 하드웨어를 에뮬레이션하여 가상 이미지 마다 게스트 운영 체제를 사용합니다.
컨테이너 는 애플리케이션 수준으로 구성되며 커널 하나를 공유하는 여러 OS 가상화하기 때문에 OS가 포함되지 않아 크기가 작고, 고속으로 시작과 정지 합니다.
그 차이점을 보다 구체적으로 알아보겠습니다.
[Container 기반의 DevOps] Cloud Native
열린기술공방에서 처음으로 런칭한 교육 프로그램의 트렌드 세션 자료입니다. 급변하는 환경에 맞춘 SW를 개발하고 배포하기 위해, 빠른 의사결정을 할 수 있는 환경과 프로세스가 더욱 중요해지고 있는데요. 기업들에게 왜 클라우드 네이티브 전략이 필수적인지에 대해 소개한 자료입니다.
열린기술공방의 교육 과정을 통해 Kubernetes위에서 동작하는 Application의 빌드부터 배포까지의 과정을 한 눈에 확인하실 수 있습니다.
source : http://www.opennaru.com/cloud/msa/
마이크로서비스는 애플리케이션 구축을 위한 아키텍처 기반의 접근 방식입니다. 마이크로서비스를 전통적인 모놀리식(monolithic) 접근 방식과 구별 짓는 기준은 애플리케이션을 핵심 기능으로 세분화하는 방식입니다. 각 기능을 서비스라고 부르며, 독립적으로 구축하고 배포할 수 있습니다. 이는 개별 서비스가 다른 서비스에 부정적 영향을 주지 않으면서 작동(또는 장애가 발생)할 수 있음을 의미합니다.
source : http://www.opennaru.com/cloud/container/
가상머신을 구현하기 위하여 VMWARE, KVM, Hyper-V 기술들을 사용하였으나, 최근에는 Docker로 대표되는 LXC (Linux Containers) 와 같은 컨테이너형 가상화쪽으로 화제가 옮겨가고 있습니다.
컨테이너형 가상화 기술은 기존의 가상화 기술보다 가벼워 지고, 이식성이 뛰어난 특징을 가지고 있습니다.
최근에 컨테이너를 많이 사용하는 데에는 그럴 만한 이유가 있습니다. 컨테이너는 애플리케이션을 빠르게 제공하고, 다양한 배포 환경에 구애받지 않고 팀이 더욱 손쉽게 협업할 수 있기 때문입니다. 또한 효과적인 보안 솔루션 및 애플리케이션 통합 전략의 일부로 제공될 수 있습니다.
source : http://www.opennaru.com/open-source/containers-metaphor-for-what-docker-is/
컨테이너가 구축하는 애플리케이션에 대한 표준화된 컨테이너는 화물 운송 분야의 컨테이너는 대한 은유입니다.
컨테이너가 Tantlinger 에 의해 기술적인 표준화가 되기 전부터 오랫동안 구축된 개념입니다. HP, 오라클, IBM 과 같은 대형 벤더들은 수년간 켄테이너 기술을 사용해 왔으며, 특히 구글은 내부 프로젝트에서 매우 유사한 구현 방식을 사용하였습니다.
도커는 오픈소스와 커뮤니티를 중심으로 기술의 표준화와 발전을 이끌고 있습니다.
화물 컨테이너의 내부 화물은 운송에 중요하진 않습니다. 세계의 모든 선박과 트럭 그리고 크레인은 컨테이너 규격에 적합해야 합니다. 마찬가지로 도커 컨테이너도 어떤 애플리케이션( 관련 파일, 프레임워크, 의존성 등)이 내부에 있는지 중요하지 않습니다.
컨테이너는 모든 리눅스 배포판에서 실행되며, AMAZON AWS, Micrsoft Azue, Google Cloud Platform, Rackplace 등 모든 퍼블릭 클라우드 환경에서 운영됩니다.
해외로 이사를 간다고 가정을 하면 사실상 컨테이너에 이사짐을 넣은 후 트럭으로 이동하여, 크레인으로 배에 옮겨져 다른 나라로 운송합니다. 마찬가지로 컨테이너를 이용하면 개발자가 로컬 시스템에서 애플리케이션을 빌드하고 테스트 할 수 있으며
애플리케이션을 서버에 Push할 수 있습니다. 개발자는 컨테이너로 배포하게 되면 개발환경이나 운영환경이나 동일하게 동작할 것이라는 것을 알수 있습니다.
[Container 기반의 DevOps] Cloud Native
열린기술공방에서 처음으로 런칭한 교육 프로그램의 트렌드 세션 자료입니다. 급변하는 환경에 맞춘 SW를 개발하고 배포하기 위해, 빠른 의사결정을 할 수 있는 환경과 프로세스가 더욱 중요해지고 있는데요. 기업들에게 왜 클라우드 네이티브 전략이 필수적인지에 대해 소개한 자료입니다.
열린기술공방의 교육 과정을 통해 Kubernetes위에서 동작하는 Application의 빌드부터 배포까지의 과정을 한 눈에 확인하실 수 있습니다.
source : http://www.opennaru.com/cloud/msa/
마이크로서비스는 애플리케이션 구축을 위한 아키텍처 기반의 접근 방식입니다. 마이크로서비스를 전통적인 모놀리식(monolithic) 접근 방식과 구별 짓는 기준은 애플리케이션을 핵심 기능으로 세분화하는 방식입니다. 각 기능을 서비스라고 부르며, 독립적으로 구축하고 배포할 수 있습니다. 이는 개별 서비스가 다른 서비스에 부정적 영향을 주지 않으면서 작동(또는 장애가 발생)할 수 있음을 의미합니다.
source : http://www.opennaru.com/cloud/container/
가상머신을 구현하기 위하여 VMWARE, KVM, Hyper-V 기술들을 사용하였으나, 최근에는 Docker로 대표되는 LXC (Linux Containers) 와 같은 컨테이너형 가상화쪽으로 화제가 옮겨가고 있습니다.
컨테이너형 가상화 기술은 기존의 가상화 기술보다 가벼워 지고, 이식성이 뛰어난 특징을 가지고 있습니다.
최근에 컨테이너를 많이 사용하는 데에는 그럴 만한 이유가 있습니다. 컨테이너는 애플리케이션을 빠르게 제공하고, 다양한 배포 환경에 구애받지 않고 팀이 더욱 손쉽게 협업할 수 있기 때문입니다. 또한 효과적인 보안 솔루션 및 애플리케이션 통합 전략의 일부로 제공될 수 있습니다.
source : http://www.opennaru.com/open-source/containers-metaphor-for-what-docker-is/
컨테이너가 구축하는 애플리케이션에 대한 표준화된 컨테이너는 화물 운송 분야의 컨테이너는 대한 은유입니다.
컨테이너가 Tantlinger 에 의해 기술적인 표준화가 되기 전부터 오랫동안 구축된 개념입니다. HP, 오라클, IBM 과 같은 대형 벤더들은 수년간 켄테이너 기술을 사용해 왔으며, 특히 구글은 내부 프로젝트에서 매우 유사한 구현 방식을 사용하였습니다.
도커는 오픈소스와 커뮤니티를 중심으로 기술의 표준화와 발전을 이끌고 있습니다.
화물 컨테이너의 내부 화물은 운송에 중요하진 않습니다. 세계의 모든 선박과 트럭 그리고 크레인은 컨테이너 규격에 적합해야 합니다. 마찬가지로 도커 컨테이너도 어떤 애플리케이션( 관련 파일, 프레임워크, 의존성 등)이 내부에 있는지 중요하지 않습니다.
컨테이너는 모든 리눅스 배포판에서 실행되며, AMAZON AWS, Micrsoft Azue, Google Cloud Platform, Rackplace 등 모든 퍼블릭 클라우드 환경에서 운영됩니다.
해외로 이사를 간다고 가정을 하면 사실상 컨테이너에 이사짐을 넣은 후 트럭으로 이동하여, 크레인으로 배에 옮겨져 다른 나라로 운송합니다. 마찬가지로 컨테이너를 이용하면 개발자가 로컬 시스템에서 애플리케이션을 빌드하고 테스트 할 수 있으며
애플리케이션을 서버에 Push할 수 있습니다. 개발자는 컨테이너로 배포하게 되면 개발환경이나 운영환경이나 동일하게 동작할 것이라는 것을 알수 있습니다.
source : http://www.opennaru.com/cloud/ci-cd/
CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법입니다. CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다. CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제(일명 "인테그레이션 헬(integration hell)")을 해결하기 위한 솔루션입니다.
특히, CI/CD는 애플리케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르는 애플리케이션의 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공합니다. 이러한 구축 사례를 일반적으로 "CI/CD 파이프라인"이라 부르며 개발 및 운영팀의 애자일 방식 협력을 통해 지원됩니다.
성공적인 디지털 트랜스포메이션을 위해서는 클라우드 전환이 필수적인데요, 많은 기업에서 막상 클라우드를 도입할 때 여러가지 장벽에 맞닥뜨리게 됩니다.
클라우드 마이그레이션에 관한 여러분의 고민을 시원하게 해결해주기 위해 Global Public Cloud의 독보적인 선두 AWS(Amazone Web Services)와 클라우드 마이그레이션 전문기업 오픈소스컨설팅이 만났습니다!
많은 기업들이 마이그레이션 수행할 때 가장 많이 하는 질문 Top 10에 대한 기술 전문가의 노하우가 담긴 답변을 공유합니다.
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항rockplace
[Microsoft Azure와 Red Hat OpenShift를 통한 비즈니스 스피드 업! 웨비나]
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
락플레이스 구천모 상무
영상 다시보기 : https://youtu.be/i3yKrHLHYJI
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항Ji-Woong Choi
Cloud 기반으로 U2C(Unix to Cloud),U2L(Unix to Linux) 마이그레이션에 대한 가이드 라인과 사이징 관련 고려 사항에 대해 설명한 자료입니다.
많은 전환 프로젝트에서 추출된 경험치가 들어가 있으며, 전환별 난이도 및 고려사항이 들어가 있습니다.
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
왜 기업은 멀티/하이브리드 클라우드에 주목해야하는지, 그리고 실제 멀티/하이브리드 유형과 사례를 살펴봄으써 멀티/하이브리드 수행 전략을 세움에 있어 실질적인 도움을 드립니다 | Why businesses should pay attention to multi-/hybrid clouds, and by looking at real-world multi/hybrid types and examples, we offer real help in creating a multi- and hybrid performance strategy.
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...Edureka!
***** DevOps Masters Program : https://www.edureka.co/masters-progra... *****
This DevOps tutorial takes you through what is DevOps all about and basic concepts of DevOps and DevOps Tools. This DevOps tutorial is ideal for beginners to get started with DevOps. Check our complete DevOps playlist here: http://goo.gl/O2vo13
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
Virtualization, Containers, Docker and scalable container management servicesabhishek chawla
In this presentation we take you through the concept of virtualization which includes the different types of virtualizations, understanding the Docker as a software containerization platform like Docker's Architecture, Building and running custom images in Docker containers, Scalable container management services which include overview of Amazon ECS & kubernetes and how at LimeTray we harnessed the power of kubernetes for scalable automated deployment of our microservices.
Source - https://www.openmaru.io/?p=3228
쿠버네티스를 이해하기 위해서 반드시 알아야 하는 개념이 불변의 인프라스트럭처 입니다.
불변과 가변의 인프라스트럭처에서 서버 운영 방법을 비교하여 개념과 장점을 설명 드립니다.
이제 IT 환경이 왜 머신 중심에서 애플리케이션 중심으로 전환되고 있는지에 대해서 살펴보겠습니다.
불변의 인프라는 고급 도자기 찻잔과 비유 될 수 있습니다.
일회용 종이컵은 한번 쓰면 버리고, 구매하는데도 큰 부담이 없습니다.
하지만 고급 도자기 찻잔은 어떨까요?애지중지 관리하며 깨지면 모든 것이 끝나게 됩니다.
빌표 자료 다운로드 - https://www.openmaru.io/?p=3186
쿠버네티스 와 컨테이너 기술은 변경이 불가능한 Immutable Infrastructure ( 불변의 인프라스트럭처 ) 가 가장 중요한 개념입니다.
우리는 MS Windows 나 Apple MacOS 를 사용하면서 보안, 안정성 그리고 성능 등의 이유로 OS (운영체제) 를 자주 업데이트 합니다.
OS는 시간이 지남에 따라 내용이나 설정이 수시로 변화가 발생하며, 새로운 애플리케이션를 설치할 때는 레지스트리도 변경합니다.
지금까지 사용하던 많은 소프트웨어들은 업데이트나 설정 변경 등을 반복하면서 최신 상태로 유지하였고, 서버용 소프트웨어도 유사한 방법으로 관리하였습니다.
이렇게 서버가 시간 지남에 따라 상태가 변해가고 이로 인해 문제가 발생하는 것을 컨피규레이션 디리프트 ( Configuration Drift ) 라고 합니다.
불변의 인프라스트럭처 인 Immutable Infrastructure 에 대한 개념을 , 이해하기 위해서 가변의 인프라인 Mutable Infrastructure 와 중요한 특징들을 비교해 보겠습니다.
source : http://www.opennaru.com/cloud/ci-cd/
CI/CD는 애플리케이션 개발 단계를 자동화하여 애플리케이션을 보다 짧은 주기로 고객에게 제공하는 방법입니다. CI/CD의 기본 개념은 지속적인 통합, 지속적인 서비스 제공, 지속적인 배포입니다. CI/CD는 새로운 코드 통합으로 인해 개발 및 운영팀에 발생하는 문제(일명 "인테그레이션 헬(integration hell)")을 해결하기 위한 솔루션입니다.
특히, CI/CD는 애플리케이션의 통합 및 테스트 단계에서부터 제공 및 배포에 이르는 애플리케이션의 라이프사이클 전체에 걸쳐 지속적인 자동화와 지속적인 모니터링을 제공합니다. 이러한 구축 사례를 일반적으로 "CI/CD 파이프라인"이라 부르며 개발 및 운영팀의 애자일 방식 협력을 통해 지원됩니다.
성공적인 디지털 트랜스포메이션을 위해서는 클라우드 전환이 필수적인데요, 많은 기업에서 막상 클라우드를 도입할 때 여러가지 장벽에 맞닥뜨리게 됩니다.
클라우드 마이그레이션에 관한 여러분의 고민을 시원하게 해결해주기 위해 Global Public Cloud의 독보적인 선두 AWS(Amazone Web Services)와 클라우드 마이그레이션 전문기업 오픈소스컨설팅이 만났습니다!
많은 기업들이 마이그레이션 수행할 때 가장 많이 하는 질문 Top 10에 대한 기술 전문가의 노하우가 담긴 답변을 공유합니다.
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항rockplace
[Microsoft Azure와 Red Hat OpenShift를 통한 비즈니스 스피드 업! 웨비나]
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
락플레이스 구천모 상무
영상 다시보기 : https://youtu.be/i3yKrHLHYJI
[오픈소스컨설팅]클라우드기반U2L마이그레이션 전략 및 고려사항Ji-Woong Choi
Cloud 기반으로 U2C(Unix to Cloud),U2L(Unix to Linux) 마이그레이션에 대한 가이드 라인과 사이징 관련 고려 사항에 대해 설명한 자료입니다.
많은 전환 프로젝트에서 추출된 경험치가 들어가 있으며, 전환별 난이도 및 고려사항이 들어가 있습니다.
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
왜 기업은 멀티/하이브리드 클라우드에 주목해야하는지, 그리고 실제 멀티/하이브리드 유형과 사례를 살펴봄으써 멀티/하이브리드 수행 전략을 세움에 있어 실질적인 도움을 드립니다 | Why businesses should pay attention to multi-/hybrid clouds, and by looking at real-world multi/hybrid types and examples, we offer real help in creating a multi- and hybrid performance strategy.
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...Edureka!
***** DevOps Masters Program : https://www.edureka.co/masters-progra... *****
This DevOps tutorial takes you through what is DevOps all about and basic concepts of DevOps and DevOps Tools. This DevOps tutorial is ideal for beginners to get started with DevOps. Check our complete DevOps playlist here: http://goo.gl/O2vo13
DevOps Tutorial Blog Series: https://goo.gl/P0zAfF
Virtualization, Containers, Docker and scalable container management servicesabhishek chawla
In this presentation we take you through the concept of virtualization which includes the different types of virtualizations, understanding the Docker as a software containerization platform like Docker's Architecture, Building and running custom images in Docker containers, Scalable container management services which include overview of Amazon ECS & kubernetes and how at LimeTray we harnessed the power of kubernetes for scalable automated deployment of our microservices.
Source - https://www.openmaru.io/?p=3228
쿠버네티스를 이해하기 위해서 반드시 알아야 하는 개념이 불변의 인프라스트럭처 입니다.
불변과 가변의 인프라스트럭처에서 서버 운영 방법을 비교하여 개념과 장점을 설명 드립니다.
이제 IT 환경이 왜 머신 중심에서 애플리케이션 중심으로 전환되고 있는지에 대해서 살펴보겠습니다.
불변의 인프라는 고급 도자기 찻잔과 비유 될 수 있습니다.
일회용 종이컵은 한번 쓰면 버리고, 구매하는데도 큰 부담이 없습니다.
하지만 고급 도자기 찻잔은 어떨까요?애지중지 관리하며 깨지면 모든 것이 끝나게 됩니다.
빌표 자료 다운로드 - https://www.openmaru.io/?p=3186
쿠버네티스 와 컨테이너 기술은 변경이 불가능한 Immutable Infrastructure ( 불변의 인프라스트럭처 ) 가 가장 중요한 개념입니다.
우리는 MS Windows 나 Apple MacOS 를 사용하면서 보안, 안정성 그리고 성능 등의 이유로 OS (운영체제) 를 자주 업데이트 합니다.
OS는 시간이 지남에 따라 내용이나 설정이 수시로 변화가 발생하며, 새로운 애플리케이션를 설치할 때는 레지스트리도 변경합니다.
지금까지 사용하던 많은 소프트웨어들은 업데이트나 설정 변경 등을 반복하면서 최신 상태로 유지하였고, 서버용 소프트웨어도 유사한 방법으로 관리하였습니다.
이렇게 서버가 시간 지남에 따라 상태가 변해가고 이로 인해 문제가 발생하는 것을 컨피규레이션 디리프트 ( Configuration Drift ) 라고 합니다.
불변의 인프라스트럭처 인 Immutable Infrastructure 에 대한 개념을 , 이해하기 위해서 가변의 인프라인 Mutable Infrastructure 와 중요한 특징들을 비교해 보겠습니다.
발표 자료 다운로드 - https://www.openmaru.io/?p=3171
컨테이너의 역사는 1979년에 Chroot로부터 시작합니다.
2008년에는 지금 컨테이너기술의 바탕이 되는 LXC , 리눅스 컨테이너기술을 IBM 에서 발표합니다.
2013년에 오픈 소스로 도커가 발표되면서, IT 업계 컨테이너 기술에 대한 폭발적인 관심을 이끌게 됩니다.
발표자료 다운로드 - https://www.openmaru.io/?p=3132
쿠버네티스 는 구글이 개발하고 오픈소스로 공개한 컨테이너 오케스트레이션 도구 입니다.
구글이 어떤 과정을 통하여 쿠버네티스를 만들었고, 내부적으로 컨테이너 기술을 어떻게 사용하고 있는 지에 대해서 설명하겠습니다.
컨테이너 를 들으면 무엇이 떠오르나요?
항구나 공항 등에서 보는 직 물류 업계에서 사용되는 컨테이너가 떠오르 실 것입니다
컨테이너는 내용물을 하나씩 이동하는 것이 아니라 박스에 수하물을 담아 통째로 이동하기 때문에 편리한 물류 수단입니다.
물류 분야에서 컨테이너를 통해 화물 배송의 표준화가 이루진 것처럼 IT분야에서도 컨테이너기술을 통해 애플리케이션 배포에 대한 표준화를 이루었습니다.
프라이빗 클라우드 이던 퍼불릭 클라우드 이던 컨테이너로 패키징되어 있으면 어디 서든 애플리케이션을 실행할 수 있습니다.
VM과 컨테이너 상에서 Apache & Tomcat 설치, 실행 그리고 배포 데모
데모 요약 : 수작업으로 진행하는 가상화환경과 OCP 환경(Dockerfile)의
간단한 apache / tomcat 설치 및 실행하는 비교 데모 입니다.
데모 내용 : 물리서버 또는 가상화 환경에서 수작업으로 진행했던 배포 작업들이 컨테이너 환경에서 원클릭으로 배포하는 영상을 보여주는 데모입니다. 컨테이너 환경에서의
배포는 수작업으로 하는 배포 대비 상상이상의 시간을 아낄 수 있습니다.
오픈나루 데모 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%eb%8d%b0%eb%aa%a8-%ec%9c%a0%ed%8a%9c%eb%b8%8c/
오픈나루 비대면 워크샵 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%ec%9b%8c%ed%81%ac%ec%83%b5/
가상화 기술 VS 컨테이너의 집적도 비교 데모
데모 요약 : 동일한 환경에서 가상화환경과 OCP 환경의 자원 사용 효율성 비교
데모 내용 : 동일한 조건의 머신에서 가상화 환경 대비 필요한 자원만 구동되는
컨테이너 환경을 보여 주는 영상입니다.
컨테이너 환경으로 필요한 자원만 이용하여 낭비되는 비용을 줄일 수 있습니다.
또한 여유 자원을 확보할 수 있기에 긴급상황 시 안정적으로 운영이 가능합니다.
오픈나루 데모 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%eb%8d%b0%eb%aa%a8-%ec%9c%a0%ed%8a%9c%eb%b8%8c/
오픈나루 비대면 워크샵 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%ec%9b%8c%ed%81%ac%ec%83%b5/
PaaS 환경에서 기업 메신저 서비스 10분 만에 구축하기 데모
데모 요약 : 저장소와 Openshift Cluster가 구성된 상태에서
Openshift 빌드/배포를 구현하는 간단한 방법을 시연
데모 내용 : openshift환경에서 기업용 메신저 서비스 mattermost 어플리케이션을
배포하는 데모 영상입니다.
오픈나루 데모 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%eb%8d%b0%eb%aa%a8-%ec%9c%a0%ed%8a%9c%eb%b8%8c/
오픈나루 비대면 워크샵 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%ec%9b%8c%ed%81%ac%ec%83%b5/
마이크로서비스 아키텍처 (MSA) 데모
데모 요약 : bookinfo 어플리케이션 내 '별점주기', '리뷰 달기' 등 각 기능의 서버가 MSA로
따로 운영되는데 이번 데모에서는 별점주기 기능을 테스트로 장애 발생시켜 전체 홈페이지를
셧다운하는 것이 아닌 하나의 '별점주기' 기능 서버만 지원하는 영상
데모 내용 : 기존 전통적인 모놀리식 구조같은 하나의 큰 어플리케이션을 운영하는 것
대비 어플리케이션을 마이크로 형태로 나누어 변경과 조합이 가능하도록 하면서
효율적인 운영을 보여주는 데모 영상입니다.
오픈나루 데모 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%eb%8d%b0%eb%aa%a8-%ec%9c%a0%ed%8a%9c%eb%b8%8c/
오픈나루 비대면 워크샵 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%ec%9b%8c%ed%81%ac%ec%83%b5/
로그 통합 데모
데모 요약 : 컨테이너 환경에서 Kibana를 통해 로그를 보는것과 예전방식으로 보는것의 차이점 비교 데모
데모 내용 : 흩어져 있고 쉽게 사라지는 모든 컨테이너를 모니터링 하여 장애 발생 시 원인을 정확히 파악할 수 있는 데모영상입니다.
OPENMARU APM 솔루션으로 장애 발생 원인과 Troubleshooting으로 어플리케이션을 안정적으로 운영할 수 있습니다.
오픈나루 데모 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%eb%8d%b0%eb%aa%a8-%ec%9c%a0%ed%8a%9c%eb%b8%8c/
오픈나루 비대면 워크샵 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%ec%9b%8c%ed%81%ac%ec%83%b5/
컨테이너 상에서의 서비스 무중단 배포 방법 비교 데모
데모 요약 : 무중단 배포 구현을 위해 OCP 상에 어떤설정이
어디에 추가되어야 하는지 항목 별로 살펴보는 데모
데모 내용 : 개발자, 운영자 다 모여서 같은 시간에 배포가 아닌 시간 및 조직에 구애받지 않고
자유롭게 배포할 수 있는 데모 영상입니다. 이런 자유로운 배포 기능은 실제 서비스 운영상의 장애를 50% 가까이 줄일 수 있습니다.
오픈나루 데모 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%eb%8d%b0%eb%aa%a8-%ec%9c%a0%ed%8a%9c%eb%b8%8c/
오픈나루 비대면 워크샵 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%ec%9b%8c%ed%81%ac%ec%83%b5/
source : https://www.openmaru.io/?p=2251
자동 확장 자원 풀 – Auto Scaling 데모
데모 요약 : 부하 증가 시 기존의 수작업으로 진행하던 자원확장을 Openshift의 Auto Scailing 으로 자동으로 확장하는 것을 보여주는 데모
데모 내용 : 레거시 환경에서 특정업무 부하 증가 시 수작업으로 진행되었던 확장기능이 Openshift 솔루션으로 자동확장되는 기능을 보여주는 데모영상입니다.
Openshift 자동확장 기능으로 안정적인 서비스 운영을 할 수 있습니다.
멀티 애플리케이션 환경에서 부하에 따른 자동 자원 할당 데모
데모 요약 : 한정된 리소스를 얼마나 효율적으로 사용할 수 있는지를 시연
데모 내용 : 멀티 환경에서 Openshift는 자동으로 자원을 할당하여 운영하는데 있어서
인적자원 투입 최소화와 보다 안정적으로 운영할 수 있게 도움을 주는 데모 영상입니다.
오픈나루 데모 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%eb%8d%b0%eb%aa%a8-%ec%9c%a0%ed%8a%9c%eb%b8%8c/
오픈나루 비대면 워크샵 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%ec%9b%8c%ed%81%ac%ec%83%b5/
PaaS 환경에서 전자 정부 프레임워크 배포 데모
데모 요약: 저장소와 OCP가 기 구성된 상태에서
오픈시프트 빌드/배포를 구현하는 간단한 방법을 시연
데모 내용 : 전자정부프레임웍 기반의 애플리케이션을
OCP 환경에서 배포하는 방법을 보여주는 데모영상입니다.
오픈나루 데모 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%eb%8d%b0%eb%aa%a8-%ec%9c%a0%ed%8a%9c%eb%b8%8c/
오픈나루 비대면 워크샵 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%ec%9b%8c%ed%81%ac%ec%83%b5/
PaaS 환경에서 오픈 소스 워드프레스 구축하기 데모
데모 요약 : 저장소와 Openshift Cluster가 구성된 상태에서
Openshift 빌드/배포를 구현하는 간단한 방법을 시연
데모 내용 : openshift환경에서 Wordpress를 배포하는 데모 영상입니다.
오픈나루 데모 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%eb%8d%b0%eb%aa%a8-%ec%9c%a0%ed%8a%9c%eb%b8%8c/
오픈나루 비대면 워크샵 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%ec%9b%8c%ed%81%ac%ec%83%b5/
PaaS 환경에서 다중 사용자 머신 러닝 플랫폼 구축 데모
데모 요약 : 다수의 사용자에게 동일한 개발환경을 제공하는 방법을 보여줍니다.
이제 개별적으로 환경구성을 위해 시간을 소비하지 않아도 됩니다.
데모 내용 : 기존 레거시 환경 대비 PaaS 환경에서 신규 어플리케이션을 안전하고 신속하게 구축,
배포할 수 있는 데모 영상입니다. 신규 기업용 메신저 도입 시 빠르면 10분안에 구축할 수 있습니다.
오픈나루 데모 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%eb%8d%b0%eb%aa%a8-%ec%9c%a0%ed%8a%9c%eb%b8%8c/
오픈나루 비대면 워크샵 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%ec%9b%8c%ed%81%ac%ec%83%b5/
4. • 자원 효율성, 자원 격리, 호환성, Auto Scaling, DevOps, MSA, 관리 편의성에서 비교
물리서버와 가상서버 비교 - 물리서버
5. • 자원 효율성, 자원 격리, 호환성, Auto Scaling, DevOps, MSA, 관리 편의성에서 비교
물리서버와 가상서버 비교 - 가상서버
6. • 자원 효율성, 자원 격리, 호환성, Auto Scaling, DevOps, MSA, 관리 편의성에서 비교
물리서버 vs 가상서버 vs 컨테이너 비교
7. • 하드웨어 가상화는 CPU, 메모리, 하드 디스크 등의 하드웨어를 가상화하고 있기 때문에
하드웨어와 OS 부팅이 필요 ( 부팅에 분 단위 시간 소요 )
• 컨테이너 형 가상화에서는 컨테이너 부팅 시 OS가 이미 시작된 상태
(프로세스 시작에 필요한 초 단위 시간 소요)
시작 시간 - Containers vs. VMs
오랫 동안 운영해 오던 가상서버들의 문제점들이 , 컨테이너 기술을 통해 어떻게 해결될 수 있는 지 확인해 보겠습니다.
상태를 가지고 있는 가상화 기술과 상태가 없는 컨테이너 기술이 어떤 장단점이 있는지도 함께 설명 드립니다.
IT 인프라스럭처와 아키텍처는 베어 메탈에서 가상화를 거쳐 최근에는 컨테이너 기술로 발전하고 있습니다.
LXC 는 리눅스 컨테이너의 약자로서 일반적으로 컨테이너라고 불리고 있습니다.
각 기술들의 가장 큰 차이점은 보시는 것처럼 집적도에 있습니다.
동일한 서버 사양에서 가상화 기술과 컨테이너 기술을 비교합니다.
가상머신에는 게스트OS가 반드시 있어야 합니다.
가상머신에 자원이 필요하면 스케일업해야 합니다.
컨테이너는 자원이 필요하면 컨테이너를 자동으로 스케일 아웃합니다.
컨테이너는 가상머신과 달리 게스트OS도 없고, 유휴자원도 사용할 수 있어 효율성이 매우 높습니다.
물리머신은 베어메탈 장비에 오에쓰를 하나만 설치합니다.
그리고 그 위에 여러 와쓰 인스턴스를 설치하여 운영합니다.
씨퓨유나 메모리 같은 하드웨어자원을 격리할 수 없으며, 확장이 어렵습니다.
가상서버는 하이퍼바이저라는 하드웨어에뮬레이터를 이용하여 가상하드웨어를 제공합니다.
가상하드웨어에 게스트오에쓰를 설치하고, 그 위에 애플리케이션이 필요한 와쓰인스턴스를 올립니다.
가상화 제품에 따라 이미지에 대한 호환성 문제와 하이퍼바이저와 게스트오에쓰에 대한 오버헤드가 있습니다.
컨테이너 기술은 리눅스에서 제공하는 프로세스 격리방법을 이용하여 가상 오에쓰로 분리하는 방법입니다.
호스트오에쓰에서 프로세쓰로 분리되기 때문에 오버헤드가 거의 없으며, 부팅 시간이 없습니다.
컨테이너 기술은 자동확장과 자동복구 그리고 클라우드 이식성을 제공합니다.
가상서버는 호스트 오에쓰를 부팅하고, 하이퍼바이저를 동작 시키고, 게스트 오에쓰가 부팅되어야 합니다.
컨테이너는 게스트오에쓰없이 호스트오에쓰에서 프로세스로 분리되어, 부팅없이 바로 실행 가능합니다.
그래서 컨테이너는 갑작스런 사용자 폭증 즉 버스팅 이벤트에 적합합니다.
가상화 제품 별로 가상이미지에 대한 호환성 이슈가 있습니다.
게스트오에쓰를 포함한 거대한 이미지는 몇 테라씩될 때가 있고, 이식성도 매우 떨어집니다.
하이퍼바이저와 게스트오에쓰때문에 부팅시간이 느리고, 가상서버 불일치 즉 컨퓨그레이션 디리푸트 현상도 있습니다.
컨테이너는 레이어드형태 즉 필요한 파일들을 차곡차곡 쌓기 때문에 단일 이미지사이즈가 작습니다.
게스트오에쓰가 없어서 오에쓰 설치공간이나 오에쓰 부팅시간이 필요없습니다.
컨테이너로 패키징되면 어디든지 배포될수 있어 하이브리드 클라우드를 지원합니다.
같은 사양의 서버에서 가상서버와 컨테이너로 톰캣을 운영할 때 집적도가 어떻게 다른지 보여주는 데모아키텍처 입니다.
컨테이너 환경에서 톰캣 인스턴스가 수배 이상 많아 집적도가 높다는 것을 알 수 있습니다.
해당 페이지는 비교 테스트에 대한 결과입니다.
가상머신 환경에서는 16개의 톰캣 인스턴스를 띄우는 것이 가능했고,
컨테이너 환경에서는, 40개의 톰캣 인스턴스를 띄우는 것이 가능했습니다.
영상을 통해 테스트의 과정을 살펴보도록 하겠습니다.