SlideShare une entreprise Scribd logo
1  sur  118
Télécharger pour lire hors ligne
Practical Ansible: A Top-down Introduction


Architect @ Gogolook
3
--no-provision
4
5
6
Modern Web 2015
Bottom-up Ansible
IT




Top-down
”
7
Modern Web 2015
Bottom-up Ansible
IT 



Top-down
”
8
9
☛ https://github.com/ansible/ansible
9
☛ https://github.com/ansible/ansible
9
☛ https://github.com/ansible/ansible
10
VPC
CloudFront ELB API servers MongoDB
11
11
12
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
13
ad-hoc commands

inventory

playbook - push

playbook - pull
13
ad-hoc commands

inventory

playbook - push

playbook - pull
roles

selective execution
13
ad-hoc commands

inventory

playbook - push

playbook - pull
roles

selective execution
13
ad-hoc commands

inventory

playbook - push

playbook - pull
roles

selective execution
Capistrano-style

zero-downtime

blue-green

rolling upgrade
13
ad-hoc commands

inventory

playbook - push

playbook - pull
roles

selective execution
Capistrano-style

zero-downtime

blue-green

rolling upgrade
roles

selective execution
Capistrano-style

zero-downtime

blue-green

rolling upgrade
14
ad-hoc commands

inventory

playbook - push

playbook - pull
15
16
control machine managed node
16
control machine managed node
Python ≥ 2.5
16
control machine managed node
Python ≥ 2.5
SSH
16
control machine managed node
Python ≥ 2.5
SSH
Ansible:

pip install ansible
yum install ansible
apt-get install ansible
brew install ansible
16
control machine managed node
Python ≥ 2.5Python ≥ 2.6/2.7
SSH
Ansible:

pip install ansible
yum install ansible
apt-get install ansible
brew install ansible
17
control machine managed node
SSH
SSH
SSH
host1
host2
host3
17
control machine managed node
SSH
SSH
SSH
host1
host2
host3
inventory file
host1
host2 ansible_ssh_host=10.0.0.10
host3 ansible_ssh_port=2222
18
inventory file
lb ansible_ssh_host=10.0.0.10
app1 ansible_ssh_host=10.0.0.20
app2 ansible_ssh_host=10.0.0.21
app3 ansible_ssh_host=10.0.0.22
db ansible_ssh_host=10.0.0.30
19
ansible 
--inventory-file=hosts-vagrant 
--user=vagrant --ask-pass 

all 
-a hostname
inventory file
19
ansible 
--inventory-file=hosts-vagrant 
--user=vagrant --ask-pass 

all 
-a hostname
inventory file
user account
19
ansible 
--inventory-file=hosts-vagrant 
--user=vagrant --ask-pass 

all 
-a hostname
inventory file
apply to “all” hosts
in the inventory file
user account
19
ansible 
--inventory-file=hosts-vagrant 
--user=vagrant --ask-pass 

all 
-a hostname
inventory file
ad-hoc command
apply to “all” hosts
in the inventory file
user account
20
inventory filedefault:
• /etc/ansible/hosts
• /usr/local/etc/ansible/hosts
20
inventory file
cp hosts-vagrant /usr/local/etc/ansible/hosts
ansible 
--user=vagrant --ask-pass 

all 
-a hostname
default:
• /etc/ansible/hosts
• /usr/local/etc/ansible/hosts
21
ansible 
--user=vagrant --ask-pass 

all 
-m setup
host information
22
22
23
24
ansible 
--user=vagrant --ask-pass 

lb 
-m yum 
-a "name=openssh"
apply to the “lb” host
in the inventory file
lb 10.0.0.10
CentOS 7.1
24
ansible 
--user=vagrant --ask-pass 

lb 
-m yum 
-a "name=openssh"
apply to the “lb” host
in the inventory file
invoke Ansible module “yum”
lb 10.0.0.10
CentOS 7.1
24
ansible 
--user=vagrant --ask-pass 

lb 
-m yum 
-a "name=openssh"
apply to the “lb” host
in the inventory file
invoke Ansible module “yum”
inspect package status
lb 10.0.0.10
CentOS 7.1
25
ansible 
--user=vagrant --ask-pass 
--become 

lb 
-m yum 
-a "name=openssh state=latest"
install or update latest package
lb 10.0.0.10
CentOS 7.1
25
ansible 
--user=vagrant --ask-pass 
--become 

lb 
-m yum 
-a "name=openssh state=latest"
install or update latest package
become “sudo” privilege
lb 10.0.0.10
CentOS 7.1
26
ansible 
--user=vagrant --ask-pass 
--become 

lb:db 
-m yum 
-a "name=openssh state=latest"
apply to the “lb” and “db” hosts
in the inventory file
lb 10.0.0.10 db 10.0.0.30
CentOS 7.1 CentOS 7.1
27
ansible 
--user=vagrant --ask-pass 
--become 

'app*' 
-m apt 
-a "name=openssh-server state=latest"
apply to the “app*” hosts
in the inventory file
app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
Ubuntu 14.04
27
ansible 
--user=vagrant --ask-pass 
--become 

'app*' 
-m apt 
-a "name=openssh-server state=latest"
apply to the “app*” hosts
in the inventory file
app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
Ubuntu 14.04
invoke Ansible module
“apt”
28
[lbservers]
lb ansible_ssh_host=10.0.0.10
[appservers]
app1 ansible_ssh_host=10.0.0.20
app2 ansible_ssh_host=10.0.0.21
app3 ansible_ssh_host=10.0.0.22
[dbservers]
db ansible_ssh_host=10.0.0.30
29
inventory file
30
“push” mode
31
control machine managed node
SSH
SSH
SSH
host1
host2
host3
inventory
file
31
control machine managed node
SSH
SSH
SSH
host1
host2
host3
playbook
inventory
file
31
control machine managed node
SSH
SSH
SSH
host1
host2
host3
playbook
inventory
file
32
playbook
- hosts: lbservers:dbservers
tasks:
- name: update openssh
yum: name=openssh state=latest
- hosts: appservers
tasks:
- name: update openssh
apt: name=openssh-server state=latest
33
ansible-playbook 
--user=vagrant --ask-pass 
--become 

openssh.yml
apply Ansible playbook “openssh.yml”
to all hosts in the inventory
34
How about the “pull” mode?
35
36
managed node
host1
host2
playbook
❶
36
managed node
host1
host2
playbook
• git pull …

• sftp …

• rsync …

• wget …

• …
❶
36
managed node
host1
host2
playbook
• git pull …

• sftp …

• rsync …

• wget …

• …
❶ ansible-playbook 
--connection=local 

playbook.yml
apply locally
❷
37
managed node
host1
host2
playbook
❶
ansible-pull --url=xxxx
37
managed node
host1
host2
playbook
❶
ansible-pull --url=xxxx
❷
37
managed node
host1
host2
playbook
❶
ansible-pull --url=xxxx
❷
apply locally
❸
Capistrano-style

zero-downtime

blue-green

rolling upgrade
ad-hoc commands

inventory

playbook - push

playbook - pull
38
roles

selective execution
39
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
40
41
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
timezone
ntp
All nodes will need these…
42
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
haproxy
43
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
repo-epel
redis
44
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
nodejs
git
project_deploy
45
playbook
- hosts: all
tasks: ...
- hosts: lbservers
tasks: ...
- hosts: appservers
tasks: ...
- hosts: dbservers
tasks: ...
timezone, ntp
haproxy
repo-epel, redis
nodejs, git, project_deploy
46
ansible galaxy [pic]
is your friend…
46
ansible galaxy [pic]
is your friend…
Ansible Galaxy is your friend…
47
playbook
- hosts: all
tasks: ...
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
47
playbook
- hosts: all
tasks: ...
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
47
playbook
- hosts: all
tasks: ...
roles:
- yatesr.timezone
- geerlingguy.ntp
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
47
playbook
- hosts: all
tasks: ...
roles:
- yatesr.timezone
- geerlingguy.ntp
vars:
timezone: Asia/Taipei
ntp_timezone: Asia/Taipei
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
48
playbook
- hosts: appservers
roles:
- williamyeh.nodejs
- geerlingguy.git
- project_deploy
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
48
playbook
- hosts: appservers
roles:
- williamyeh.nodejs
- geerlingguy.git
- project_deploy
vars:
project_git_repo: "https://github.com/..."
project_version: "master"
project_has_npm: true
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
49
50
ansible-playbook 
--user=vagrant --ask-pass 
--become 
--limit=appservers 
playbook.yml
apply to all “appservers” hosts in the inventory
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
51
playbook
- hosts: appservers
roles:
- williamyeh.nodejs
- geerlingguy.git
- project_deploy
vars:
project_git_repo: "https://github.com/..."
project_version: "master"
project_has_npm: true
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
51
playbook
- hosts: appservers
roles:
- williamyeh.nodejs
- geerlingguy.git
- project_deploy
vars:
project_git_repo: "https://github.com/..."
project_version: "master"
project_has_npm: true
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
51
playbook
- hosts: appservers
roles:
- williamyeh.nodejs
- geerlingguy.git
- project_deploy
vars:
project_git_repo: "https://github.com/..."
project_version: "master"
project_has_npm: true
- { role: project_deploy, tags: ['deploy'] }
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
52
ansible-playbook 
--user=vagrant --ask-pass 
--become 

--tags=deploy 
playbook.yml
apply only the roles/tasks with a “deploy” tag
to all hosts in the inventory
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
ad-hoc commands

inventory

playbook - push

playbook - pull
roles

selective execution
53
Capistrano-style

zero-downtime

blue-green

rolling upgrade
54
54
55
56
https://galaxy.ansible.com/list#/roles/732
57
57
Deploy software projects (Capistrano-like)
58
git source
58
git source
older build
58
git source
older build
newer build
58
git source
older build
newer build
current active build
59
60
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
60
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
shutdown this on purpose!
60
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
shutdown this on purpose!
visible downtime?
61
62
playbook
- hosts: appservers
roles:
- williamyeh.nodejs
- geerlingguy.git
vars:
project_git_repo: "https://github.com/..."
project_version: "master"
project_has_npm: true
- { role: project_deploy, tags: ['deploy'] }
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
63
ansible-playbook 
--user=vagrant --ask-pass 
--become 
--extra-vars='project_version=green' 

--limit=app1 
--tags=deploy 
playbook.yml
apply only the roles/tasks with a “deploy” tag
lb 10.0.0.10 app1 10.0.0.20
app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
apply to the “app1” host
63
ansible-playbook 
--user=vagrant --ask-pass 
--become 
--extra-vars='project_version=green' 

--limit=app1 
--tags=deploy 
playbook.yml
apply only the roles/tasks with a “deploy” tag
lb 10.0.0.10 app1 10.0.0.20
app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
apply to the “app1” host
checkout “green” branch
64
65
playbook
- hosts: appservers
serial: 1
roles:
- williamyeh.nodejs
- geerlingguy.git
- { role: project_deploy, tags: ['deploy'] }
vars:
project_git_repo: "https://github.com/..."
project_version: "master"
project_has_npm: true
lb 10.0.0.10 app1 10.0.0.20

app2 10.0.0.21

app3 10.0.0.22
db 10.0.0.30
CentOS 7.1 CentOS 7.1Ubuntu 14.04
ad-hoc commands

inventory

playbook - push

playbook - pull
roles

selective execution
Capistrano-style

zero-downtime

blue-green

rolling upgrade
66
67
•
67
•
•
67
•
•
•
67
68
69
70
☛ https://github.com/ansible/ansible
70
☛ https://github.com/ansible/ansible
70
☛ https://github.com/ansible/ansible
71
ad-hoc commands

inventory

playbook - push

playbook - pull
roles

selective execution
Capistrano-style

zero-downtime

blue-green

rolling upgrade
72

Contenu connexe

Tendances

DevOps(3) : Ansible - (MOSG)
DevOps(3) : Ansible - (MOSG)DevOps(3) : Ansible - (MOSG)
DevOps(3) : Ansible - (MOSG)Soshi Nemoto
 
DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)Soshi Nemoto
 
Fabric workshop(1) - (MOSG)
Fabric workshop(1) - (MOSG)Fabric workshop(1) - (MOSG)
Fabric workshop(1) - (MOSG)Soshi Nemoto
 
Ansible, best practices
Ansible, best practicesAnsible, best practices
Ansible, best practicesBas Meijer
 
Making environment for_infrastructure_as_code
Making environment for_infrastructure_as_codeMaking environment for_infrastructure_as_code
Making environment for_infrastructure_as_codeSoshi Nemoto
 
Vagrant for real (codemotion rome 2016)
Vagrant for real (codemotion rome 2016)Vagrant for real (codemotion rome 2016)
Vagrant for real (codemotion rome 2016)Michele Orselli
 
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Puppet
 
DevOps(2) : Vagrant - (MOSG)
DevOps(2) : Vagrant  -  (MOSG)DevOps(2) : Vagrant  -  (MOSG)
DevOps(2) : Vagrant - (MOSG)Soshi Nemoto
 
Deploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleDeploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleRoman Rodomansky
 
Instruction: dev environment
Instruction: dev environmentInstruction: dev environment
Instruction: dev environmentSoshi Nemoto
 
Automation and Ansible
Automation and AnsibleAutomation and Ansible
Automation and Ansiblejtyr
 
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014Puppet
 
Configuration Surgery with Augeas
Configuration Surgery with AugeasConfiguration Surgery with Augeas
Configuration Surgery with AugeasPuppet
 
Portland PUG April 2014: Beaker 101: Acceptance Test Everything
Portland PUG April 2014: Beaker 101: Acceptance Test EverythingPortland PUG April 2014: Beaker 101: Acceptance Test Everything
Portland PUG April 2014: Beaker 101: Acceptance Test EverythingPuppet
 
Augeas, swiss knife resources for your puppet tree
Augeas, swiss knife resources for your puppet treeAugeas, swiss knife resources for your puppet tree
Augeas, swiss knife resources for your puppet treeJulien Pivotto
 
Continuous infrastructure testing
Continuous infrastructure testingContinuous infrastructure testing
Continuous infrastructure testingDaniel Paulus
 
Python Deployment with Fabric
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabricandymccurdy
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierCarlos Sanchez
 

Tendances (19)

DevOps(3) : Ansible - (MOSG)
DevOps(3) : Ansible - (MOSG)DevOps(3) : Ansible - (MOSG)
DevOps(3) : Ansible - (MOSG)
 
DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)DevOps(4) : Ansible(2) - (MOSG)
DevOps(4) : Ansible(2) - (MOSG)
 
Fabric workshop(1) - (MOSG)
Fabric workshop(1) - (MOSG)Fabric workshop(1) - (MOSG)
Fabric workshop(1) - (MOSG)
 
Ansible, best practices
Ansible, best practicesAnsible, best practices
Ansible, best practices
 
Making environment for_infrastructure_as_code
Making environment for_infrastructure_as_codeMaking environment for_infrastructure_as_code
Making environment for_infrastructure_as_code
 
Vagrant for real (codemotion rome 2016)
Vagrant for real (codemotion rome 2016)Vagrant for real (codemotion rome 2016)
Vagrant for real (codemotion rome 2016)
 
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
Continuous Infrastructure: Modern Puppet for the Jenkins Project - PuppetConf...
 
DevOps(2) : Vagrant - (MOSG)
DevOps(2) : Vagrant  -  (MOSG)DevOps(2) : Vagrant  -  (MOSG)
DevOps(2) : Vagrant - (MOSG)
 
Deploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleDeploying Symfony2 app with Ansible
Deploying Symfony2 app with Ansible
 
Instruction: dev environment
Instruction: dev environmentInstruction: dev environment
Instruction: dev environment
 
Automation and Ansible
Automation and AnsibleAutomation and Ansible
Automation and Ansible
 
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
Beaker: Automated, Cloud-Based Acceptance Testing - PuppetConf 2014
 
Configuration Surgery with Augeas
Configuration Surgery with AugeasConfiguration Surgery with Augeas
Configuration Surgery with Augeas
 
Portland PUG April 2014: Beaker 101: Acceptance Test Everything
Portland PUG April 2014: Beaker 101: Acceptance Test EverythingPortland PUG April 2014: Beaker 101: Acceptance Test Everything
Portland PUG April 2014: Beaker 101: Acceptance Test Everything
 
Augeas, swiss knife resources for your puppet tree
Augeas, swiss knife resources for your puppet treeAugeas, swiss knife resources for your puppet tree
Augeas, swiss knife resources for your puppet tree
 
Ansible - Introduction
Ansible - IntroductionAnsible - Introduction
Ansible - Introduction
 
Continuous infrastructure testing
Continuous infrastructure testingContinuous infrastructure testing
Continuous infrastructure testing
 
Python Deployment with Fabric
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabric
 
Continuous Delivery: The Next Frontier
Continuous Delivery: The Next FrontierContinuous Delivery: The Next Frontier
Continuous Delivery: The Next Frontier
 

Similaire à Ansible 實戰:top down 觀點

Testing your infrastructure with litmus
Testing your infrastructure with litmusTesting your infrastructure with litmus
Testing your infrastructure with litmusBram Vogelaar
 
aptly: Debian repository management tool
aptly: Debian repository management toolaptly: Debian repository management tool
aptly: Debian repository management toolAndrey Smirnov
 
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !Pierre-jean Texier
 
Kubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdf
Kubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdfKubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdf
Kubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdfSrinivasa Rao
 
Ruby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionRuby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionFabio Kung
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes NetworkingCJ Cullen
 
Networking in Kubernetes
Networking in KubernetesNetworking in Kubernetes
Networking in KubernetesMinhan Xia
 
k8s practice 2023.pptx
k8s practice 2023.pptxk8s practice 2023.pptx
k8s practice 2023.pptxwonyong hwang
 
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014Amazon Web Services
 
kubernetes - minikube - getting started
kubernetes - minikube - getting startedkubernetes - minikube - getting started
kubernetes - minikube - getting startedMunish Mehta
 
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOpsОмские ИТ-субботники
 
Hands-On Session Docker
Hands-On Session DockerHands-On Session Docker
Hands-On Session DockerLinetsChile
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefMatt Ray
 
glance replicator
glance replicatorglance replicator
glance replicatoririx_jp
 
PHP on Heroku: Deploying and Scaling Apps in the Cloud
PHP on Heroku: Deploying and Scaling Apps in the CloudPHP on Heroku: Deploying and Scaling Apps in the Cloud
PHP on Heroku: Deploying and Scaling Apps in the CloudSalesforce Developers
 
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...SaltStack
 
Configuration Management with Saltstack
Configuration Management with SaltstackConfiguration Management with Saltstack
Configuration Management with Saltstackinovex GmbH
 
Kubernetes: Wie Chefkoch.de mit Containern arbeitet
Kubernetes: Wie Chefkoch.de mit Containern arbeitetKubernetes: Wie Chefkoch.de mit Containern arbeitet
Kubernetes: Wie Chefkoch.de mit Containern arbeitetPer Bernhardt
 

Similaire à Ansible 實戰:top down 觀點 (20)

Testing your infrastructure with litmus
Testing your infrastructure with litmusTesting your infrastructure with litmus
Testing your infrastructure with litmus
 
aptly: Debian repository management tool
aptly: Debian repository management toolaptly: Debian repository management tool
aptly: Debian repository management tool
 
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
 
Kubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdf
Kubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdfKubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdf
Kubernetes+-CKA-+0400+-+Application+Lifecycle+Management.pdf
 
Ruby and Rails Packaging to Production
Ruby and Rails Packaging to ProductionRuby and Rails Packaging to Production
Ruby and Rails Packaging to Production
 
Kubernetes Networking
Kubernetes NetworkingKubernetes Networking
Kubernetes Networking
 
Networking in Kubernetes
Networking in KubernetesNetworking in Kubernetes
Networking in Kubernetes
 
k8s practice 2023.pptx
k8s practice 2023.pptxk8s practice 2023.pptx
k8s practice 2023.pptx
 
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
 
Docker practice
Docker practiceDocker practice
Docker practice
 
kubernetes - minikube - getting started
kubernetes - minikube - getting startedkubernetes - minikube - getting started
kubernetes - minikube - getting started
 
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
2017-03-11 02 Денис Нелюбин. Docker & Ansible - лучшие друзья DevOps
 
Hands-On Session Docker
Hands-On Session DockerHands-On Session Docker
Hands-On Session Docker
 
Bare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and ChefBare Metal to OpenStack with Razor and Chef
Bare Metal to OpenStack with Razor and Chef
 
glance replicator
glance replicatorglance replicator
glance replicator
 
PHP on Heroku: Deploying and Scaling Apps in the Cloud
PHP on Heroku: Deploying and Scaling Apps in the CloudPHP on Heroku: Deploying and Scaling Apps in the Cloud
PHP on Heroku: Deploying and Scaling Apps in the Cloud
 
Capistrano
CapistranoCapistrano
Capistrano
 
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
Arnold Bechtoldt, Inovex GmbH Linux systems engineer - Configuration Manageme...
 
Configuration Management with Saltstack
Configuration Management with SaltstackConfiguration Management with Saltstack
Configuration Management with Saltstack
 
Kubernetes: Wie Chefkoch.de mit Containern arbeitet
Kubernetes: Wie Chefkoch.de mit Containern arbeitetKubernetes: Wie Chefkoch.de mit Containern arbeitet
Kubernetes: Wie Chefkoch.de mit Containern arbeitet
 

Plus de William Yeh

敏捷轉型:目標管理工作坊
敏捷轉型:目標管理工作坊敏捷轉型:目標管理工作坊
敏捷轉型:目標管理工作坊William Yeh
 
gRPC:更高效的微服務介面
gRPC:更高效的微服務介面gRPC:更高效的微服務介面
gRPC:更高效的微服務介面William Yeh
 
給 RD 的 Kubernetes 初體驗 (EKS version)
給 RD 的 Kubernetes 初體驗 (EKS version)給 RD 的 Kubernetes 初體驗 (EKS version)
給 RD 的 Kubernetes 初體驗 (EKS version)William Yeh
 
賣 K8s 的人不敢告訴你的事 (Secrets that K8s vendors won't tell you)
賣 K8s 的人不敢告訴你的事 (Secrets that K8s vendors won't tell you)賣 K8s 的人不敢告訴你的事 (Secrets that K8s vendors won't tell you)
賣 K8s 的人不敢告訴你的事 (Secrets that K8s vendors won't tell you)William Yeh
 
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version)
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version) 給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version)
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version) William Yeh
 
Next ’19 的 Istio 場次 重點摘要
Next ’19 的 Istio 場次 重點摘要Next ’19 的 Istio 場次 重點摘要
Next ’19 的 Istio 場次 重點摘要William Yeh
 
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)William Yeh
 
給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗William Yeh
 
當 .NET 遇到 Kubernetes (When .NET meets Kubernetes)
當 .NET 遇到 Kubernetes (When .NET meets Kubernetes)當 .NET 遇到 Kubernetes (When .NET meets Kubernetes)
當 .NET 遇到 Kubernetes (When .NET meets Kubernetes)William Yeh
 
為了精準估算,你必須付出什麼代價?
為了精準估算,你必須付出什麼代價?為了精準估算,你必須付出什麼代價?
為了精準估算,你必須付出什麼代價?William Yeh
 
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)William Yeh
 
從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)
從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)
從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)William Yeh
 
DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...
DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...
DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...William Yeh
 
軟體雲端化的要素 (Elements of Cloud-Native Apps)
軟體雲端化的要素 (Elements of Cloud-Native Apps)軟體雲端化的要素 (Elements of Cloud-Native Apps)
軟體雲端化的要素 (Elements of Cloud-Native Apps)William Yeh
 
瓶頸處理九大原則 (精簡版)
瓶頸處理九大原則 (精簡版)瓶頸處理九大原則 (精簡版)
瓶頸處理九大原則 (精簡版)William Yeh
 
Docker 導入:障礙與對策
Docker 導入:障礙與對策Docker 導入:障礙與對策
Docker 導入:障礙與對策William Yeh
 
Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點William Yeh
 
從限制理論看 DevOps
從限制理論看 DevOps從限制理論看 DevOps
從限制理論看 DevOpsWilliam Yeh
 
有了 Agile,為什麼還要有 DevOps?
有了 Agile,為什麼還要有 DevOps?有了 Agile,為什麼還要有 DevOps?
有了 Agile,為什麼還要有 DevOps?William Yeh
 
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)William Yeh
 

Plus de William Yeh (20)

敏捷轉型:目標管理工作坊
敏捷轉型:目標管理工作坊敏捷轉型:目標管理工作坊
敏捷轉型:目標管理工作坊
 
gRPC:更高效的微服務介面
gRPC:更高效的微服務介面gRPC:更高效的微服務介面
gRPC:更高效的微服務介面
 
給 RD 的 Kubernetes 初體驗 (EKS version)
給 RD 的 Kubernetes 初體驗 (EKS version)給 RD 的 Kubernetes 初體驗 (EKS version)
給 RD 的 Kubernetes 初體驗 (EKS version)
 
賣 K8s 的人不敢告訴你的事 (Secrets that K8s vendors won't tell you)
賣 K8s 的人不敢告訴你的事 (Secrets that K8s vendors won't tell you)賣 K8s 的人不敢告訴你的事 (Secrets that K8s vendors won't tell you)
賣 K8s 的人不敢告訴你的事 (Secrets that K8s vendors won't tell you)
 
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version)
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version) 給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version)
給 RD 的 Kubernetes 初體驗 (GDG Cloud KH 2019-08 version)
 
Next ’19 的 Istio 場次 重點摘要
Next ’19 的 Istio 場次 重點摘要Next ’19 的 Istio 場次 重點摘要
Next ’19 的 Istio 場次 重點摘要
 
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
給 RD 的 Kubernetes 初體驗 (gcpug 2019-06 version)
 
給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗給 RD 的 Kubernetes 初體驗
給 RD 的 Kubernetes 初體驗
 
當 .NET 遇到 Kubernetes (When .NET meets Kubernetes)
當 .NET 遇到 Kubernetes (When .NET meets Kubernetes)當 .NET 遇到 Kubernetes (When .NET meets Kubernetes)
當 .NET 遇到 Kubernetes (When .NET meets Kubernetes)
 
為了精準估算,你必須付出什麼代價?
為了精準估算,你必須付出什麼代價?為了精準估算,你必須付出什麼代價?
為了精準估算,你必須付出什麼代價?
 
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
從限制理論角度談敏捷導入階段 (Agile transition: a TOC perspective)
 
從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)
從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)
從系統思考看 DevOps:以 microservices 為例 (DevOps: a system dynamics perspective)
 
DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...
DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...
DevOps to Agile 敏捷轉型經驗  (From DevOps to Agile: Transformation Experience of G...
 
軟體雲端化的要素 (Elements of Cloud-Native Apps)
軟體雲端化的要素 (Elements of Cloud-Native Apps)軟體雲端化的要素 (Elements of Cloud-Native Apps)
軟體雲端化的要素 (Elements of Cloud-Native Apps)
 
瓶頸處理九大原則 (精簡版)
瓶頸處理九大原則 (精簡版)瓶頸處理九大原則 (精簡版)
瓶頸處理九大原則 (精簡版)
 
Docker 導入:障礙與對策
Docker 導入:障礙與對策Docker 導入:障礙與對策
Docker 導入:障礙與對策
 
Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點Monitoring 改造計畫:流程觀點
Monitoring 改造計畫:流程觀點
 
從限制理論看 DevOps
從限制理論看 DevOps從限制理論看 DevOps
從限制理論看 DevOps
 
有了 Agile,為什麼還要有 DevOps?
有了 Agile,為什麼還要有 DevOps?有了 Agile,為什麼還要有 DevOps?
有了 Agile,為什麼還要有 DevOps?
 
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
Docker 對傳統 DevOps 工具鏈的衝擊 (Docker's Impact on traditional DevOps toolchain)
 

Dernier

Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 

Dernier (20)

2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 

Ansible 實戰:top down 觀點