Docker containers have become a key component of modern application design. Increasingly, developers are breaking their applications apart into smaller components and distributing them across a pool of compute resources.
OpenSearch는 배포형 오픈 소스 검색과 분석 제품군으로 실시간 애플리케이션 모니터링, 로그 분석 및 웹 사이트 검색과 같이 다양한 사용 사례에 사용됩니다. OpenSearch는 데이터 탐색을 쉽게 도와주는 통합 시각화 도구 OpenSearch와 함께 뛰어난 확장성을 지닌 시스템을 제공하여 대량 데이터 볼륨에 빠르게 액세스 및 응답합니다. 이 세션에서는 실제 동작 구조에 대한 설명을 바탕으로 최적화를 하기 위한 방법과 운영상에 발생할 수 있는 이슈에 대해서 알아봅니다.
Docker containers have become a key component of modern application design. Increasingly, developers are breaking their applications apart into smaller components and distributing them across a pool of compute resources.
OpenSearch는 배포형 오픈 소스 검색과 분석 제품군으로 실시간 애플리케이션 모니터링, 로그 분석 및 웹 사이트 검색과 같이 다양한 사용 사례에 사용됩니다. OpenSearch는 데이터 탐색을 쉽게 도와주는 통합 시각화 도구 OpenSearch와 함께 뛰어난 확장성을 지닌 시스템을 제공하여 대량 데이터 볼륨에 빠르게 액세스 및 응답합니다. 이 세션에서는 실제 동작 구조에 대한 설명을 바탕으로 최적화를 하기 위한 방법과 운영상에 발생할 수 있는 이슈에 대해서 알아봅니다.
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon Web Services Korea
Amazon Elastic Kubernetes Service (Amazon EKS)를 통하여 오픈소스 컨테이너 오케이스트레이션 도구인 Kubernetes를 신규 도입하고자 하는 고객들이 폭발적으로 늘어나고 있습니다. AWS Cloud Development Kit (AWS CDK) 그리고 CDK8s 를 활용하여 개발자에게 친숙한 프로그래밍 언어로 Amazon EKS를 정의하고 Kubernetes 어플리케이션을 정의하는 데에 활용하는 방법을 소개하여, 새롭게 Amazon EKS를 사용해보고자 하는 고객들이 도입을 가속화할 수 있는 방법을 제시합니다.
AWS를 위한 도커, 컨테이너 (이미지) 환경 보안 방안 - 양희선 부장, TrendMicro :: AWS Summit Seoul 2019Amazon Web Services Korea
스폰서 발표 세션 | AWS를 위한 도커, 컨테이너 (이미지) 환경 보안 방안
양희선 부장, TrendMicro
AWS 내 보안 접근은 기존의 보안 적용 방식과 많은 차이점이 있습니다. AWS 환경에서는 도커 및 컨테이너를 사용하여 빠르게 서비스를 적용하고 커스터마이징 서비스가 이루어져 동시에 보안을 적용 적용함에 있어 많은 어려움이 있습니다. 호스트 OS 및 독립적인 컨테이너에 대한 많은 위협들이 있고 이러한 위협들을 빠르게 파악하는 동시에 해당 위협 요소를 제거 및 차단하는 방법이 필요합니다. 본 세션에서는 일련의 위협들로 부터 도커 컨테이너 및 컨테이너 (이미지)에 대한 보안 위협들을 알아보고 트렌드마이크로의 Deep Security 및 Smart Check를 통한 효율적인 보안 적용 방법에 대한 가이드를 제시합니다.
- 동영상 보기: https://www.youtube.com/watch?v=Rq4I57eqIp4
Amazon RDS 프록시는 Amazon Relational Database Service (RDS)를 위한 완전 관리형 고가용성 데이터베이스 프록시로, 애플리케이션의 확장 성, 데이터베이스 장애에 대한 탄력성 및 보안 성을 향상시킬 수 있습니다. (2020년 6월 서울 리전 출시)
In this session we’ll take a high-level overview of AWS Lambda, a serverless compute platform that has changed the way that developers around the world build applications. We’ll explore how Lambda works under the hood, the capabilities it has, and how it is used. By the end of this talk you’ll know how to create Lambda based applications and deploy and manage them easily.
Speaker: Chris Munns - Principal Developer Advocate, AWS Serverless Applications, AWS
Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...Amazon Web Services
The AWS Global Network provides a secure, highly available, and high- performance infrastructure for customers. In this session, we walk through the architecture of various parts of the AWS network such as Availability Zones, AWS Regions, our Global Network connecting AWS Regions to each other and our Edge Network which provides Internet connectivity. We explain how AWS services such as AWS Direct Connect and Amazon CloudFront integrate with our Global Network to provide the best experience for our customers. We also dive into how the AWS Global Network connects to the rest of the Internet through peering at a global scale. If you are curious about how AWS network infrastructure can support large-scale cat photo distribution or how Internet routing works, this session answers those questions. Please join us for a speaker meet-and-greet following this session at the Speaker Lounge (ARIA East, Level 1, Willow Lounge). The meet-and-greet starts 15 minutes after the session and runs for half an hour.
An inroduction to Terraform, a tool that helps you deploy and change your infrastructure as code. Given at Rencontres Mondiales du Logiciel libre (RMLL) 2017
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Amazon Web Services
Using Terraform to automate your infrastructure on AWS. What is Terraform and how is it different from Ansible. How to control cloud deployments using Terraform.
AWS 클라우드를 활용하면 사용자의 트래픽에 따라 IT 인프라 아키텍처를 확장할 수 있습니다. 이번 강연에서는 서비스 초기의 작은 트래픽에 대응할 수 있는 단순한 아키텍처로 시작해 사업 성장 후의 수백만 사용자에 달하는 대규모 트래픽을 지탱할 수 있는 고확장성 아키텍처에 이르기까지의 단계별 아키텍처 구성 방법에 대해 소개해 드리고 컴퓨팅 및 데이터베이스 선택 및 사용자 증가에 따른 트래픽 경감 방법, 오토스케일링 및 모니터링과 자동화, DB 부하 분산, 고가용성 확보 등에 대한 다양한 모범사례를 알려드릴 예정입니다.
라이브 스트리밍을 위한 알맞은 솔루션 선택하기 - AWS 서비스 및 CJ 올리브네트웍스의 라이브 커머스 사례 소개 - 이보길 AWS 테크...Amazon Web Services Korea
라이브 스트리밍 기술은 전통적인 방송 영역 뿐 아니라 전자상거래, 교육은 물론 IoT 디바이스와 연동 등 다양한 산업분야에서 새로운 기회를 창출해나가고 있습니다. AWS는 라이브 스트리밍에 필요한 가장 광범위하고 깊은 서비스 포트폴리오를 제공합니다. 본 세션에서는 여러분의 비즈니스 활용 사례에 알맞는 솔루션을 구축할 수 있는 방법을 소개 드리며, CJ 올리브네트웍스의 라이브 라떼 사례를 살펴봅니다.
This beginning terraform workshop will teach you how to safely create and provision Infrastructure as Code (IAC) using Hashicorp Terraform in an AWS environment. In this class you will learn how to setup and install terraform. You will also be given a walkthrough of Terraform fundamentals. You will be lead through the process of deploying a single server, deploying a cluster and setting up a load balancer. You will also learn how to author Terraform Modules, work with Route53 and how to manage DNS.
Requirements. You will need to have an AWS account set up already with Terraform v0.9.3 installed. You will also need to have git install to download the workshop material.
You can find more informaiton on how to install terraform here: https://www.terraform.io/intro/getting-started/install.html. You can sign up for an AWS account here: https://aws.amazon.com/account/
https://github.com/jasonvance/terraform-introduction
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를 사용한 안전한 배포 자동화에 대해 설명합니다.
A comprehensive walkthrough of how to manage infrastructure-as-code using Terraform. This presentation includes an introduction to Terraform, a discussion of how to manage Terraform state, how to use Terraform modules, an overview of best practices (e.g. isolation, versioning, loops, if-statements), and a list of gotchas to look out for.
For a written and more in-depth version of this presentation, check out the "Comprehensive Guide to Terraform" blog post series: https://blog.gruntwork.io/a-comprehensive-guide-to-terraform-b3d32832baca
Meetup tools for-cloud_native_apps_meetup20180510-vsminseok kim
마이크로서비스로 시스템을 구성하면 서비스간에 연관관계가 줄어들면서 서비스 릴리즈 속도가 높아지고 유연하게 대처할 수 있지만, 관리포인트가 늘어나게 되어 운영상에 많은 어려움을 마주치게 됩니다. 배포 될 때마다 생성되고 소멸되는 마이크로서비스를 다른 마이크로서비스가 쉽게 참조하게 하고 마이크로서비스들의 설정 정보를 일관되게 관리하는 일은 쉬운일이 아닙니다. 이러한 문제를 해결하기 위해 Spring Cloud 프로젝트와 같은 도구를 비롯하여 Pivotal Cloud Foundry와 같은 클라우드 플랫폼등이 있습니다. 이번 밋업에서는 마이크로서비스를 운영할 때의 어려운점과 도움을 주는 다양한 도구들에 대해 알아보도록 하겠습니다.
Amazon EKS를 위한 AWS CDK와 CDK8s 활용법 - 염지원, 김광영 AWS 솔루션즈 아키텍트 :: AWS Summit Seou...Amazon Web Services Korea
Amazon Elastic Kubernetes Service (Amazon EKS)를 통하여 오픈소스 컨테이너 오케이스트레이션 도구인 Kubernetes를 신규 도입하고자 하는 고객들이 폭발적으로 늘어나고 있습니다. AWS Cloud Development Kit (AWS CDK) 그리고 CDK8s 를 활용하여 개발자에게 친숙한 프로그래밍 언어로 Amazon EKS를 정의하고 Kubernetes 어플리케이션을 정의하는 데에 활용하는 방법을 소개하여, 새롭게 Amazon EKS를 사용해보고자 하는 고객들이 도입을 가속화할 수 있는 방법을 제시합니다.
AWS를 위한 도커, 컨테이너 (이미지) 환경 보안 방안 - 양희선 부장, TrendMicro :: AWS Summit Seoul 2019Amazon Web Services Korea
스폰서 발표 세션 | AWS를 위한 도커, 컨테이너 (이미지) 환경 보안 방안
양희선 부장, TrendMicro
AWS 내 보안 접근은 기존의 보안 적용 방식과 많은 차이점이 있습니다. AWS 환경에서는 도커 및 컨테이너를 사용하여 빠르게 서비스를 적용하고 커스터마이징 서비스가 이루어져 동시에 보안을 적용 적용함에 있어 많은 어려움이 있습니다. 호스트 OS 및 독립적인 컨테이너에 대한 많은 위협들이 있고 이러한 위협들을 빠르게 파악하는 동시에 해당 위협 요소를 제거 및 차단하는 방법이 필요합니다. 본 세션에서는 일련의 위협들로 부터 도커 컨테이너 및 컨테이너 (이미지)에 대한 보안 위협들을 알아보고 트렌드마이크로의 Deep Security 및 Smart Check를 통한 효율적인 보안 적용 방법에 대한 가이드를 제시합니다.
- 동영상 보기: https://www.youtube.com/watch?v=Rq4I57eqIp4
Amazon RDS 프록시는 Amazon Relational Database Service (RDS)를 위한 완전 관리형 고가용성 데이터베이스 프록시로, 애플리케이션의 확장 성, 데이터베이스 장애에 대한 탄력성 및 보안 성을 향상시킬 수 있습니다. (2020년 6월 서울 리전 출시)
In this session we’ll take a high-level overview of AWS Lambda, a serverless compute platform that has changed the way that developers around the world build applications. We’ll explore how Lambda works under the hood, the capabilities it has, and how it is used. By the end of this talk you’ll know how to create Lambda based applications and deploy and manage them easily.
Speaker: Chris Munns - Principal Developer Advocate, AWS Serverless Applications, AWS
Behind the Scenes: Exploring the AWS Global Network (NET305) - AWS re:Invent ...Amazon Web Services
The AWS Global Network provides a secure, highly available, and high- performance infrastructure for customers. In this session, we walk through the architecture of various parts of the AWS network such as Availability Zones, AWS Regions, our Global Network connecting AWS Regions to each other and our Edge Network which provides Internet connectivity. We explain how AWS services such as AWS Direct Connect and Amazon CloudFront integrate with our Global Network to provide the best experience for our customers. We also dive into how the AWS Global Network connects to the rest of the Internet through peering at a global scale. If you are curious about how AWS network infrastructure can support large-scale cat photo distribution or how Internet routing works, this session answers those questions. Please join us for a speaker meet-and-greet following this session at the Speaker Lounge (ARIA East, Level 1, Willow Lounge). The meet-and-greet starts 15 minutes after the session and runs for half an hour.
An inroduction to Terraform, a tool that helps you deploy and change your infrastructure as code. Given at Rencontres Mondiales du Logiciel libre (RMLL) 2017
Using HashiCorp’s Terraform to build your infrastructure on AWS - Pop-up Loft...Amazon Web Services
Using Terraform to automate your infrastructure on AWS. What is Terraform and how is it different from Ansible. How to control cloud deployments using Terraform.
AWS 클라우드를 활용하면 사용자의 트래픽에 따라 IT 인프라 아키텍처를 확장할 수 있습니다. 이번 강연에서는 서비스 초기의 작은 트래픽에 대응할 수 있는 단순한 아키텍처로 시작해 사업 성장 후의 수백만 사용자에 달하는 대규모 트래픽을 지탱할 수 있는 고확장성 아키텍처에 이르기까지의 단계별 아키텍처 구성 방법에 대해 소개해 드리고 컴퓨팅 및 데이터베이스 선택 및 사용자 증가에 따른 트래픽 경감 방법, 오토스케일링 및 모니터링과 자동화, DB 부하 분산, 고가용성 확보 등에 대한 다양한 모범사례를 알려드릴 예정입니다.
라이브 스트리밍을 위한 알맞은 솔루션 선택하기 - AWS 서비스 및 CJ 올리브네트웍스의 라이브 커머스 사례 소개 - 이보길 AWS 테크...Amazon Web Services Korea
라이브 스트리밍 기술은 전통적인 방송 영역 뿐 아니라 전자상거래, 교육은 물론 IoT 디바이스와 연동 등 다양한 산업분야에서 새로운 기회를 창출해나가고 있습니다. AWS는 라이브 스트리밍에 필요한 가장 광범위하고 깊은 서비스 포트폴리오를 제공합니다. 본 세션에서는 여러분의 비즈니스 활용 사례에 알맞는 솔루션을 구축할 수 있는 방법을 소개 드리며, CJ 올리브네트웍스의 라이브 라떼 사례를 살펴봅니다.
This beginning terraform workshop will teach you how to safely create and provision Infrastructure as Code (IAC) using Hashicorp Terraform in an AWS environment. In this class you will learn how to setup and install terraform. You will also be given a walkthrough of Terraform fundamentals. You will be lead through the process of deploying a single server, deploying a cluster and setting up a load balancer. You will also learn how to author Terraform Modules, work with Route53 and how to manage DNS.
Requirements. You will need to have an AWS account set up already with Terraform v0.9.3 installed. You will also need to have git install to download the workshop material.
You can find more informaiton on how to install terraform here: https://www.terraform.io/intro/getting-started/install.html. You can sign up for an AWS account here: https://aws.amazon.com/account/
https://github.com/jasonvance/terraform-introduction
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를 사용한 안전한 배포 자동화에 대해 설명합니다.
A comprehensive walkthrough of how to manage infrastructure-as-code using Terraform. This presentation includes an introduction to Terraform, a discussion of how to manage Terraform state, how to use Terraform modules, an overview of best practices (e.g. isolation, versioning, loops, if-statements), and a list of gotchas to look out for.
For a written and more in-depth version of this presentation, check out the "Comprehensive Guide to Terraform" blog post series: https://blog.gruntwork.io/a-comprehensive-guide-to-terraform-b3d32832baca
Meetup tools for-cloud_native_apps_meetup20180510-vsminseok kim
마이크로서비스로 시스템을 구성하면 서비스간에 연관관계가 줄어들면서 서비스 릴리즈 속도가 높아지고 유연하게 대처할 수 있지만, 관리포인트가 늘어나게 되어 운영상에 많은 어려움을 마주치게 됩니다. 배포 될 때마다 생성되고 소멸되는 마이크로서비스를 다른 마이크로서비스가 쉽게 참조하게 하고 마이크로서비스들의 설정 정보를 일관되게 관리하는 일은 쉬운일이 아닙니다. 이러한 문제를 해결하기 위해 Spring Cloud 프로젝트와 같은 도구를 비롯하여 Pivotal Cloud Foundry와 같은 클라우드 플랫폼등이 있습니다. 이번 밋업에서는 마이크로서비스를 운영할 때의 어려운점과 도움을 주는 다양한 도구들에 대해 알아보도록 하겠습니다.
Pivotal은 개발자 생산성을 높이고 운영비용을 줄이면서 성공적인 비지니스를 할 수 있도록 개발 환경의 혁신 문화와 플랫폼을 제공하고 있습니다.
본 세션에서는 플랫폼의 구조와 효과에 대해 소개하며 기업이 진정한 기술선도 업체로 발전해 갈 수 있도록 혁신적은 플랫폼 *PAS, *PKS를 소개합니다.
*PAS: Pivotal Application Service로 개발자에게 기능 구현 속도를 높이고, 운영 팀은 세계 최고 수준의 가용성을 제공해주는 서비스입니다.
*PKS: Pivotal Container Service로 Kubernates의 배포, 관리, 모니터링, 업데이트 등을 자동화하고 Pivotal에서 관리해주는 서비스입니다
Cloud-Native Architecture
MSA(Micro Service Architecture)
MDA(Micro Data Architecture)
MIA(MIcro Inference Architecture)
MSA-Service Mesh
MDA-Data Mesh
MIA-AI Inference Mesh
Kubernetes
Container
Kubeflow
Volcano
Apache Ynikorn
ChatGPT
AGI(Artificial General Intelligence)
ASI(Artificial Specialized Intelligence)
초-전환시대
초-연결시대
SQream GPU DBMS
Cloud와 Cloud Native의 목표는.. 왜? 어떻게? 뭐가 좋아지나...
1. (왜) 가속화된 초-전환, 초-연결 IT 환경변화에 대비하기 위해서
2. (어떻게-H/W) IT H/W 부분은 IaaS 서비스화하여
점유된, Over Subscription된 H/W(Server, Network, Storage)들 모아서 Pool화하고, 가상화기술을 통해 Tenant로 자원들을 분리해 서비스화해 제공하고
필요시 적시에 Pool의 가상H/W를 제공하고, 상황에 따라 확장・축소(Scale in/out, up/down)하면서, 축소된 자원을 다른 요청들을 위해 빠르게 재-할당하는 유연성을 제공하고
3. (어떻게-S/W) S/W 부문도
PaaS, SaaS 적극 활용으로 App.개발 시간을 단축하고
App.분야인 기존 MACRO Service Architecture형 Monolith Architecture(Web-WAS-DB)를 작게 쪼개서 변화에 빠르게 적응할 수 있는 MSA(Micro Service Architecture)로 변경하여 Service Mesh형으로 관리하고
Data분야도 Data Warehouse, DataLake(Bigdata), LakeHouse등 기존 MACRO Data Architecture를 MSA형식으로 MDA(Micro Data Architecture)로 전환 후 Data Mesh형태로 관리하고,
AI로 동적프로그램 생성하여 App.개발시간 단축하고, AI분야도 초-거대 AI구현(MACRO)보다는 작은|특화된 Deep Learning Network(Model)들로 작게 쪼개서 MIA(Micro Inference Architecture)로 비지니스 환경에 적용하고 Inference Mesh형태로 관리하는 시스템으로 전환하고
4. (어떻게-조직) 조직구조도 CI/CD형 DevOps환경, 데이타,트랜잭션중심업무중심, 기술중심 문제해결중심, 직능중심조직직무중심조직으로 전환하면
5. (좋아지는 것) 초-전환, 초-연결 환경에 빠르고, 지속적으로 적응할 수 IT as a Product 환경을 구현하는 것
[Agenda]
*토크쇼 주제: Cloud Native를 위한 컨테이너 플랫폼 구현과 활용 이야기
1. 시장 및 기술동향 소개 & Container & Kubernetes 소개
2. Red Hat OpenShift를 왜 써야 할까요?
3. OpenShift Infra 구성 방안은 어떻게 되나요?
4. OpenShift와 Kubernetes의 주요 차이점은 무엇일까요?
5. 완전한 오픈소스 기반 OpenShift로 PaaS를 빠르게 구축이 가능 하나요?
6.컨테이너플랫폼의 운영을 효율적으로 하기위한 표준화에는 어떤 것이 필요할까요?
7. Red Hat OpenShift를 이용하여 기존의 시스템을 마이그레이션 하는 방법은 무엇인가요?
8. 개발자와 운영자가 일을 수월하게 할 수 있도록 도움을 준다고 하는데 어떠한 부분인가요?
9. Red Hat OpenShift 구축 성공 사례가 있나요?
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우 - 이용욱, 삼성전자 :: AWS Summit Seoul ...Amazon Web Services Korea
Terraform을 기반한 AWS 기반 대규모 마이크로서비스 인프라 운영 노하우
이용욱, 삼성전자
EC2 및 ECS/EKS 등 다양한 컴퓨팅 환경 및 다양한 AWS 서비스를 활용하는 수십 종의 Microservice로 구성된 대규모 서비스 인프라를 Terraform 모듈을 이용하여 구성하고, 이를 원활하게 운영 관리하기 위해 필요한 terraform코드 구성 방법 및 Kitchen을 이용한 terraform 코드 테스팅 경험을 공유합니다.
Openshift 활용을 위한 Application의 준비, Cloud Nativerockplace
What is Cloud-native - DevOps, MSA and Cloud-native: Openshift 활용을 위한 Application의 준비, Cloud Native
*웨비나 다시보기 영상 바로가기:
https://www.youtube.com/watch?v=tzSBS-vki6w
이준영 (현 소프트웨어인라이프 연구원)
OpenShfit와 CSB.IO
인프라 비용을 절감하고 애플리케이션 개발속도를 향상 시킬 수 있는 방안으로 PaaS와 레드햇의 오픈 소스 솔루션인 OpenShift에 대하여 설명한다.
그리고, CSB.IO와 OpenShift의 미래 모습에 대해서도 소개한다.
- The Cloud Life Seminar 2014 발표 내용
Similar to Infra as Code with Packer, Ansible and Terraform (20)
This presentation shows you the basic concept of distributed tracing and Opentracing. And you can see the sample hands-on application (HotROD) of Jaeger
This presentation start from basic concept such as container and container orchestration
And then go through Kubernetes internal especially Master Node components and Work Node components and show and explain core mechanism with codes.
9. History of IaC
기원
용어 정의를 누가 했느냐는 명확하지 않지만 2009 Velocity Conference에서
나오게 되었고, Cloud 환경이 도입되면서, pace of change, automation의 요구
- from : Infrastructure as Code
Infrastructure as code (IaC) is the process of managing and provisioning computer data centers through
machine-readable definition files, rather than physical hardware configuration or interactive configuration
tools.
The IT infrastructure managed by this comprises both physical equipment such as bare-metal servers as
well as virtual machines and associated configuration resources. The definitions may be in a version
control system. It can use either scripts or declarative definitions, rather than manual processes, but the
term is more often used to promote declarative approaches.
IaC approaches are promoted for cloud computing, which is sometimes marketed as infrastructure as a
service (IaaS). IaC supports IaaS, but should not be confused with it.
- from : Wikipedia
9
10. IaC Tools
Ad hoc Script Server Template Configuration Mgmt Provisioning
10
11. IaC Tools – Ad hoc script
11
● 다양한 스크립트 언어 사용
(bash, python, ruby등)
● 모든 코드를 직접 작성
● 한두대는 문제가 없지만…..
● 시스템이 커지만 스파게티 코드
12. IaC Tools – Configuration Management Tools
Chef, Puppet, Ansible, and SaltStack
12
● 추상화와 자동화를 위해
DSL(Domain Specfic Language) 사용
● 멱등성(Idempotent)
여러분 수행해도 같은 결과가 나온다
● 대규모 분산환경을 위해 설계
● 확장이 간편함
서버 댓수 설정만으로 확장
13. IaC Tools – Server Template Tools
Docker, Packer, Vagrant
13
● 서버 템플릿(소프트웨어 설치)을 이미지화
● Immutable Infrastructure의 근간
14. IaC Tools – Provisioning Tools
Virtual Machine
Block Storage
Virtual Cloud
Network
Database System
Cloud
Provider
Terraform, Azure ResourceManager Templates,
AWS CloudFormation and OpenStack Heat
14
● 서버 자체를 구성하기 위한 도구
(CM, Template툴을 코드를 정의)
● 서버뿐 아니라, 네트워크, 서브넷, 데이터베이스등 구성
15. Immutable Infra Work Flow
Image 기반의 Immutable Infra 관리
Autoscaling
Instance
Pools
VM Image
1. VM 생성
2. MW/App 설정
3. VM image 생성
2. MW/App 설정 Subnet D
10.0.30.0/24
Loaded Balanced
Web Servers
Virtual Machine
Virtual Machine
ORACLE CLOUD INFRASTRUCTURE (REGION)
15
21. Concepts – Imperative vs Declarative
사거리 지나서 왼쪽에 아셈 타워
집에서 나가라 차를 타라 영동대로에서
5키로 직진
5블럭 지나서 좌회전 후
500미터 전방에서 우회전
1 2 3 4
5
● 지속적으로 수정/패치 적용
● 각각의 단계에 대한 “특정 명령”을 일정한 순서에
따라 실행해서 원하는 상태(Desired State) 에 이르게
한다.
● How 를 정의
Imperative(Procedural)
21
22. Concepts – Imperative vs Declarative
대한민국 서울특별시 강남구
삼성1동 영동대로 517
아셈타워
● 지속적으로 수정/패치 적용
● 원하는 상태(Desired State)를 정의 하고 시스템에
실행하게 하게 한다.
● What을 정의
Declarative
22
23. Concepts – Mutable vs Immutable
● 지속적으로 수정/패치 적용
● CM Tools들은 기본적으로 Mutable (Ansible, Chef,
Puppet등)
● 지속적으로 변경을 적용함에 따라 시간이 지나면
점점 설정의 불일치가 발생할 가능성 농후
Mutable App 1.0
Service
1.0
Service
1.0
Servic
e
1.0
Service
1.0
Service
1.0
Servic
e
1.0
Service
1.0
Service
1.0
Service
1.0
App – Configuration Drift
Service
1.0
Service
1.0
Service
1.0
Service
1.1
Service
1.0
Service
1.0
Service
1.0
Service
1.0
Service
0.9
23
24. Concepts – Mutable vs Immutable
● 지속적으로 수정/패치 적용
● Terraform과 같은 Provisioning Tool을 활용해서
Docker 또는 Packer가 만들어 놓은 이미지를
기반으로 완전히 새로운 인프라 생성
● 서버 간의 설정 불일치의 가능성을 제거
● 테스트를 통과한 Deployment를 운영환경으로 변경
● Blue/Green Deployment
Immutable App 1.0
Service
1.0
Service
1.0
Service
1.0
Service
1.0
Service
1.0
Service
1.0
Service
1.0
Service
1.0
Service
1.0
App 2.0
Service
2.0
Service
2.0
Service
2.0
Service
2.0
Service
2.0
Service
2.0
Service
2.0
Service
2.0
Service
2.0
24
26. Concepts – Mutable vs Immutable
15 Servers 10 Servers
Example: Ansible Playbook Example: Terraform Plan
26
27. Terraform State
● 테라폼은 리소스의 상태 정보를 저장 terraform.tfstate에 저장
● 이 state 파일을 통해 리소스의 현재 상태와 tf 스크립트에 있는 설정 정보를 추적할 수 있다.
● 기본적으로 local 파일 (terraform.tfstate)에 저장되며, 원격지에 저장할 수 있는 기능
제공(backend)
● Backend를 사용하면 여러 팀에 상태정보를 공유할 수 있기 때문에 협업을 향상 시키지만
부수적인 문제점 발생
● Lock, Encryption, Version 등 문제
TF State
Azure Blob
AWS S3
GCP Storage
Object
Storage
27
29. Resource Manager
Authenticate / Authorize
Instance
Install
Terraform
Destroy
Stack
Review
Terraform
state file
Run
Apply
Review
Execution
Plan
Run
Plan
29
32. Terraform
A provisioning declarative tool that based on Infrastructure
as a Code paradigm
HCL (Hashicorp Configuration Language)
Written in Golang.
Helps to evolve you infrastructure, safely and predictably
Applies Graph Theory to IaaC
Terraform is a multipurpose composition tool:
Composes multiple tiers (SaaS/PaaS/IaaS)
A plugin-based architecture model
Open source. Backed by Hashicorp company
(Guide/Principles/Design)
32
36. Terraform Core Concept #2
● 리소스란 특정 프로바이더가 제공해주는 조작 가능한 대상의 최소 단위
● 예를 들면 OCI 프로바이더의 oci_core_instance는 VM을 만드는데 사용되는 리소스 타입
● 모든 클라우드의 자원이 ”Resource”로 관리됨
● 테라폼은 이런 리소스의 생성, 관리, 갱신, 삭제(CRUD)을 담당
Type Name
Resource
36
37. Terraform Core Concept #3
● 여러곳에 Hard Coding(ex:Port 번호)하는 것을 막기 위해 변수를 사용 (DRY, Don’t Repeat Yourself)
● Input 변수에 값을 제공하는 방법은 1. –var 옵션, 2. –-var-file 옵션, 3. TF_VAR_<변수명> 환경변수
● type은 string, list, map이며, 선언하지 않으면 string으로 간주
variable
37
38. Terraform Core Concept #3
variable – 변수 입력 방법
export TF_VAR_tenancy_ocid=<value>
export TF_VAR_compartment_ocid=<value>
export TF_VAR_user_ocid=<value>
export TF_VAR_fingerprint=<value>
export TF_VAR_private_key_path=<value>
● Input 변수에 값을 제공하는 방법은 1. –var 옵션, 2. –-var-file 옵션, 3. TF_VAR_<변수명> 환경변수
38
44. Terraform Core Concept #5
● Data Source는 읽기 전용의 설정 정보를 담을 수 있는 객체로 예를 들면 Provider의 정보를 조회해서 읽기 전용
정보로 제공할 수 있다.
ex) 새로 생성된 VM Based Image ID, 기존 LB의 ID등
● variable은 데이터를 자유롭게 설정하는데 반해 Data Source는 읽기 전용이다.
Data Source
44
45. Terraform Core Concept #5
● Data Source는 읽기 전용의
설정 정보를 담을 수 있는
객체로 Provider의 정보를
조회해서 접근할 수 있다.
● ex) 새로 생성된 VM Based
Image ID, 기존 LB의 ID등
● variable은 데이터를 자유롭게
설정하는데 반해 Data Source는
읽기 전용이다.
Data Source
https://www.terraform.io/docs/providers/oci/d/core_images.html
45