iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
Cloud Native

.NET雲端魔法尊者之路系列 第 22

2023-鐵人賽.NET雲端魔法尊者之路 Day22 雲端篇 DevOps

  • 分享至 

  • xImage
  •  

哈囉大家好,今天要進入新的篇章了!

DevOps的概念

我們在做開發時與維運間常會因為思考出發點不同,造成一些衝突,而DevOps的概念便是為了讓整體開發工作能夠同時兼顧速度與品質,所產生的一套合作方式。透過開發人員與IT人員的協同運作、整合技術、流程自動化,可有效提升組織間的合作效率及產品品質,簡單來說DevOps是一種重視「軟體開發人員(Dev)」和「IT運維技術人員(Ops)」之間溝通合作的文化、運動或慣例。

DevOps的主要原則

自動化

自動化是DevOps的核心原則之一,包括自動化軟體構建、測試、部署和運維任務。這有助於減少人為錯誤,提高效率,並使軟體交付更加一致。

持續整合(CI)

持續整合是指開發人員頻繁地將代碼合併到共享存儲庫,並使用自動化構建和測試工具來確保代碼的質量。這有助於快速發現和解決問題,以及加速開發流程。

持續交付(CD)

持續交付是一種擴展了持續整合的實踐,它包括自動化部署和交付軟體到生產環境,以便快速、可靠地發布新功能和修復問題。

配置管理

使用配置管理工具來管理和自動化基礎設施和應用程序的配置,以確保環境的一致性,並降低配置錯誤的風險。

協作和文化

DevOps強調開發人員、運維人員和其他相關團隊之間的緊密協作和溝通,以促進共同的目標和文化。

監控和反饋

實時監控應用程序性能和運行狀況,以及收集用戶反饋,以便快速識別和解決問題,並不斷改進軟體。

DevOps的應用工具

(CI/CD)工具

  • Jenkins:用於構建、測試和部署應用程序的開源自動化工具。
  • Travis CI:為GitHub項目提供的雲端CI/CD服務。
  • CircleCI:提供持續集成和持續交付的雲端托管服務。
  • GitLab CI/CD:GitLab整合的CI/CD工具,適用於GitLab托管的專案。

配置管理工具

  • Ansible:基於SSH協議的自動化工具,用於配置管理和應用程序部署。
  • Puppet:用於自動化和配置管理的開源工具。
  • Chef:用於自動化基礎設施配置和管理的工具。

容器化和編排工具

  • Docker:容器化工具,用於創建、分發和運行容器化應用程序。
  • Kubernetes:用於容器編排和自動化容器部署的開源平台。
  • Docker Compose:用於定義和管理多容器Docker應用的工具。

監控和日誌工具

  • Prometheus:開源監控和警報工具,用於收集指標和監控應用程序性能。
  • Grafana:用於可視化監控數據的開源工具。
  • ELK Stack(Elasticsearch、Logstash、Kibana):用於日誌收集、存儲和可視化的工具套件。

版本控制工具

  • Git:用於版本控制和團隊協作的開源工具。
  • GitHub:基於Git的托管服務,提供代碼倉庫、問題跟踪和協作工具。
  • GitLab:類似於GitHub的托管服務,同時提供CI/CD功能。

雲計算平台

  • Amazon Web Services (AWS):提供各種雲計算服務,包括計算、存儲、數據庫等。
  • Microsoft Azure:微軟的雲計算平台,提供廣泛的雲服務。
  • Google Cloud Platform (GCP):Google的雲計算平台,包括計算、存儲、人工智慧等服務。

安全工具

  • HashiCorp Vault:用於安全管理敏感信息和密鑰的工具。
  • OWASP ZAP:開源的Web應用程序安全測試工具,用於識別和修復安全漏洞。

結語

那今天就到這裡了,掰掰~

參考資料

https://aws.amazon.com/tw/devops/what-is-devops/
https://zh.wikipedia.org/zh-tw/DevOps


上一篇
2023-鐵人賽.NET雲端魔法尊者之路 Day21 .NET篇 LINQ應用
下一篇
2023-鐵人賽.NET雲端魔法尊者之路 Day23 雲端篇 CICD
系列文
.NET雲端魔法尊者之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言