OneDegree SRE 團隊大揭秘

Daky
OneDegree Tech Blog
8 min readAug 25, 2021

拖了這麼久的稿,終於有機會來跟大家分享一下,目前在OneDegree SRE團隊中會使用到的相關技術、工作內容與成員間共事的方式,但因為在支援每個事業體的時候使用到的技術與工作內容略有不同,下面也都會用各別拆開的方式來分類。

工作內容

目前OneDegree的事業體共有3個Business,下面用簡稱來稱呼

1.ODHK

我們去年在香港拿到牌照的純網路產險公司OneDegree HongKong,屬於B2C的類型,我們會研發自己的保險商品,然後用自己的產險牌照在網路上販售,同時也是因為是純網路產險(意思是我們不能像台灣許多的保險公司有業務員),所以如何從一個默默無名的新公司,成長為一個廣為香港民眾接受的保險品牌,就是個非常大的挑戰。

在這個定義下,SRE要做的事情就是確保我們的線上投保與整套系統都能正常運行,維運一個24小時直接面對消費者的產品,在壓力上的確是會相對較大,我們會需要撰寫Gitlab CI/CD的自動化部屬流程並管理整套建置在Azure上的Infra,Data分析的部分我們則是選擇架設在AWS上,所以維運這樣跨雲的Solution,就是我們的工作,當然同時也需要處理到跨地區台灣 & 香港團隊間的溝通。

(簡單來說可以想成,前/後端Developer團隊交付build好的image後,後面就都是SRE的事情)

2. IXT

作為一間保險系統商,我們的B2B核心產品就是IXT,這套產品讓保險公司可以快速開拓新保險商品上架,提升推出商品的速度與方便管理,同時因應客戶需求,目前內部同時對這個產品提供on Cloud和on Premise的雙重支援,SRE需要與團隊合作,協助我們的客戶(保險公司)做系統的開發調整與導入。

在這邊我們因應不同的客戶需求,需要在自家的Azure Cloud打造模擬的dev與sit環境,進行開發與測試,SRE同樣需要撰寫自動化部屬流程,因應客戶需求添加或減少環境(sit1, sit2, sit3, …..),並同時維持工程師在開發過程的環境穩定,這邊會遇到的挑戰是要能夠充分運用我們的系統知識,想辦法在碰不到生產環境的情況下(保險公司的Production基本上我們是access不到),能夠幫客戶解決問題並完成系統導入或升級,同時會要接觸到多種Database的建置與使用(目前已經有Oracle, MSSQL, PostgreSQL)。

3. Cymetrics

資安服務商,提供完整的資安解決方案,從網站掃描,滲透測試到顧問服務皆有,在這邊SRE同時會扮演支援與顧問的角色,協助開發團隊做部署流程的自動化與維運現有的掃描平台與網站。

在這邊我們要協助的就是幫忙快速的部署和討論產品的架構,在這個Business會大量使用到Serverless的技術(因為比較少公司每天都要被掃描,但每一次掃描需要用到的資源量又很高),同時團隊也不斷在嘗試不同類型的產品方向。

團隊共事

SRE團隊目前慢慢的將MIS維運與其他工作進行拆分,目前有專人會處理Office365,AD與User電腦端的問題,畢竟我們即將要迎來第三個region的辦公室了,跨海處理使用者電腦問題一直都會是一件非常艱難的事情,理論上未來每個地區都有自己的IT Support團隊,處理當地員工的需求。

SRE團隊的成員則是主要會專注在三個子公司各項系統的升級維運與監控,像是我們今年4月才完成了核心保險系統的轉換與資料庫版本升級,並進行Infra的遷移與重建,下半年期望同步成為微軟的金/銀級Partner,並為了跨國cowork的穩定需求將VPN轉換到Akamai EAA,這些都是非常有挑戰性的專案。

在任務的分配上,我們採取兩倆backup的方式,也就是一個Business的系統至少會有兩位SRE工程師進行開發維運,與互相做Code Review,避免只有單人負責系統時會無法好好休假,或是常常被打擾的問題(之前只有我一個人的時候…..恩)。

工作上我們必須要保持跟FE, BE, QA, PM, Partner Team等等各團隊的良好互動,雖然不到會全程參與他們的scrum,但會需要配合他們的開發進度去調整Infra架構或是CI/CD的script,處於一個不會被壓著時程跑,但又需要緊密配合的黏著度(保持最恰當的距離美感XD)。

團隊分享上,我們每週一的下午會有一小時團隊進度追蹤與分享,大家會趁著這個一小時分享本週解決的問題與進度(我們是用Atlassian Jira來管理需求單),如果有新的技術或是自動化的新建置,也會透過這個時間分享給大家,並且從今年起也扎實的進行文件的撰寫,確保人員交接不會有問題(文件寫到確保你休假不在辦公室的時候,你的同事不會吵到你也能解決問題,就可以了)

我們每個月的月底則會有一個固定的1 on 1,確保你的工作期望與最近的任務或與同事的合作互動,如果有任何狀況都能夠讓Manager(筆者本人)知道,也可以抒發一下最近的感想,聊聊公司的近況,大家多交流資訊。

相關技術

最近剛剛更新了內部整理使用的技術清單

Tech Skill

Cloud: Azure, AWS, GCP, AliCloud

CI&CD: Gitlab, Gitlab CI

Firewall: Azure Firewall, Fortigate Firewall, AWS WAF & Shield

OS: Ubuntu, CentOS, RedHat

Container: Docker, Kubernetes

Networking: TCP/IP, VPN, DNS, DHCP, CDN, …

Automation: Terraform, Ansible AWX, ..

Log & Monitor: Elastic Cloud(ELK), Azure log analytic workspace, Prometheus, Grafana, New Relic, ..

Alert: Grafana alert, Azure Alert, Sentry Alert ..

Quality: SonarQube, Snyk, ..

Security: Fortify scan, ZAP scan, Snyk scan …

DB: Postgresql, MSSQL, Oracle DB

Queue: RabbitMQ, Azure Service Bus, Azure Event Hub

Cache: Redis

CDN: Azure CDN, AWS cloudFront

Serverless: GCP Cloud Run, Azure Function, Azure App service, Azure Container instance, AWS Fargate, …

Proxy & web server: Nginx, Apache, Istio

Data: Airflow, SuperSet

Soft Skill

Project management & Communication skill

Co-work well with other engineers, department head, customers

Well management of tasks and your time

大家看到一定想說,要求會那麼多是要找誰來做啊(這想法合理啦,我自己看這個清單也是覺得我們可能這輩子應該都找不到人了…..),但其實這些東西都是慢慢累積起來的,所以我們在招募的時候也不會要求應徵的朋友一定要所有東西都摸過,但我們很期待對方有一個特質是勇於接受並擁抱新的技術與樂於嘗試各種挑戰,這樣面對不斷在改變的這個世界,才能用更有效率的方式把工作完成。

On Call

這個應該是大家心裡都想知道的問題吧,雖然有些人會不好意思問,我很坦白的說,如果是緊急狀況的話,作為SRE一定是免不了on call支援的,但我們必須要講一下,我們做了哪些努力來降低這個事情發生的次數,我們有完整的測試與部署流程,每個feature的開發都透過DEV環境讓工程師先做驗證,然後部署到SIT環境接受QA的End to End automation測試,加上新feature的manual test,然後部署到UAT環境接受PM和內部使用者的測試,最後才會推到Production環境,嚴謹的部署流程能夠讓功能與修改是穩穩的被推上線,這樣就能夠大幅度地降低半夜被PM的電話叫醒,或是週末出遊但是抱著筆電坐在咖啡廳Debug的頻率。

面試招募

我們在面試SRE的時候,技術關的標準流程有4個部分,原則上你會在這場面試看到所有你未來會共事的夥伴,他們都會出現在鏡頭前並且跟你互動(抱歉了疫情所以是遠端面試)

1.介紹參與面試的同事背景與目前負責的項目

2.標準流程
(1)英文自我介紹 + 幾個英文提問
(2)針對履歷內容 & 過往經歷進行提問

3. 專業問題
(1)技術題
ex. Linux, Troubleshooting, Infrastructure, Programming, System design, Monitoring, Processes, 架構設計, 資訊安全等等工作上會用到的各式各樣問題
(2)專案合作,人格特質問題

4.開放面試者提問

畢竟這是一個雙方互相考慮的場合,我們在確認面試者是不是適合這個位置且與我們公司文化相符的人,相信面試者一定也在評估這是不是一個值得加入的團隊,我們希望能把彼此最真實的一面呈現出來,雙方都能做一個好的判斷。

我們目前有在招募SRE和Network Intern,歡迎大家來投履歷加入我們~

Site Reliability Engineer
https://www.yourator.co/companies/OneDegree/jobs/18670

Network Engineer 實習生計畫
https://www.yourator.co/companies/OneDegree/jobs/13312

--

--