活動簡介
Serverless 已是近期廣為討論及應用的熱門架構模式,越來越多的企業導入它,降低運營成本,並用以簡設備的運維;更多開發團隊利用它,加快開發的速度及提升可維護性,將維運的重擔由服務商承擔,讓開發團隊能將大多數時間用於開發真正有價值的企業商業應用。就像一隻強而有力的手臂在背後支撐著,並引領著未來的趨勢,iThome #Serverless All-Star 將聚焦在這個熱門的架構模式,邀請大大及社群們,從應用案例、深度技術議題探討,讓技術、應用及商務合作的催化之下,產生更多的化學效應,創造更多的變化。
公司想轉型?專案想更快速? 有在考慮 Serverless 但卻不知道如何下手? Serveless All-Star 是一場全明星的技術盛會,廣邀各大廠商,讓您在一天內了解趨勢現況,快速上手。 並透過案例應用、體驗實做、技術導覽,立即找到最適合您的工具和方法。
活動資訊
- 日期: 2018 年 3 月 29 日 (星期四)
- 時間: 9:00 ~ 17:30
- 地點: 富邦國際會議中心(台北市敦化南路一段 108 號 B2)
- 報名: 活動報名
活動內容
大會議程、講師陣容、Workshop、站長議程「OpenFaaS - 快速打造你的 Serverless 平台」。站長議程簡報檔
站長議程展示影片
下列為當天實際展示的錄影影片 (怕 Live Demo 完全出不來時,預先錄好的影片就可以派上用場了 😝)。Demo01 - OpenFaaS on Docker Swarm
下列為這個展示影片的相關指令及操作步驟:### Demo01 - OpenFaaS on Docker Swarm (https://labs.play-with-docker.com)
PWD > 5 Manager Node Docker Swarm
/etc/os-release
docker run -d -p 80:80 nginx
netstat -tunpl Docker Swarm Port (2377, 4789, 7946)
docker network ls (docker_gwbridge, ingress)
docker info
docker node ls
docker node promote worker1/worker2
## Deploy OpenFaaS and Install FaaS-Cli
git clone https://github.com/openfaas/faas && \
cd faas && \
git checkout 0.7.1 && \
./deploy_stack.sh && \
curl -sL cli.openfaas.com | sh
docker service ls
Port 8080 API Gateway and OpenFaaS UI Portal
Port 9090 Prometheus Endpoint (open-source systems monitoring and alerting toolkit)
docker network ls //func_functions
docker service ps func_faas-swarm
docker stack ls
docker stack ps func (func_*, Default 1 Replicas)
Demo02 - OpenFaaS on Kubernetes
下列為這個展示影片的相關指令及操作步驟:### Demo02 - OpenFaaS on Kubernetes (https://labs.play-with-k8s.com/)
PWD > Add New Instalnce (Max 10)
## Initializes Cluster Master Node and vNetwork
kubeadm init --apiserver-advertise-address $(hostname -i)
kubectl apply -n kube-system -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 |tr -d '\n')"
## Install K8S Dashboard
curl -L -s https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml | sed 's/targetPort: 8443/targetPort: 8443\n type: LoadBalancer/' | kubectl apply -f -
kubectl create -f https://gist.githubusercontent.com/figaw/17dc8ed72c8d2fe1a12682beb9c1e57e/raw/e2c472cab2aa2ffb410999bcdbd158aa7617d9a3/service-account.yaml
kubectl get services kubernetes-dashboard -n kube-system
## Deploy OpenFaaS and Install FaaS-Cli
yum -y install git && \
git clone https://github.com/openfaas/faas-netes && \
cd faas-netes && \
kubectl apply -f ./namespaces.yml,./yaml
kubectl get namespace
Port 31112 API Gateway and OpenFaaS UI Portal
Port 31119 Prometheus Endpoint (open-source systems monitoring and alerting toolkit)
Demo03 - Invoke Function
下列為這個展示影片的相關指令及操作步驟:### Demo03 - Invoke function
## HTTP POST request
faas-cli list
curl -X POST http://localhost:8080/function/func_markdown -d '# Serverless All-Star'
## FaaS-CLI
faas-cli list
echo "# Serverless All-Star"| faas-cli invoke func_markdown
## OpenFaaS UI Portal
## func_markdown - # Serverless All-Star
## func_echoit - Serverless All-Star
## func_wordcount - Serverless All-Star
## func_nodeinfo - manager1
## func_hubstats - weithenn
## func_base64 - Serverless All-Star
## Prometheus
Demo04 - Auto-Scaling
下列為這個展示影片的相關指令及操作步驟:### Demo04 - Auto-Scaling
## Manager1
for i in {1..5000}; do echo $i | faas-cli invoke func_base64; done
## Manager2
for i in {1..5000}; do curl -X POST http://127.0.0.1:8080/function/func_echoit -d "Serverless All-Star $i"; done
## Manager3
watch docker service ls
## Prometheus
Demo05 - Deploy Function from Store
下列為這個展示影片的相關指令及操作步驟:### Demo05 - Deploy Function from Store/Manually
## OpenFaaS UI Portal - from Store
Deploy A New Function > QR Code Generator - Go > Deploy / Download > weithenn.org
Deploy A New Function > YouTube Video Downloader > Deploy / Download > https://www.youtube.com/watch?v=zLBdodQ6SMg
## FaaS-Cli - from Manually
git clone https://github.com/weithenn/figlet && \
cd figlet && \
docker stack deploy -c docker-compose.yml func && \
faas-cli list
echo "Serverless All-Star"| faas-cli invoke func_figlet
curl -X POST http://localhost:8080/function/func_figlet -d 'Serverless All-Star'
## OpenFaaS UI Portal - from Manually
weithenn/figlet
func_figlet
figlet
func_functions //OpenFaaS default vNetwork