SlideShare a Scribd company logo
ImmutableInfrastructure
DaekwonKim
propellerheaven@gmail.com
nacyot
@nacyot
Rubyprogrammer
http://nacyot.com
WebDevelopment
RubyonRails
ProgrammingLanguages
Visualization
Translation
Deployment
Deployment
ImmutableInfrastructure
Leevi
http://leevi.co.kr/
Remotty
http://blog.remotty.com
지난이야기
WebDevelopment
ServerManagement
AmazonWebService
오늘이야기
ImmutableInfrastructure
DisposableComponents
Orchestration
BlueGreenDeployment
ContinuousDelivery
새로운툴
Chef/Puppet/Ansible
Docker
Vagrant
Packer
Serf
ServerSpec
AmazonWebService
TOC
Cloud
AutoScaling
Image
Deploy
ImmutableInfrastructure
DisposableComponents
ConfigurationManagement
Docker
HashiCorp
Cloud
SaaS
PasS
IaaS
Cloud
SoftwareasaService
GoogleApps
AdobeCreativeCloud
PlatformasaService
Heroku
GoogleAppEngine
InfrastructureasaService
AmazonWebService
Ucloudbiz
PlatformasaService
컴퓨터vs클라우드
컴퓨터(서버)
물리적실체
공간적제약
장소적제약
예산적제약
유지보수
클라우드위의컴퓨터
비물리적실체
공간적제약?
장소적제약?
예산적제약?
유지보수?
Delegate,Delegate,Delegate
공간적제약
언제든원하는만큼사용할수있음
물리적서버를설치할필요없음
장소적제약
원하는리젼(장소)에서서비스가능
AWSEC2,DigitalOcean
원하는위치에서배포가능
CDN,AWSCloudFront
예산적제약
매몰비용이거의발생하지않음
서버를구입할필요없음
월단위대여할필요없음
사용한만큼만내면됨
시간단위과금
유지보수
필요없음
DisposableComponents?
AmazonWebService는인터넷의발전소다.
타마카와켄
디지털오션예제
서버실행하기
$tugboatcreateContainerShip-s66-i2158507-r6-k301023
$tugboatdroplets
ContainerShip(ip:128.199.253.99,status:new,region:6,id:1383635)
서버종료하기
$tugboatdestroyContainerShip
Dropletfuzzynameprovided.FindingdropletID...done,1383635(ContainerShip)
Warning!Potentiallydestructiveaction.Pleaseconfirm[y/n]:y
Queuingdestroyfor1383635(ContainerShip)...done
Billing
10원
Cloud!=ServerHosting
RRRSpec
분산테스트프레임워크
RRRSpec
테스트17000개
1대로몇시간걸림
RRRSpec
1대*몇시간
==
EC2스팟인스턴스60대*8~9분
DeploymentonCloud
AutoScaling
부하가커지면
자동적으로인스턴스가실행되고(ScaleOut)
부하가작아지면
자동적으로인스턴스가종료됨
AutoScaling의장점
유연한대응
합리적비용
AutoScaling의조건
어플리케이션설계
정교한비지니스로직분리
서버환경설정분리및자동화
데이터스토어분리
WheninRome,doastheRomansdo
클라우드위에선클라우드에어울리는설계가필요
BestPractice
CDP클라우드설계원칙
TheTwelve-FactorApp
CDP클라우드설계원칙
가능한한서비스를이용
생각보다행동으로
작은규모로시작하여스케일아웃
변화를전계층에서처리
고장을위한설계
처음뿐이아닌주기적인개선
AutoScaling을전제로한컴퓨터란
어플리케이션이가동되기위한환경이구성된
인스턴스로부터Stamp패턴으로생성된
AMI이미지로부터생성된
가상인스턴스(컴퓨터)
AutoScaling을전제로한컴퓨터란
어플리케이션이가동되기위한환경이구성된
인스턴스로부터Stamp패턴으로생성된
AMI이미지로부터생성된
DisposableComponents
DisposableCopmonent
쓰고
버리는
DisposableCopmonent
미리설정된
쓰고
버리는
인스턴스(컴퓨터)
DisposableCopmonent
서버설정?
서버관리?
Image
Image
새로운문제
Image
이미지는정말로작동가능한가?
Image
아마도…
최초의이미지는어디서오는가?
서버설정
useradd…
setenv
apt-getupdate
apt-getinstall…(순서!!)
ufw…
iptable…
…
최초의이미지는어디서오는가?
어플리케이션설치
rubybuild
apt-get…
geminstallbundler
gitclone…
bundleinastll
configuration
runapplicationserver
serverproxy
…
어플리케이션이업데이트되면?
어플리케이션업데이트
gitpull…
apt-get…
bundleupdate
configuration
…
유지보수
Thesystembecomesahouseofcards.Youfearanychange
andyoufearreplacingitsinceyoudon’tknoweverything
abouthowitworks.
TrashYourServersandBurnYourCode:ImmutableInfrastructureand
DisposableComponents,ChadFowler
서버관리의본질은전역적환경설정
서버는
하드웨어부터
OS를거쳐
어플리케이션까지
모든요소들이얽히고섥혀있는곳
의존성거의관리불가능
StatefulImage
그저이미지화했을뿐이고
StatefulImage
복원불가능
검증불가능
일단돌아는감
안전불감증
StatefulImage
DisposableComponents
fromRecycledImage
State
프로그래머의원죄
전역변수를사용하지말라
ConfigurationManagement
상태관리가귀찮으면관리안하면되잖아
이토나오야
InfrastructureasCode
이토나오야
ConfigurationManagement
Chef
Puppet
Ansible
ConfigurationManagement
Idempotence(멱등)
ConfigurationManagement
복원가능
Build
검증가능
Serverspec
이력관리
InfrastructureasCode
Build
#ChefCookbook::MyServer
#Recipe::InstallApache
log'InstallApache'
package'httpd'do
action:install
end
ServerSpec
require'spec_helper'
describepackage('httpd')do
it{shouldbe_installed}
end
describeservice('httpd')do
it{shouldbe_enabled}
it{shouldbe_running}
end
describeport(80)do
it{shouldbe_listening}
end
ConfigurationManagement
Deployment
Vagrant
Provisioner
Provider
Vagrant
Provisioner=Chef
Provider=Vmware
Vagrant
Provisioner=Chef
Provider=AWSEC2
Vagrant
Provisioning=Chef
Provider=DigitalOcean
Vagrant
HashiCorp의야망
Vagrant
뒤에서다시
ServerImage
Stateless
ConfigurationManagement
ImmutableInfrastructure
Immutable?
변경불가능
inJava
StringvsStringBuffer
함수형프로그래밍언어
Immutable==Stateless
TravisCI
커밋할때마다
새로운빌드환경구축
Heroku
푸쉬할때마다
새로운어플리케이션이미지생성
ImmutableInfrastructure
관리가능하고
ConfigurationManagement
ImmutableInfrastructure
테스트가능한
ServerSpec
ImmutableInfrastructure
Stateless하고
Build
ImmutableInfrastructure
Scalable한
StampPattern
ImmutableInfrastructure
이미지기반의
Lightweight,Portable
ImmutableInfrastructure
관리가능하고
테스트가능하며
Stateless하고
Scalable한
이미지기반의
어플리케이션배포
Docker
Dockerisanopen-sourceenginethatautomatesthe
deploymentofanyapplicationasalightweight,portable,self-
sufficientcontainerthatwillrunvirtuallyanywhere
Docker
한마디로
BuildOnce,RunAnywhere
Docker
Docker
Image
Container
Dockerfile
DockerImage
Build
Dockerfile
FROMubuntu:12.04
MAINTAINERDaekwonKim
#Runupgrade
RUNechodebhttp://archive.ubuntu.com/ubuntuprecisemainuniverse/etc/apt/sources.list
RUNapt-getupdate
#Installbasicpackages
RUNapt-get-qq-yinstallgitcurlbuild-essential
#Installapache2
RUNapt-get-qq-yinstallapache2
ENVAPACHE_RUN_USERwww-data
ENVAPACHE_RUN_GROUPwww-data
ENVAPACHE_LOG_DIR/var/log/apache2
RUNa2enmodrewrite
propellerheaven@gmail.com
DockerContainer
Run
Docker-registry
ImageArchive
예제)Remotty공동가계부빌드/배포구상도
GithubHook
Jenkins
Local
PushImagetoDockerRegistry
Remote(StageServer)
Notify
Local(BuildServe)
DockerBuild(test)
DockerBuild(application)
PushImagetoDockerRegistry
Dockerfile
FROMnacyot-bbapi
MAINTAINERDaekwonKim
ADD./workspace
#ENV
ENVRAILS_ENVtest
#Build
RUNcd/workspace;echo'gem:--no-ri--no-rdoc'~/.gemrc
RUNcd/workspace;bundleinstall--withoutdevelopment
RUNcd/workspace;bundleexecrakedb:migrateRAILS_ENV=test
RUNcd/workspace;bundleexecrspec
propellerheaven@gmail.com
Dockerfile.production
#Installbbapi
ADD./app
ADDProcfile/app/Procfile
ENVRAILS_ENVproduction
RUNcd/app;bundleinstall--withoutdevelopmenttest
RUNcd/app;bundleexecrakedb:create
RUNcd/app;bundleexecrakedb:migrate
RUNcd/app;bundleexecrakedb:seed
RUNcd/app/angular;npminstall
RUNcd/app/angular;mkdirtasks
RUNcd/app/angular;npminstallgrunt-contrib-nodeunit
RUNmv/app/angular/config/config.default.json/app/angular/config/config.json
#Runbbapi
EXPOSE3000
EXPOSE9000
WORKDIR/app
CMDforemanstart-fProcfile
PushImagetoDokcerRegistry
mvDockerfile.productionDockerfile
exportHASH=$(gitshow-ref--head|grep-hHEAD|cut-d':'-f2|head-n1|head-c10)
dockerbuild-rm-tnacyot-bbapi:${HASH}.
dockertagnacyot-bbapi:${HASH}docker-registry.remotty.com/nacyot-bbapi:${HASH}
dockertagnacyot-bbapi:${HASH}docker-registry.remotty.com/nacyot-bbapi:latest
dockerdocker-registry.remotty/nacyot-bbapi
커밋마다빌드되어이미지로Registry저장소(S3)에저장됨.
Remote(StageServer)
dockerpulldocker-registry.remotty.com/nacyot-bbapi:latest
dockerrun-ddocker-registry.remotty.com/nacyot-bbapi:latest
${HASH}.stage.bbapi.remotty.com
커밋별스테이지서버
E2ETest
Remote(StageServer)
참고:도커이미지용량?
(1+1+1+1+1+1+1)GB=7GB?
참고:도커이미지용량?
$s3cmddu-H
1241Ms3://remotty-docker-registry/
참고:도커이미지용량?
Notify
Slack
Github
DeploymentbasedonDocker
==RuningContainer
!=ManagingServer
Docker장점
컨테이너를싣는플랫폼
Docker단점
컨테이너를싣는플랫폼
HashiCorp
Vagrant
Packer
Serf
Packer
Packerislightweight,runsoneverymajoroperatingsystem,
andishighlyperformant,creatingmachineimagesfor
multipleplatformsinparallel.
IntroductiontoPacker
Packer
한마디로
범용적이미지생성기
Packer
Provisioners
ChefSolo
Ansible
Puppet
ShellScripts
Builders
AmazonEC2(AMI)
DigitalOcean
Docker
GoogleComputEngine
VirtualBox
VMware
VagrantandPacker
Development=Deployment=Image
Serf
Orchestration
TheFutureisImmutable
MitchellHashimoto
감사합니다:)

More Related Content

What's hot

Docker 활용법: dumpdocker
Docker 활용법: dumpdockerDocker 활용법: dumpdocker
Docker 활용법: dumpdocker
Jaehwa Park
 
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
Ruoshi Ling
 
Amazon EC2 Container Service in Action
Amazon EC2 Container Service in ActionAmazon EC2 Container Service in Action
Amazon EC2 Container Service in Action
Remotty
 
Running Django on Docker: a workflow and code
Running Django on Docker: a workflow and codeRunning Django on Docker: a workflow and code
Running Django on Docker: a workflow and code
Danielle Madeley
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
謝 宗穎
 
Docker & FieldAware
Docker & FieldAwareDocker & FieldAware
Docker & FieldAwareJakub Jarosz
 
Docker up and running
Docker up and runningDocker up and running
Docker up and running
Victor S. Recio
 
CoreOS + Kubernetes @ All Things Open 2015
CoreOS + Kubernetes @ All Things Open 2015CoreOS + Kubernetes @ All Things Open 2015
CoreOS + Kubernetes @ All Things Open 2015
Brandon Philips
 
Docker toolbox
Docker toolboxDocker toolbox
Docker toolbox
Yonghwee Kim
 
Docker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochraneDocker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken Cochrane
dotCloud
 
First steps to docker
First steps to dockerFirst steps to docker
First steps to docker
Guilhem Marty
 
Learn basic ansible using docker
Learn basic ansible using dockerLearn basic ansible using docker
Learn basic ansible using docker
Larry Cai
 
2015 DockerCon Using Docker in production at bity.com
2015 DockerCon Using Docker in production at bity.com2015 DockerCon Using Docker in production at bity.com
2015 DockerCon Using Docker in production at bity.com
Mathieu Buffenoir
 
Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014
André Rømcke
 
Docker puppetcamp london 2013
Docker puppetcamp london 2013Docker puppetcamp london 2013
Docker puppetcamp london 2013
Tomas Doran
 
Cloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep DiveCloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep DiveKazuto Kusama
 
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
Puppet
 
Django via Docker
Django via DockerDjango via Docker
Django via Docker
Brenden West
 
Docker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutesDocker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutes
Luciano Fiandesio
 
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGHDeploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
Erica Windisch
 

What's hot (20)

Docker 활용법: dumpdocker
Docker 활용법: dumpdockerDocker 활용법: dumpdocker
Docker 활용법: dumpdocker
 
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
當專案漸趕,當遷移也不再那麼難 (Ship Your Projects with Docker EcoSystem)
 
Amazon EC2 Container Service in Action
Amazon EC2 Container Service in ActionAmazon EC2 Container Service in Action
Amazon EC2 Container Service in Action
 
Running Django on Docker: a workflow and code
Running Django on Docker: a workflow and codeRunning Django on Docker: a workflow and code
Running Django on Docker: a workflow and code
 
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
 
Docker & FieldAware
Docker & FieldAwareDocker & FieldAware
Docker & FieldAware
 
Docker up and running
Docker up and runningDocker up and running
Docker up and running
 
CoreOS + Kubernetes @ All Things Open 2015
CoreOS + Kubernetes @ All Things Open 2015CoreOS + Kubernetes @ All Things Open 2015
CoreOS + Kubernetes @ All Things Open 2015
 
Docker toolbox
Docker toolboxDocker toolbox
Docker toolbox
 
Docker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken CochraneDocker at Djangocon 2013 | Talk by Ken Cochrane
Docker at Djangocon 2013 | Talk by Ken Cochrane
 
First steps to docker
First steps to dockerFirst steps to docker
First steps to docker
 
Learn basic ansible using docker
Learn basic ansible using dockerLearn basic ansible using docker
Learn basic ansible using docker
 
2015 DockerCon Using Docker in production at bity.com
2015 DockerCon Using Docker in production at bity.com2015 DockerCon Using Docker in production at bity.com
2015 DockerCon Using Docker in production at bity.com
 
Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014Dockerize your Symfony application - Symfony Live NYC 2014
Dockerize your Symfony application - Symfony Live NYC 2014
 
Docker puppetcamp london 2013
Docker puppetcamp london 2013Docker puppetcamp london 2013
Docker puppetcamp london 2013
 
Cloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep DiveCloud Foundry V2 | Intermediate Deep Dive
Cloud Foundry V2 | Intermediate Deep Dive
 
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
How Puppet Enables the Use of Lightweight Virtualized Containers - PuppetConf...
 
Django via Docker
Django via DockerDjango via Docker
Django via Docker
 
Docker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutesDocker 101 - from 0 to Docker in 30 minutes
Docker 101 - from 0 to Docker in 30 minutes
 
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGHDeploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
Deploying Docker (Provisioning /w Docker + Chef/Puppet) - DevopsDaysPGH
 

Similar to 이미지 기반의 배포 패러다임 Immutable infrastructure

Surviving the Azure Avalanche
Surviving the Azure AvalancheSurviving the Azure Avalanche
Surviving the Azure Avalanche
Michele Leroux Bustamante
 
Dnc2015 azure-microservizi-vforusso
Dnc2015 azure-microservizi-vforussoDnc2015 azure-microservizi-vforusso
Dnc2015 azure-microservizi-vforussoDotNetCampus
 
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURESVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
DotNetCampus
 
Lessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azureLessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azure
John Calvert
 
Building Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web AppsBuilding Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web Apps
James Pearce
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
Amazon Web Services
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
Amazon Web Services
 
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe-Lexware GmbH & Co KG
 
Drupal DevOps on Microsoft Azure Websites
Drupal DevOps on Microsoft Azure WebsitesDrupal DevOps on Microsoft Azure Websites
Drupal DevOps on Microsoft Azure Websites
Cory Fowler
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Emerson Eduardo Rodrigues Von Staffen
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
Amazon Web Services
 
CMS Tools for Developers- Owen Harris
CMS Tools for Developers- Owen HarrisCMS Tools for Developers- Owen Harris
CMS Tools for Developers- Owen Harris
WordCamp New Zealand
 
2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublin2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublin
Alex Heneveld
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Amazon Web Services
 
Continuous Deployment with Amazon Web Services by Carlos Conde
Continuous Deployment with Amazon Web Services by Carlos Conde Continuous Deployment with Amazon Web Services by Carlos Conde
Continuous Deployment with Amazon Web Services by Carlos Conde Codemotion
 
App fabric hybrid computing
App fabric   hybrid computingApp fabric   hybrid computing
App fabric hybrid computingHammad Rajjoub
 
Deploying Apps to the Cloud
Deploying Apps to the CloudDeploying Apps to the Cloud
Deploying Apps to the Cloud
Alex Hung
 
Xander Harris Résumé
Xander Harris RésuméXander Harris Résumé
Xander Harris Résumé
Xander Harris
 
From Monolith to Microservices
From Monolith to MicroservicesFrom Monolith to Microservices
From Monolith to Microservices
Amazon Web Services
 
Why You Need a Front End Developer
Why You Need a Front End DeveloperWhy You Need a Front End Developer
Why You Need a Front End Developer
Mike Wilcox
 

Similar to 이미지 기반의 배포 패러다임 Immutable infrastructure (20)

Surviving the Azure Avalanche
Surviving the Azure AvalancheSurviving the Azure Avalanche
Surviving the Azure Avalanche
 
Dnc2015 azure-microservizi-vforusso
Dnc2015 azure-microservizi-vforussoDnc2015 azure-microservizi-vforusso
Dnc2015 azure-microservizi-vforusso
 
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURESVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
SVILUPPARE E GESTIRE ARCHITETTURE A MICROSERVIZI SU AZURE
 
Lessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azureLessons learned from migrating a legacy web app to azure
Lessons learned from migrating a legacy web app to azure
 
Building Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web AppsBuilding Cloud-Based Cross-Platform Mobile Web Apps
Building Cloud-Based Cross-Platform Mobile Web Apps
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
AWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for GovernmentAWS Webcast - Build Agile Applications in AWS Cloud for Government
AWS Webcast - Build Agile Applications in AWS Cloud for Government
 
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
Haufe Onboarding - Fast Iterating With the MERN Stack - TEC Day 2019
 
Drupal DevOps on Microsoft Azure Websites
Drupal DevOps on Microsoft Azure WebsitesDrupal DevOps on Microsoft Azure Websites
Drupal DevOps on Microsoft Azure Websites
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
CMS Tools for Developers- Owen Harris
CMS Tools for Developers- Owen HarrisCMS Tools for Developers- Owen Harris
CMS Tools for Developers- Owen Harris
 
2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublin2013 05-multicloud-paas-interop-scenarios-fia-dublin
2013 05-multicloud-paas-interop-scenarios-fia-dublin
 
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh VariaCloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
Cloud-powered Continuous Integration and Deployment architectures - Jinesh Varia
 
Continuous Deployment with Amazon Web Services by Carlos Conde
Continuous Deployment with Amazon Web Services by Carlos Conde Continuous Deployment with Amazon Web Services by Carlos Conde
Continuous Deployment with Amazon Web Services by Carlos Conde
 
App fabric hybrid computing
App fabric   hybrid computingApp fabric   hybrid computing
App fabric hybrid computing
 
Deploying Apps to the Cloud
Deploying Apps to the CloudDeploying Apps to the Cloud
Deploying Apps to the Cloud
 
Xander Harris Résumé
Xander Harris RésuméXander Harris Résumé
Xander Harris Résumé
 
From Monolith to Microservices
From Monolith to MicroservicesFrom Monolith to Microservices
From Monolith to Microservices
 
Why You Need a Front End Developer
Why You Need a Front End DeveloperWhy You Need a Front End Developer
Why You Need a Front End Developer
 

More from Daegwon Kim

2015 07 31_yashin_project
2015 07 31_yashin_project2015 07 31_yashin_project
2015 07 31_yashin_project
Daegwon Kim
 
InfovisKr 고전 독서 모임 소개 - The Grammar of Graphics
InfovisKr 고전 독서 모임 소개 - The Grammar of GraphicsInfovisKr 고전 독서 모임 소개 - The Grammar of Graphics
InfovisKr 고전 독서 모임 소개 - The Grammar of Graphics
Daegwon Kim
 
Ruby Enumerator(루비 열거자) 이해하기
Ruby Enumerator(루비 열거자) 이해하기Ruby Enumerator(루비 열거자) 이해하기
Ruby Enumerator(루비 열거자) 이해하기
Daegwon Kim
 
Docker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmondDocker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmond
Daegwon Kim
 
Devfair kubernetes 101
Devfair kubernetes 101Devfair kubernetes 101
Devfair kubernetes 101
Daegwon Kim
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
Daegwon Kim
 
도커(Docker) 메트릭스 & 로그 수집
도커(Docker) 메트릭스 & 로그 수집도커(Docker) 메트릭스 & 로그 수집
도커(Docker) 메트릭스 & 로그 수집
Daegwon Kim
 
커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco
커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco
커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco
Daegwon Kim
 
Translation memory
Translation memoryTranslation memory
Translation memory
Daegwon Kim
 
Design pattern chapter_3_template_pattern
Design pattern chapter_3_template_patternDesign pattern chapter_3_template_pattern
Design pattern chapter_3_template_pattern
Daegwon Kim
 
Visualization and data mapping
Visualization and data mappingVisualization and data mapping
Visualization and data mapping
Daegwon Kim
 
Movie explorer - Moplo! Introduction
Movie explorer - Moplo! IntroductionMovie explorer - Moplo! Introduction
Movie explorer - Moplo! Introduction
Daegwon Kim
 
Ruby codemetric automation server - Putne Introduction
Ruby codemetric automation server - Putne IntroductionRuby codemetric automation server - Putne Introduction
Ruby codemetric automation server - Putne Introduction
Daegwon Kim
 
Ruby for biginner - Don't be suprised
Ruby for biginner - Don't be suprisedRuby for biginner - Don't be suprised
Ruby for biginner - Don't be suprised
Daegwon Kim
 

More from Daegwon Kim (14)

2015 07 31_yashin_project
2015 07 31_yashin_project2015 07 31_yashin_project
2015 07 31_yashin_project
 
InfovisKr 고전 독서 모임 소개 - The Grammar of Graphics
InfovisKr 고전 독서 모임 소개 - The Grammar of GraphicsInfovisKr 고전 독서 모임 소개 - The Grammar of Graphics
InfovisKr 고전 독서 모임 소개 - The Grammar of Graphics
 
Ruby Enumerator(루비 열거자) 이해하기
Ruby Enumerator(루비 열거자) 이해하기Ruby Enumerator(루비 열거자) 이해하기
Ruby Enumerator(루비 열거자) 이해하기
 
Docker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmondDocker Casual Talk #2 - Dockerizing newrelic-sysmond
Docker Casual Talk #2 - Dockerizing newrelic-sysmond
 
Devfair kubernetes 101
Devfair kubernetes 101Devfair kubernetes 101
Devfair kubernetes 101
 
Docker introduction
Docker introductionDocker introduction
Docker introduction
 
도커(Docker) 메트릭스 & 로그 수집
도커(Docker) 메트릭스 & 로그 수집도커(Docker) 메트릭스 & 로그 수집
도커(Docker) 메트릭스 & 로그 수집
 
커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco
커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco
커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco
 
Translation memory
Translation memoryTranslation memory
Translation memory
 
Design pattern chapter_3_template_pattern
Design pattern chapter_3_template_patternDesign pattern chapter_3_template_pattern
Design pattern chapter_3_template_pattern
 
Visualization and data mapping
Visualization and data mappingVisualization and data mapping
Visualization and data mapping
 
Movie explorer - Moplo! Introduction
Movie explorer - Moplo! IntroductionMovie explorer - Moplo! Introduction
Movie explorer - Moplo! Introduction
 
Ruby codemetric automation server - Putne Introduction
Ruby codemetric automation server - Putne IntroductionRuby codemetric automation server - Putne Introduction
Ruby codemetric automation server - Putne Introduction
 
Ruby for biginner - Don't be suprised
Ruby for biginner - Don't be suprisedRuby for biginner - Don't be suprised
Ruby for biginner - Don't be suprised
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 

Recently uploaded (20)

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 

이미지 기반의 배포 패러다임 Immutable infrastructure