如何讓產品,前端設計,開發,測試,部署,運維等各個環節更加規範化和流程化
規範化。。。呃,這個東西看你要有多規範了,給你個cmmi定義的5個層次做參考吧。
1. 手工作坊式,即產品質量全靠開發人員的個人英雄主義做法,無法保證開發新產品能有同樣的質量。
2. 已經有了一些流程,進行一定的監控和控制,可以保證開發新產品有同樣的質量。
3. 標準的流程,明確的出入口條件。
4. 可度量的,有了明確的量度,可以對過程和結果進行數字化的度量以計算完成度。
5. 自優化的,預防性的,可以預估行為,過程,結果,應用新技術,進行相應措施優化過程。
為什麼IT運維需要自動化?
所謂IT運維管理的自動化是指通過將日常IT運維中大量的重複性工作,小到簡單的日常檢查、配置變更和軟體安裝,大到整個變更流程的組織排程,由過去的手工執行轉為自動化操作,從而減少乃至消除運維中的延遲,實現“零延時”的IT運維。簡單的說,IT運維自動化是指基於流程化的框架,將事件與IT流程相關聯,一旦被監控系統發生效能超標或當機,會觸發相關事件以及事先定義好的流程,可自動啟動故障響應和恢復機制。自動化工作平臺還可幫助IT運維人員完成日常的重複性工作(如備份,防毒等),提高IT運維效率。同時,IT運維的自動化還要求能夠預測故障、在故障發生前能夠報警,讓IT運維人員把故障消除在發生前,將所產生損失減到最低。
運維應包括如下:
- 環境定義:開發環境、測試環境、類生產環境、生產環境等。
- 部署:能夠將部署包有效的部署到不同的環境。
- 監控:能夠監控部署後的系統和應用。
- 告警:出現問題時的響應和處理機制。
- 效能優化:系統各個服務如Nginx/Java/PHP/DB/網路的優化。
- SLA保障:通常要和業務相關部門討論確定。
服務治理、任務排程、叢集協同、呼叫鏈分析、介面質量、SQL質量、實時日誌等
打包、自動化測試、檢測、灰度釋出、分割槽上線、運維自動化、配置標準化、指令標準化等
分散式框架、儲存&快取中介軟體、自動化測試、雲搜尋、開放平臺、營銷平臺等基礎設施
自建技術基礎設施(開源+自研) •自動化釋出系統——灰度釋出、分割槽釋出 •運維配置自動化系統——運維繫統自動發現、標準化配置 •原子指令系統——支援數百臺伺服器、數百個原子指令碼操作 •搜尋平臺——支援數百個索引、上億條資料 •推薦計算平臺——支援數億使用者資料計算 •API自動化測試系統、Mock模擬測試系統——支援介面的自動化測試、模擬測試、Web自動化測試 •API放水系統、SQL防水系統——治理系統不合理呼叫 •實時日誌系統——支援Nginx、Tomcat、BI實時日誌和離線跟蹤 •分散式開發框架——統一分散式通訊 •配置分發系統——支援配置項、叢集服務發現 •MQ分散式訊息中介軟體(推模式IDP、拉模式Kafka)——1500w/週一~週五,600w/週六日 •KV分散式快取系統中介軟體(Memcached、Redis、Tair)——億級資料快取、95%命中率 •LPFS分散式檔案中介軟體(MongoDB)——MongoDB、圖片、檔案 •DB資料庫分庫分表中介軟體(MySQL)——無限資料量擴充套件 •分散式任務排程中介軟體(Schedule)——支援100+服務、200+/日個分散式任務排程 •Push統一訊息推送平臺——每日100w+推送量,推送至Android、iOS、Email、SMS、微信、Comet
依賴開源的技術棧 •語言:Java(Tomcat/Spring) Shell(運維) Nodejs(前端) Android iOS •分散式:ActiveMQ Kafka Zookeeper Router服務發現 Cat •儲存:Mysql Mongodb Tair Memcached Redis •計算:Solr ElasticSearch Hadoop HBase Storm Spark •運維:Linux Nginx Puppet Zabbix OpenStack •專案管理:Eclipse Git Maven構建 Hudson持續整合 Confluence知識分享 DMS專案管理
開發階段Code/build •開發框架 •|-web開發框架Swift •|-nodejs前端開發框架 •|-ios移動開發框架 •|-android開發框架 •|-shell指令碼自動化 •分散式中介軟體 •|-分散式呼叫RPC •|-實時推送comet •|-推訊息佇列IDP •|-拉訊息佇列Kafka •|-配置系統Zookeeper •|-排程系統Scheduler •儲存中介軟體 •|-關係儲存mysql •|-檔案儲存mongodb •|-KV儲存tair •|-二級快取redis •|-一級快取memcached •計算平臺 •|-雲搜尋 •|-推薦 •|-大資料計算 •|-網頁解析 •|-文字解析 •|-Word預覽 測試階段Test/ci •|-API自動化測試 •|-API模擬測試Mock •|-Web自動化測試Selenium •|-微信測試WXTest •|-Open測試KATest •|-測試環境釋出 上線階段Release/deploy •|-釋出系統 •|-運維繫統 •|-程式碼檢測Builder運維階段 運維繫統Monitor •|-自動化系統 •|-監控系統Zabbix •|-雷達日誌系統 •|-Puppet/Mco
服務治理Service •|-API放水系統APIWater •|-SQL放水系統MonyogSQL •|-Router服務中心 •|-配置分發系統 •|-排程系統Scheduler •|-呼叫鏈系統Cat運營階段 •開放平臺 •|-微信平臺Weixin •|-微博平臺Weibo •|-電話平臺Jiya •|-支付平臺Pay •|-開放平臺API •|-SEO平臺Resource •運營平臺Channel •|-推送平臺Push •|-簡訊平臺Push •|-郵件平臺Mail •|-微信平臺Open •|-私信平臺MessageCode
1、分散式服務架構
服務發現、通訊、控制 分散式註冊中心Router: •同步呼叫RPC •服務協議:HTTP協議/心跳檢測 •服務發現:叢集資訊統一檔案Router.conf •負載均衡 •非同步呼叫MQ •推模式:開發快、穩定、實時快 •拉模式:可回溯、日誌收集、資料同步 •分散式任務排程 •Schedule排程系統 •分散式事務控制 •Swift開發框架:交易型事務的一致性
2、運維研發的自動化體系
運維配置標準化3大層次
•2.1、硬體標準化: •-機器標準化:機房、機架位、交換機、機器 •-資源標準化:IP、DNS •-配置標準化:機器配置自動化採集、標準化檢測,KVM化 •2.2、軟體標準化: •-軟體安裝標準化:tomcat jdkmemcachedredis... •-Nginx標準化:域名、配置、釋出 •2.3、專案標準化: •-專案配置標準化:S區、A區、B區、C區 •-支援多種專案:tomcat、java、nodejs、Python、ios\Android
2.1、硬體標準化—自動化採集
2.2、軟體標準化—統一軟體規格
2.2、軟體標準化—自動化安裝解除安裝
2.2、軟體標準化—服務自動管理
2.2、Nginx標準化—自動配置300域名
3、專案釋出自動化體系 •3.1、程式碼釋出系統 •-灰度釋出 •-分割槽釋出:泳道釋出 •3.2、配置釋出系統 •-釋出配置資訊 •-叢集協作:Solr、Kafka •3.3、原子指令 •-系統級操作 •-系統操作日誌
4、服務治理體系 •服務健康狀態檢測 •分散式任務排程(Schedule) •呼叫鏈分析(Cat) •實時日誌監測(雷達系統) •API質量治理(APIWater) •SQL質量治理(Monyog)
4.1、服務健康狀態檢測
4.2、分散式任務排程Schedule
分散式排程中心: •基於Mina分散式協調 •選擇服務的單點排程 •多點服務failover •長時間任務斷點續傳 •任務依賴排程
4.3、呼叫鏈分析Cat
4.4、實時日誌監測(雷達系統)
•實時日誌檢視 •歷史日誌分析 •使用者或IP追蹤 •日誌統計
4.4、實時日誌監測
4.6、SQL質量治理(Monyog) •MySQL效能監控工具MONyog,分析慢SQL •程式列印慢SQL日誌 •優化索引、表結構
5、測試環境的自動化構建
6、自動化測試
自動化測試—API自動化測試
自動化測試—Web自動化測試 •Selenium—Web頁面的自動化測試
自動化測試—Mock模擬測試
以上內容部分來自網路, 希望對您系統架構設計,軟體研發有幫助。
相關文章
- 『前端規範化』CSS命名規範化前端CSS
- 公司產品上雲流程規範
- 工具化、產品化、運營化—「美團點評」運維的故事運維
- 測試流程與規範
- 開發、運維、UI設計、產品經理等崗位的薪酬體系大曝光!運維UI
- 流程化產品資料運營的十一個步驟
- 如何透過資料開發治理實現資料流程的自動化和規範化?
- 介面自動化測試錄製工具,讓python selenium自動化測試指令碼開發更加方便Python指令碼
- 如何優化產品開發過程?優化
- 前端模組化規範前端
- 測試流程規範--提測規範(釘釘、郵件)
- 測試開發之自動化篇-自動化測試框架設計框架
- Vue 3與ESLint、Prettier:構建規範化的前端開發環境VueEsLint前端開發環境
- Scrum Mastery:產品開發中如何優化產品價值?ScrumAST優化
- 前端高質量交付產品利器之自動化測試前端
- web前端開發編碼規範及效能優化Web前端優化
- 阿里系產品的資料化設計思維阿里
- 設計師和前端開發一起怎樣制定設計規範?前端
- 產品設計必備乾貨:產品開發流程[完整版]
- 艾瑞諮詢:中國移動程式化購買各環節分工更加專業化
- 產品設計流程
- 前端專案git操作命名規範和協作開發流程前端Git
- 如何最佳化產品設計,讓對話機器人更智慧?機器人
- [譯] 為複雜產品制定設計規範
- 虛擬化運維:規劃和發展戰略性 IT 計劃運維
- 前端開發規範前端
- 《資訊化專案軟體運維費用測算規範》等兩項北京地標正式報批運維
- 優化自動化測試流程,使用 flask 開發一個 toy jenkins工具優化FlaskJenkins
- app開發流程規範APP
- 如何構建自動化的前端開發流程前端
- 大型網站--前端效能優化和規範網站前端優化
- 運維標準化與流程化建設深度指南(轉)運維
- JavaScript模組化程式設計規範JavaScript程式設計
- 測試開發【提測平臺】分享3-正式開發產品需求&專案初始化
- 簡化服裝ERP系統的規範流程和規範功用
- 開發、運維、測試,哪個崗位更有前途?運維
- 規範:開發環境部署開發環境
- 雲端計算開發教程:Python自動化運維開發實戰流程控制Python運維