SlideShare a Scribd company logo
網頁後端技術的演進
Kuo-tung Kao
About Me
● R&D in inwinStack
● love sharing in conference
○ PyCon.TW
○ COSCUP
● OpenStack、Kubernetes、Machine learning
● jelly.k@inwinstack.com
● History
● Concept
○ Infrastructure as Code
○ Immutable Infrastructure
○ Blue-green deployments
○ Canary deployments
● Tools
Physical Delivery
● Server
○ IPMI
● Switch
● Router
Software delivery on the cloud
● Virtual Machine
● Software Defined Networks
● Software defined Storages
● API/GUI
● AWS、Google Cloud Platform 、Azure、
OpenStack
Configuration management
● Configure an OS including the user, group, and
system libraries, and also manages multiple
servers that keep consistent with the desired
state or configuration if we replace the server.
● Puppet / SaltStack / Ansible
Script Language Action
Configuration
Management
State
Continuous Integration / Continuous
Delivery
Continuous Integration
VCS Build Server
Testing
Automation
Tools
Continuous Delivery
Continuous Integration
VCS Build Server
Testing
Automation
Tools
Deploy
Server
Infrastructure as Code
● Infrastructure as code is the process of managing and
provisioning computer data centers through
machine-readable definition files, rather than physical
hardware configuration.
● Use the configuration management tool helps to automate
the setup cloud infrastructure by configuration file
Principles of Infrastructure as Code
● Systems Can Be Easily Reproduced
● Systems Are Consistent
● Design Is Always Changing
Immutable Infrastructure
● Servers are never modified after they're
deployed. If something needs to be updated,
fixed, or modified in any way, new servers built
from a common image with the appropriate
changes are provisioned to replace the old
ones.
● Easy to upgrade / downgrade.
Immutable Infrastructure
● System Infrastructure is divided into "data" and
"other".
● "Other" are replaced at every deployment.
● "Other" are modifed with version controll.
● "Other" include “config”, “program”,
“environment”.
Immutable Infrastructure
Running
Container V1
volume
Running
Container V2
volume
Stopped
Container V1
Running
Container V1
volume
Stopped
Container V2
upgrade downgrade
Blue-green deployments
● a technique that reduces downtime and risk by
running two identical production environments
called Blue and Green.
Service
Pod: v1 Pod: v1
upgrade
Pod: v2 Pod: v2
Service
Pod: v1 Pod: v1 Pod: v2 Pod: v2
Canary deployment
● slowly rolling out the change to a small subset
of users before rolling it out to the entire
infrastructure
Service
Pod: v1 Pod: v1
Service
Pod: v1 Pod: v2
Service
Pod: v2 Pod: v2
upgrade upgrade
Microservices
● an architectural style that structures an application as a
collection of loosely coupled services, which implement
business capabilities.
● OpenStack
Tools
Physical delivery
● Cobbler / TripleO for installing OS
● Ansible / Puppet for installation / configurement
● Supervisord / Systemd for process
management
Virtual Machine / IaaS
● Ansible / Puppet for installation / configurement
● Supervisord / Systemd for process
management
Docker
● Easy to use container
● Dockerfile (version control)
● Single Host
Kubernetes
● Multi-node
● Pod, Deployment
● Scheduler
● Life management
● Rolling update
● HA
● Load balance
Kubernetes
● It’s easy to implement:
○ Infrastructure as Code
○ Immutable Infrastructure
○ Blue-green deployments
○ Canary deployments
Kubernetes - blue-green deployments
● deployment.yml
Kubernetes - Blue-green deployments
● service.yaml
Kubernetes - blue-green deployments
● DEPLOYMENT=blue envsubst < service.yml | kubectl apply
-f -
● DEPLOYMENT=blue IMAGE_TAG=v1.0.0 envsubst <
deployment.yml | kubectl apply -f -
● DEPLOYMENT=green IMAGE_TAG=v2.0.0 envsubst <
deployment.yml | kubectl apply -f -
● DEPLOYMENT=green envsubst < service.yml | kubectl
apply -f -
Kubernetes - Canary deployments
● Built-in feature
Conclusion
● With kubernetes, It’s easy to implement new
infrastruct/deployment.
● nerver broken => easy to replace
Q & A

More Related Content

What's hot (20)

PDF
Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!
smalltown
 
PDF
Kubernetes 架構與虛擬化之差異
inwin stack
 
PDF
Building stateful applications on Kubernetes with Rook
Roberto Hashioka
 
PDF
StarlingX - A Platform for the Distributed Edge | Ildiko Vancsa
Vietnam Open Infrastructure User Group
 
PDF
Docker for HPC in a Nutshell
inside-BigData.com
 
PDF
How to integrate Kubernetes in OpenStack: You need to know these project
inwin stack
 
PPTX
Building an external CPI for CloudStack
Guillaume Berche
 
PDF
Intro into Rook and Ceph on Kubernetes
Kublr
 
PDF
KubeCon EU 2016: Heroku to Kubernetes
KubeAcademy
 
PDF
HPC in a Box - Docker Workshop at ISC 2015
inside-BigData.com
 
PDF
Outside The Wire
Salo Shp
 
PDF
Neutron high availability open stack architecture openstack israel event 2015
Arthur Berezin
 
PPTX
Challenges of Kubernetes On-premise Deployment
Vietnam Open Infrastructure User Group
 
PDF
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
NETWAYS
 
PDF
Guts & OpenStack migration
openstackindia
 
PDF
How to Prepare for CKA Exam
Alfie Chen
 
PPTX
Gocd – Kubernetes/Nomad Continuous Deployment
Leandro Totino Pereira
 
PDF
Cloud Native User Group: Shift-Left Testing IaC With PaC
smalltown
 
PPTX
Containers and CloudStack
ShapeBlue
 
PPTX
Stateful set in kubernetes implementation & usecases
Krishna-Kumar
 
Kubernetes Day 2017 - Build, Ship and Run Your APP, Production !!
smalltown
 
Kubernetes 架構與虛擬化之差異
inwin stack
 
Building stateful applications on Kubernetes with Rook
Roberto Hashioka
 
StarlingX - A Platform for the Distributed Edge | Ildiko Vancsa
Vietnam Open Infrastructure User Group
 
Docker for HPC in a Nutshell
inside-BigData.com
 
How to integrate Kubernetes in OpenStack: You need to know these project
inwin stack
 
Building an external CPI for CloudStack
Guillaume Berche
 
Intro into Rook and Ceph on Kubernetes
Kublr
 
KubeCon EU 2016: Heroku to Kubernetes
KubeAcademy
 
HPC in a Box - Docker Workshop at ISC 2015
inside-BigData.com
 
Outside The Wire
Salo Shp
 
Neutron high availability open stack architecture openstack israel event 2015
Arthur Berezin
 
Challenges of Kubernetes On-premise Deployment
Vietnam Open Infrastructure User Group
 
OSDC 2018 | Three years running containers with Kubernetes in Production by T...
NETWAYS
 
Guts & OpenStack migration
openstackindia
 
How to Prepare for CKA Exam
Alfie Chen
 
Gocd – Kubernetes/Nomad Continuous Deployment
Leandro Totino Pereira
 
Cloud Native User Group: Shift-Left Testing IaC With PaC
smalltown
 
Containers and CloudStack
ShapeBlue
 
Stateful set in kubernetes implementation & usecases
Krishna-Kumar
 

Similar to Web後端技術的演變 (20)

PDF
Infrastructure as code managing servers in the cloud Morris 2024 scribd download
borrosmartdf
 
PDF
Infrastructure as code managing servers in the cloud Morris
habanbrino4l
 
PDF
Infrastructure as code managing servers in the cloud Morris
sahfthr3687
 
PDF
OSCON 2012 OpenStack Automation and DevOps Best Practices
Matt Ray
 
PPTX
How to Adopt Infrastructure as Code
NGINX, Inc.
 
PPTX
ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014
ChinaNetCloud
 
PPTX
Application Development on Metapod
Cisco DevNet
 
PDF
TXLF: Automated Deployment of OpenStack with Chef
Matt Ray
 
PPTX
Infrastructure as Code - Getting Started, Concepts & Tools
Lior Kamrat
 
PPTX
Cloud native Continuous Delivery
Christian Deger
 
PDF
Serverless Spring - Nate Schutta 1/2
VMware Tanzu
 
PPTX
Iac d.damyanov 4.pptx
Dimitar Damyanov
 
PDF
Platform - Technical architecture
David Rundle
 
PDF
Openstack Operations Guide 1st Edition Tom Fifield Diane Fleming
molaxmeizu
 
PDF
FAUG IaC Presentation
Antti Arnell
 
PPTX
Cloud native Continuous Delivery
Christian Deger
 
PDF
Operating the Hyperscale Cloud
Open Stack
 
PDF
Everything as code
Hepsiburada
 
PPTX
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Robert van Mölken
 
PPTX
Uncover the mysteries of infrastructure as code (iac)!
Prashant Kalkar
 
Infrastructure as code managing servers in the cloud Morris 2024 scribd download
borrosmartdf
 
Infrastructure as code managing servers in the cloud Morris
habanbrino4l
 
Infrastructure as code managing servers in the cloud Morris
sahfthr3687
 
OSCON 2012 OpenStack Automation and DevOps Best Practices
Matt Ray
 
How to Adopt Infrastructure as Code
NGINX, Inc.
 
ChinaNetCloud - Cloud Operations for Gaming - Tencent July 2014
ChinaNetCloud
 
Application Development on Metapod
Cisco DevNet
 
TXLF: Automated Deployment of OpenStack with Chef
Matt Ray
 
Infrastructure as Code - Getting Started, Concepts & Tools
Lior Kamrat
 
Cloud native Continuous Delivery
Christian Deger
 
Serverless Spring - Nate Schutta 1/2
VMware Tanzu
 
Iac d.damyanov 4.pptx
Dimitar Damyanov
 
Platform - Technical architecture
David Rundle
 
Openstack Operations Guide 1st Edition Tom Fifield Diane Fleming
molaxmeizu
 
FAUG IaC Presentation
Antti Arnell
 
Cloud native Continuous Delivery
Christian Deger
 
Operating the Hyperscale Cloud
Open Stack
 
Everything as code
Hepsiburada
 
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Robert van Mölken
 
Uncover the mysteries of infrastructure as code (iac)!
Prashant Kalkar
 
Ad

More from inwin stack (20)

PDF
Migrating to Cloud Native Solutions
inwin stack
 
PDF
Cloud Native 下的應用網路設計
inwin stack
 
PDF
當電子發票遇見 Google Cloud Function
inwin stack
 
PDF
運用高效、敏捷全新平台極速落實雲原生開發
inwin stack
 
PDF
The last mile of digital transformation AI大眾化:數位轉型的最後一哩
inwin stack
 
PDF
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
inwin stack
 
PDF
An Open, Open source way to enable your Cloud Native Journey
inwin stack
 
PDF
維運Kubernetes的兩三事
inwin stack
 
PDF
Serverless framework on kubernetes
inwin stack
 
PDF
Train.IO 【第六期-OpenStack 二三事】
inwin stack
 
PDF
Extend the Kubernetes API with CRD and Custom API Server
inwin stack
 
PDF
利用K8S實現高可靠應用
inwin stack
 
PPTX
Distributed tensorflow on kubernetes
inwin stack
 
PDF
Build your own kubernetes apiserver and resource type
inwin stack
 
PDF
Virtualization inside kubernetes
inwin stack
 
PDF
利用K8S實現高可靠應用
inwin stack
 
PDF
Build the Blockchain as service (BaaS) Using Ethereum on Kubernetes
inwin stack
 
PDF
Cantainer CI/ CD with Kubernetes
inwin stack
 
PDF
容器革命的「利」與「必」
inwin stack
 
PPTX
Distributed tensorflow on kubernetes
inwin stack
 
Migrating to Cloud Native Solutions
inwin stack
 
Cloud Native 下的應用網路設計
inwin stack
 
當電子發票遇見 Google Cloud Function
inwin stack
 
運用高效、敏捷全新平台極速落實雲原生開發
inwin stack
 
The last mile of digital transformation AI大眾化:數位轉型的最後一哩
inwin stack
 
整合Cloud Foundry 和 Kubernetes 技術打造企業級雲應用平台解決方案
inwin stack
 
An Open, Open source way to enable your Cloud Native Journey
inwin stack
 
維運Kubernetes的兩三事
inwin stack
 
Serverless framework on kubernetes
inwin stack
 
Train.IO 【第六期-OpenStack 二三事】
inwin stack
 
Extend the Kubernetes API with CRD and Custom API Server
inwin stack
 
利用K8S實現高可靠應用
inwin stack
 
Distributed tensorflow on kubernetes
inwin stack
 
Build your own kubernetes apiserver and resource type
inwin stack
 
Virtualization inside kubernetes
inwin stack
 
利用K8S實現高可靠應用
inwin stack
 
Build the Blockchain as service (BaaS) Using Ethereum on Kubernetes
inwin stack
 
Cantainer CI/ CD with Kubernetes
inwin stack
 
容器革命的「利」與「必」
inwin stack
 
Distributed tensorflow on kubernetes
inwin stack
 
Ad

Recently uploaded (20)

PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PPTX
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PPTX
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
The Future of Artificial Intelligence (AI)
Mukul
 
TrustArc Webinar - Navigating Data Privacy in LATAM: Laws, Trends, and Compli...
TrustArc
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
Agile Chennai 18-19 July 2025 | Workshop - Enhancing Agile Collaboration with...
AgileNetwork
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Build with AI and GDG Cloud Bydgoszcz- ADK .pdf
jaroslawgajewski1
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
AVL ( audio, visuals or led ), technology.
Rajeshwri Panchal
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 

Web後端技術的演變

  • 2. About Me ● R&D in inwinStack ● love sharing in conference ○ PyCon.TW ○ COSCUP ● OpenStack、Kubernetes、Machine learning ● [email protected]
  • 3. ● History ● Concept ○ Infrastructure as Code ○ Immutable Infrastructure ○ Blue-green deployments ○ Canary deployments ● Tools
  • 4. Physical Delivery ● Server ○ IPMI ● Switch ● Router
  • 5. Software delivery on the cloud ● Virtual Machine ● Software Defined Networks ● Software defined Storages ● API/GUI ● AWS、Google Cloud Platform 、Azure、 OpenStack
  • 6. Configuration management ● Configure an OS including the user, group, and system libraries, and also manages multiple servers that keep consistent with the desired state or configuration if we replace the server. ● Puppet / SaltStack / Ansible Script Language Action Configuration Management State
  • 7. Continuous Integration / Continuous Delivery Continuous Integration VCS Build Server Testing Automation Tools Continuous Delivery Continuous Integration VCS Build Server Testing Automation Tools Deploy Server
  • 8. Infrastructure as Code ● Infrastructure as code is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration. ● Use the configuration management tool helps to automate the setup cloud infrastructure by configuration file
  • 9. Principles of Infrastructure as Code ● Systems Can Be Easily Reproduced ● Systems Are Consistent ● Design Is Always Changing
  • 10. Immutable Infrastructure ● Servers are never modified after they're deployed. If something needs to be updated, fixed, or modified in any way, new servers built from a common image with the appropriate changes are provisioned to replace the old ones. ● Easy to upgrade / downgrade.
  • 11. Immutable Infrastructure ● System Infrastructure is divided into "data" and "other". ● "Other" are replaced at every deployment. ● "Other" are modifed with version controll. ● "Other" include “config”, “program”, “environment”.
  • 12. Immutable Infrastructure Running Container V1 volume Running Container V2 volume Stopped Container V1 Running Container V1 volume Stopped Container V2 upgrade downgrade
  • 13. Blue-green deployments ● a technique that reduces downtime and risk by running two identical production environments called Blue and Green. Service Pod: v1 Pod: v1 upgrade Pod: v2 Pod: v2 Service Pod: v1 Pod: v1 Pod: v2 Pod: v2
  • 14. Canary deployment ● slowly rolling out the change to a small subset of users before rolling it out to the entire infrastructure Service Pod: v1 Pod: v1 Service Pod: v1 Pod: v2 Service Pod: v2 Pod: v2 upgrade upgrade
  • 15. Microservices ● an architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities. ● OpenStack
  • 16. Tools
  • 17. Physical delivery ● Cobbler / TripleO for installing OS ● Ansible / Puppet for installation / configurement ● Supervisord / Systemd for process management
  • 18. Virtual Machine / IaaS ● Ansible / Puppet for installation / configurement ● Supervisord / Systemd for process management
  • 19. Docker ● Easy to use container ● Dockerfile (version control) ● Single Host
  • 20. Kubernetes ● Multi-node ● Pod, Deployment ● Scheduler ● Life management ● Rolling update ● HA ● Load balance
  • 21. Kubernetes ● It’s easy to implement: ○ Infrastructure as Code ○ Immutable Infrastructure ○ Blue-green deployments ○ Canary deployments
  • 22. Kubernetes - blue-green deployments ● deployment.yml
  • 23. Kubernetes - Blue-green deployments ● service.yaml
  • 24. Kubernetes - blue-green deployments ● DEPLOYMENT=blue envsubst < service.yml | kubectl apply -f - ● DEPLOYMENT=blue IMAGE_TAG=v1.0.0 envsubst < deployment.yml | kubectl apply -f - ● DEPLOYMENT=green IMAGE_TAG=v2.0.0 envsubst < deployment.yml | kubectl apply -f - ● DEPLOYMENT=green envsubst < service.yml | kubectl apply -f -
  • 25. Kubernetes - Canary deployments ● Built-in feature
  • 26. Conclusion ● With kubernetes, It’s easy to implement new infrastruct/deployment. ● nerver broken => easy to replace
  • 27. Q & A