快~快~快,大量閱讀,快速學習,似乎已經是資訊產業的常態 (
那我今天要焦慮的主題是什麼呢?就是關於DevOps這個範疇,如果要號稱自己是在搞 Cloud computing 的,而且又有在實行敏捷是開發,那一定要知道什麼是DevOps ,也一定要知道所謂的 Continuous Integration / Delivery / Deployment。 因為這些方法與工具的目的就是:
- 提高品質
- 降低Cycle time
就我的認知DevOps所包含的範圍大概如下圖所示,如果單看傳統的Dev 和傳統的Ops 也許會有一些地方有重複。
圖片來源:自行繪製
我覺得Dev的部份每一個項目至少要熟悉一種工具才能稱得上是稱職的Java Developer,遙想當年每個項目與工具都只能慢慢摸索出來,在沒有人帶的狀況下走了許多冤枉路,同樣的現在我覺得自己目前需要補強的就是Ops 這一塊的經驗與能力。
- Dev
- Version Control
- git
- svn
- mercurial
- Build Automation & Lib Dependent management
- Unit Test
- Static Code analysis
- Find Bugs
- PMD
- CheckStyle
- Code Coverage
- Task Management or Issue Tracking System
- Continue Integration
- Dependency Management (Maven Repository)
- Technical debt
- Performacne Test
- Database management
- Liquibase
- Flyway
- Ops
- Data Center Configuration Automation
- Apache whirr
- 針對市面上主流IaaS (AWS、Rackspace..等)共通化的API lib,類似跨平台的ec2-tools ?
- Opscode chef
- Chef是一種開放源碼(open-source)程式設計語言,能夠自動化管理雲端基礎設施
- Ubuntu juju
- Cobbler
- Cobbler is a Linux installation server that allows for rapid setup of network installation environments
- Puppet
- Cluster 部屬與管理系統
- 專門針對Hadoop Cluster的部屬管理系統 [1]
- Monitor (For Tuning)
- System Level
- Web Level
- Google Analytic
- Mobile Analytic [2]
- Distimo
- Flurry Analytics
- AppAware
- appfigures
要列下去是沒完沒了....有沒有人要分享一下還有什麼該學習的技術和工具呢?:P
Reference:
[0] Continuous delivery tools and techniques
[1] The unsexy side of big data: 5 tools to manage your Hadoop cluster
[2] WhosCall
沒有留言:
張貼留言