SlideShare a Scribd company logo
The Immutable Journey
Tom Tsai @ Startup
hello!
I am Tom Tsai
I am here because I want to give life to the servers
Startup (DevOps)
Trend Micro (QA, DevOps)
DevOps Lecturer
“
Why Come To This Section ?
Outline
What is Immutable Infrastructure?
Configuration Management == Die
Container Orchestration - Kubernetes
Image CD Pipeline Build Up
Q & A
1.
Immutable Infrastructure
Build
A stack that you build once (be it a virtual machine
image, container image, or something else), run one
or many instances of, and never change again. Ref
V0.0.1
Deploy
The deployment model is to terminate the
instance/container and start over from a new one Ref
V0.0.2
V0.0.1
What is the Benefit
Simplifying operations
Continuous deployments, fewer failures
Reduces errors and threats
Ref
Yes ! Docker is Immutable Infrastructure
Docker containers wrap a
piece of software in a
complete filesystem that
contains everything needed
to run: code, runtime, system
tools, system libraries
Golden Image
Is there a image to execute all kind
of application ?
Ruby Python
C#
PHP
Javascript
Perl
R
Java
Groovy
Clojure
GoF# Pig
Image Layer
How to prepare the image for all kind of application
in alpha, beta, production phase using?
OS
Environment
Application
Change Seldomly
Change Frequently
Dockerfile
Is Dockerfile the only solution?
2.
Configuration Management
“Which Configuration
Management Do You Use?
If the server is Immutable,
Can We Throw away CM?
Dockerfile
Easy to use, hard to
maintain, extend
configuration management should Be Die !?
Configuration Management
Steep Learning Curve, easy
to maintain, extend
Using Cm to provision Image
Packer is a tool for creating
machine and container
images for multiple platforms
from a single source
configuration.
Packer Template
Builders: Base image
Provisioners: Select
prepare tool (e.g. Chef)
Post-Processors:
store image (e.g.
dockerhub, aws ecr)
Image Layer
Separate Image to two part, OS+Environment &
Application
OS
Environment
Application
Change Seldomly
Change Frequently
Chef X Docker X Packer
1. Push tag to
trigger webhook
2. Execute Packer
to provision image
3. Get Provision
script from Chef
4. Push Image to
dockerhub, image
tag equal to git
tag
Ref
“
Different phase Images ?
V0.0.1 alpha V0.0.1 beta V0.0.1 prod
All PhaSe Image
Get $PHASE from environment variable.
Get different phase configuration in one image.
app/start.sh
/binary
/conf/alpha.yml
/beta.yml
/prod.yml
Build Structure
ln -s /app/conf/$PHASE.yml
/app/conf/current.yml
binary -conf /app/conf/current.yml
start.sh
3.
Kubernetes
Without K8S ...
With K8S ...
K8S Infra
K8S Terminology
Pod
A group of one or
more containers
Replica Set
Ensures that a
specified number of
pod “replicas” are
running
Deployment
Provides declarative
updates for Pods and
Replica Sets
Service
a logical set of
Pods and a policy
by which to access
them
K8S Deployment
Create a Deployment to bring
up a Replica Set and Pods.
Update Deployment (e.g. rolling
update Pods)
Rollback to an earlier
Deployment revision
Pause and resume a
Deployment.
COntainer Deployment
K8S API
1. Create Deployment
2. Update Image ver.
3. Create Service
4. Of course, Testing
Setup K8S is so
Hard
Use it in google cloud engine will be easy
But I still Try in AWS By
AWS CloudFormation
Chef
Don’t forgot to add tag KubernetesCluster
in all aws resource
AWS
4.
Image CD Pipeline
“Have you ever heard Jenkins?
How dare
you ...
Not to mention
DeployBuild Test
CM X Docker X Packer Kubernetes Depends ...
Place your screenshot here
Jenkins 2.0 Pipeline is Good
Leverage Groovy DSL to
achieve pipeline as code
Loading Script Text from
Version Control
Retaining Global
Libraries
Everything is done, take a
break ?!
More and More Job
Using Jenkins Pipeline Plugin after one month, I feel
there is still room for improvement...
insufficient
Pipeline Job: Still need to
maintain Manually
Develop: Inside Jenkins
website
Groovy: Cannot include
third-party library
Jenkins Job DSL
Trigger Seed Job just like compile your
General Jenkins job
Seed Job
Job A
DSL
Job B
DSL
Job A Pipeline
Job B Pipeline
After Using ...
Pipeline Job: Generate
automatically
Develop: everywhere
Groovy: embed other
language
demo
Jenkins Deployable Now !
/CM Script/ # do anything you want
/dsl-repo/dsl/ # job dsl for generate jenkins job
/pipeline/ # pipeline script for job dsl including
/jobs/ # Jenkins Job generating by job dsl
/workflow-libs/ #Pipeline Global Library
Jenkins Build Structure (/var/lib/jenkins/...)
Script Security
Script security plugin block groovy script, after
enabling global security… (workaround)
Test Your Jenkins Job?
thanks!
Any questions?
smalltown20110306
smalltown0110
smalltown0110

More Related Content

PDF
Docker Summit 2016 - Kubernetes: Sweets and Bitters
PDF
DevOps 2015 - Dancing with Chef
PDF
AWS Connect 2017 - Container (feat. AWS)
PPTX
PuppetConf 2016: Scaling Puppet on AWS ECS with Terraform and Docker – Maxime...
PDF
PDF
"On-premises" FaaS on Kubernetes
PPTX
Tectonic Summit 2016: The Origins of Kubernetes
PDF
빈스톡 첫인상 with Git
Docker Summit 2016 - Kubernetes: Sweets and Bitters
DevOps 2015 - Dancing with Chef
AWS Connect 2017 - Container (feat. AWS)
PuppetConf 2016: Scaling Puppet on AWS ECS with Terraform and Docker – Maxime...
"On-premises" FaaS on Kubernetes
Tectonic Summit 2016: The Origins of Kubernetes
빈스톡 첫인상 with Git

What's hot (20)

PDF
Introduction to CircleCI
PDF
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦
PDF
DockerCon EU 2015: Trading Bitcoin with Docker
PDF
Deep dive in container service discovery
PPTX
Scaling Jenkins with Kubernetes by Ami Mahloof
PDF
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
PDF
KubeCon EU 2016: Leveraging ephemeral namespaces in a CI/CD pipeline
PPTX
Lifecycle of a pod
PPTX
Kubernetes101 - Pune Kubernetes Meetup 6
PDF
KubeCon EU 2016: Killing containers to make weather beautiful
PDF
Orchestrating VM & Container Deployments
PDF
Enabling Microservices @Orbitz - DockerCon 2015
PDF
Docker Essentials Workshop— Innovation Labs July 2020
PPTX
Container Orchestration using Kubernetes
PDF
Intro to Kubernetes Workshop — Innovation Labs July 2020
PDF
Bosh 2-0-reloaded
PPTX
Kubernetes @ Nanit by Chen Fisher
PDF
Unlimited Staging Environments
PDF
Cloudformation vs terraform_vs_ansible
PDF
Cloud Foundry Container Runtimeで快適Kubernetes運用
Introduction to CircleCI
Kubernetes x PaaS – コンテナアプリケーションのNoOpsへの挑戦
DockerCon EU 2015: Trading Bitcoin with Docker
Deep dive in container service discovery
Scaling Jenkins with Kubernetes by Ami Mahloof
DockerCon EU 2015: The Glue is the Hard Part: Making a Production-Ready PaaS
KubeCon EU 2016: Leveraging ephemeral namespaces in a CI/CD pipeline
Lifecycle of a pod
Kubernetes101 - Pune Kubernetes Meetup 6
KubeCon EU 2016: Killing containers to make weather beautiful
Orchestrating VM & Container Deployments
Enabling Microservices @Orbitz - DockerCon 2015
Docker Essentials Workshop— Innovation Labs July 2020
Container Orchestration using Kubernetes
Intro to Kubernetes Workshop — Innovation Labs July 2020
Bosh 2-0-reloaded
Kubernetes @ Nanit by Chen Fisher
Unlimited Staging Environments
Cloudformation vs terraform_vs_ansible
Cloud Foundry Container Runtimeで快適Kubernetes運用
Ad

Viewers also liked (18)

PPTX
Terraform Modules and Continuous Deployment
PPTX
DevopsHQ Meetup
PPTX
Introduction to Packer and Suitcase: A Packer-based OS Image Build System
PDF
Ansible for the Impatient Devops
PDF
Ansible and AWS
PDF
Continuous Delivery using blue-green deployments and immutable infrastructure...
PPTX
Jenkins and AWS DevOps Tools
PPTX
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
PDF
Packer by HashiCorp
PDF
DevOps in a Regulated World - aka 'Ansible, AWS, and Jenkins'
PPTX
Automation with Packer and TerraForm
PPTX
ILM - Pipeline in the cloud
PDF
AWS CloudFormation (February 2016)
PPTX
Packer, where DevOps begins
PDF
Continuous Deployment at Etsy: A Tale of Two Approaches
PDF
Chasing AMI - Building Amazon machine images with Puppet, Packer and Jenkins
PDF
DevOps and AWS
PDF
Ansible 2.0 - How to use Ansible to automate your applications in AWS.
Terraform Modules and Continuous Deployment
DevopsHQ Meetup
Introduction to Packer and Suitcase: A Packer-based OS Image Build System
Ansible for the Impatient Devops
Ansible and AWS
Continuous Delivery using blue-green deployments and immutable infrastructure...
Jenkins and AWS DevOps Tools
Continuous Delivery using AWS CodePipeline, AWS Lambda & AWS ElasticBeanstalk
Packer by HashiCorp
DevOps in a Regulated World - aka 'Ansible, AWS, and Jenkins'
Automation with Packer and TerraForm
ILM - Pipeline in the cloud
AWS CloudFormation (February 2016)
Packer, where DevOps begins
Continuous Deployment at Etsy: A Tale of Two Approaches
Chasing AMI - Building Amazon machine images with Puppet, Packer and Jenkins
DevOps and AWS
Ansible 2.0 - How to use Ansible to automate your applications in AWS.
Ad

Similar to DevOps Summit 2016 - The immutable Journey (20)

PDF
PPTX
Immutable infrastructure tsap_v2
PDF
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
PDF
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
PDF
Rapid Development With Docker Compose
PDF
Migrating to Microservices – It's Easier Than You Think
PDF
Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...
PDF
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
PPTX
CI/CD Pipeline with Docker
PDF
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
PPTX
Taking Docker to Dance: Continuous Delivery on AWS
PPTX
Moving Applications into Azure Kubernetes
PDF
Cloud Native Dünyada CI/CD
PDF
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
PDF
Best devops course syllabus pdf 2025.pdf
PPTX
A Fabric/Puppet Build/Deploy System
PDF
SRECon 18 Immutable Infrastructure
PDF
#SREcon Immutable Infrastructure: rethinking configuration mgmt
PPTX
Java and windows azure cloud service
PDF
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...
Immutable infrastructure tsap_v2
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
Rapid Development With Docker Compose
Migrating to Microservices – It's Easier Than You Think
Developer Experience Cloud Native - From Code Gen to Git Commit without a CI/...
2016 - Easing Your Way Into Docker: Lessons From a Journey to Production
CI/CD Pipeline with Docker
La sécurité avec Kubernetes et les conteneurs Docker (June 19th, 2019)
Taking Docker to Dance: Continuous Delivery on AWS
Moving Applications into Azure Kubernetes
Cloud Native Dünyada CI/CD
Salvatore Incandela, Fabio Marinelli - Using Spinnaker to Create a Developmen...
Best devops course syllabus pdf 2025.pdf
A Fabric/Puppet Build/Deploy System
SRECon 18 Immutable Infrastructure
#SREcon Immutable Infrastructure: rethinking configuration mgmt
Java and windows azure cloud service
PuppetConf 2017: What’s in the Box?!- Leveraging Puppet Enterprise & Docker- ...

More from smalltown (20)

PDF
DevOpsDays Taipei 2025 - 為什麼你裝了一堆 O11y 工具,卻沒人用?🤷
PDF
DevOpsDays Taipei 2025 - 🚒 DevOps 救火隊的逆襲:如何擺脫永無止境的電話鈴聲
PDF
Kubernetes Summit 2024 - How GenAI Help you in K8s Ops
PDF
DevOpsDays Taipei 2024 - Evolution of DevOps: Lessons Learned from a Growing ...
PDF
SHOPLINE 職人聊天室: 警報管理 - 從系統和制度下手 By smalltown
PDF
Kubernetes Summit 2023: Head First Kubernetes
PDF
SRE Conference 2022 - How to Build a Healthy On-Call Culture
PDF
Kubernetes Summit 2021: Multi-Cluster - The Good, the Bad and the Ugly
PDF
DevOpsDays Taipei 2021 - How FinTech Embrace Change Management
PDF
Kubernetes Summit 2020 - DevOps: Where is My PodPod
PDF
CDK Meetup: Rule the World through IaC
PDF
AWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWS
PDF
Cloud Native User Group: Shift-Left Testing IaC With PaC
PDF
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
PDF
Kubernetes Summit 2019 - Harden Your Kubernetes Cluster
PDF
HashiCorp Vault Workshop:幫 Credentials 找個窩
PDF
TW SEAT - DevOps: Security 干我何事?
PDF
Cloud Native User Group: Prometheus Day 2
PDF
Kubernetes User Group: 維運 Kubernetes 的兩三事
PDF
DevOpsDays - DevOps: Security 干我何事?
DevOpsDays Taipei 2025 - 為什麼你裝了一堆 O11y 工具,卻沒人用?🤷
DevOpsDays Taipei 2025 - 🚒 DevOps 救火隊的逆襲:如何擺脫永無止境的電話鈴聲
Kubernetes Summit 2024 - How GenAI Help you in K8s Ops
DevOpsDays Taipei 2024 - Evolution of DevOps: Lessons Learned from a Growing ...
SHOPLINE 職人聊天室: 警報管理 - 從系統和制度下手 By smalltown
Kubernetes Summit 2023: Head First Kubernetes
SRE Conference 2022 - How to Build a Healthy On-Call Culture
Kubernetes Summit 2021: Multi-Cluster - The Good, the Bad and the Ugly
DevOpsDays Taipei 2021 - How FinTech Embrace Change Management
Kubernetes Summit 2020 - DevOps: Where is My PodPod
CDK Meetup: Rule the World through IaC
AWS re:Invent re:Cap 2019: My ElasticSearch Journey on AWS
Cloud Native User Group: Shift-Left Testing IaC With PaC
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
Kubernetes Summit 2019 - Harden Your Kubernetes Cluster
HashiCorp Vault Workshop:幫 Credentials 找個窩
TW SEAT - DevOps: Security 干我何事?
Cloud Native User Group: Prometheus Day 2
Kubernetes User Group: 維運 Kubernetes 的兩三事
DevOpsDays - DevOps: Security 干我何事?

Recently uploaded (20)

PDF
Nekopoi APK 2025 free lastest update
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
Autodesk AutoCAD Crack Free Download 2025
PDF
17 Powerful Integrations Your Next-Gen MLM Software Needs
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Cost to Outsource Software Development in 2025
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
assetexplorer- product-overview - presentation
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
L1 - Introduction to python Backend.pptx
PPTX
history of c programming in notes for students .pptx
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PPTX
Transform Your Business with a Software ERP System
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Nekopoi APK 2025 free lastest update
Design an Analysis of Algorithms II-SECS-1021-03
Monitoring Stack: Grafana, Loki & Promtail
Autodesk AutoCAD Crack Free Download 2025
17 Powerful Integrations Your Next-Gen MLM Software Needs
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Cost to Outsource Software Development in 2025
Odoo Companies in India – Driving Business Transformation.pdf
assetexplorer- product-overview - presentation
Navsoft: AI-Powered Business Solutions & Custom Software Development
L1 - Introduction to python Backend.pptx
history of c programming in notes for students .pptx
How to Choose the Right IT Partner for Your Business in Malaysia
Transform Your Business with a Software ERP System
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Computer Software and OS of computer science of grade 11.pptx
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
Reimagine Home Health with the Power of Agentic AI​
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx

DevOps Summit 2016 - The immutable Journey