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

PDF
以 Kubernetes 部屬 Spark 大數據計算環境
PPTX
使用 Prometheus 監控 Kubernetes Cluster
PPTX
Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)
PDF
基於 K8S 開發的 FaaS 專案 - riff
PDF
Setup Hybrid Clusters Using Kubernetes Federation
PPTX
Taking Cloud to Extremes: Scaled-down, Highly Available, and Mission-critical...
PDF
Running and Managing Kubernetes on OpenStack
PDF
OpenStack on Kubernetes (BOS Summit / May 2017 update)
以 Kubernetes 部屬 Spark 大數據計算環境
使用 Prometheus 監控 Kubernetes Cluster
Integrate Kubernetes into CORD(Central Office Re-architected as a Datacenter)
基於 K8S 開發的 FaaS 專案 - riff
Setup Hybrid Clusters Using Kubernetes Federation
Taking Cloud to Extremes: Scaled-down, Highly Available, and Mission-critical...
Running and Managing Kubernetes on OpenStack
OpenStack on Kubernetes (BOS Summit / May 2017 update)

What's hot (20)

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

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

PDF
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
PPTX
Pivotal Container Service Overview
PDF
Pivotal CloudFoundry on Google cloud platform
PDF
Pivotal Cloud Foundry 2.1: Making Transformation Real Webinar
PPTX
Ultimate Guide to Microservice Architecture on Kubernetes
PDF
Pivotal Container Service (PKS) at SF Cloud Foundry Meetup
PDF
Wie macht man aus Software einen Online-Service in der Cloud
PDF
Running Production-Grade Kubernetes on AWS
PDF
Pivotal Platform: A First Look at the October Release
PDF
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
PPTX
Automating using Ansible
PPTX
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
PDF
Introduction to PaaS and Heroku
PDF
Making Service Deployments to AWS a breeze with Nova
PDF
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...
PDF
Oracle week Israel - OpenStack Platform - 2013
PDF
CI/CD on Google Cloud Platform
PPTX
Kubernetes is all you need
PPTX
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
PDF
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
Pivotal Container Service Overview
Pivotal CloudFoundry on Google cloud platform
Pivotal Cloud Foundry 2.1: Making Transformation Real Webinar
Ultimate Guide to Microservice Architecture on Kubernetes
Pivotal Container Service (PKS) at SF Cloud Foundry Meetup
Wie macht man aus Software einen Online-Service in der Cloud
Running Production-Grade Kubernetes on AWS
Pivotal Platform: A First Look at the October Release
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
Automating using Ansible
Spring Cloud Services with Pivotal Cloud Foundry- Gokhan Goksu
Introduction to PaaS and Heroku
Making Service Deployments to AWS a breeze with Nova
CloudBees Jenkins and Pivotal Cloud Foundry - Continuous Delivery for Cloud N...
Oracle week Israel - OpenStack Platform - 2013
CI/CD on Google Cloud Platform
Kubernetes is all you need
Delivering Cloud Native Batch Solutions - Dodd Pfeffer
Como creamos QuestDB Cloud, un SaaS basado en Kubernetes alrededor de QuestDB...
Ad

More from inwin stack (20)

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

Recently uploaded (20)

PPTX
observCloud-Native Containerability and monitoring.pptx
PDF
Five Habits of High-Impact Board Members
PDF
WOOl fibre morphology and structure.pdf for textiles
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
Getting started with AI Agents and Multi-Agent Systems
DOCX
search engine optimization ppt fir known well about this
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PPTX
Chapter 5: Probability Theory and Statistics
PPT
What is a Computer? Input Devices /output devices
PDF
STKI Israel Market Study 2025 version august
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Architecture types and enterprise applications.pdf
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
Zenith AI: Advanced Artificial Intelligence
PPT
Module 1.ppt Iot fundamentals and Architecture
PPTX
Modernising the Digital Integration Hub
PDF
August Patch Tuesday
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
observCloud-Native Containerability and monitoring.pptx
Five Habits of High-Impact Board Members
WOOl fibre morphology and structure.pdf for textiles
Group 1 Presentation -Planning and Decision Making .pptx
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Getting started with AI Agents and Multi-Agent Systems
search engine optimization ppt fir known well about this
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
Chapter 5: Probability Theory and Statistics
What is a Computer? Input Devices /output devices
STKI Israel Market Study 2025 version august
Assigned Numbers - 2025 - Bluetooth® Document
Architecture types and enterprise applications.pdf
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
Zenith AI: Advanced Artificial Intelligence
Module 1.ppt Iot fundamentals and Architecture
Modernising the Digital Integration Hub
August Patch Tuesday
Taming the Chaos: How to Turn Unstructured Data into Decisions

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