1月6號,像往常一樣,在工作的間隙,我打開手機上的今日頭條。點開了其中一個新聞,發現進去后頁面提示網絡不給力,請稍后重試。前兩天我的4G網絡上不去,折騰了半天正要打聯通客服咒罵,在IVR語音提示時才發現已經欠費了。但現在話費可是本月剛充的啊,何況現在連的是公司的WIFI,難道公司網絡有問題?這時通知中心彈出了其他應用的提醒,貌似其他應用是正常的。那么就是被頭條的提示的忽悠了,任何錯誤提示給用戶的都是你的網絡不給力。
果不其然,稍后其他的新聞看到頭條的服務掛了許久的消息。
SRE - Site Reliability Engineering, Google提出的一個概念,綜合了Google多年運維大規模服務器集群的經驗演變出的一個職位。其目的就是為了最大限度的保障Google服務的可靠性,其演進方向是從運維工程師向開發工程師邊界的擴展,要求運維工程師以軟件工程的思路解決大規模運維的問題,用工具而不是人力來解決不斷擴大的服務器集群對管理的需求。
如何保障網站可靠性,通常是在運維,基礎架構,系統管理員的范疇。關注業務開發的軟件工程師不關心這個,他們要忙著應付PD的最后期限,讓飛速發展的平臺支撐上層的業務需求。
在云計算基礎設施還沒成型時,互聯網公司都會有個運維團隊負責搞各種各樣跟系統有關的活。在企業發展的不同階段,這只團隊可能會忙著提采購需求給財務;評估系統容量,要多少IOPS的SSD硬盤, 多大的內存才能滿足應用需求;寫各種各樣的發布腳本,將開發提供的war包(如果是java應用)批量分發服務器的目錄上并啟動tomcat;搭LVS為機房入口提供熱備的負載均衡設施;用keeplived提供VIP去單點,為后端服務提供故障遷移能力;跑到機房去為機器上架,布設機架網線,甚至配合容災演練去拔網線測試;還要制定線上應用的發布規范,保證成千上萬的應用能按照統一的規范發布,秉著約定優于配置的原則,讓整個公司的人可以不加思索的找到應用的啟動腳本,log目錄;新機器上線需要初始化系統,隨著虛擬化大潮物理機都要切分成虛擬機才交付給開發部門;出了個緊急安全漏洞得給系統或應用打補丁;線上生產機的權限要管好,別被黑客提權出了簍子;往往可能還要客串一把網絡工程師粗排一下千奇百怪的運營商到IDC網絡丟包,緩慢問題。
以上還不是最累的,運維團隊還要為線上故障排查負責,軟件工程師半夜只會收到自己應用的報警,運維團隊是要接受自己管理全部應用的報警的,出了問題往往開發和運維都要一起排查,一個高速發展的公司都會經歷那么一段故障頻發的苦逼日子,運維成天到晚在忙著救火。
由于運維與開發部門不在一個部門,且各自關注的目標不同,伴隨著長期的沖突和博弈。開發只關心功能上線,運維部門關心應用穩定運行。從前,開發可以快樂的自己登錄到線上機器上發布代碼,scp個本地的war包過去,就跑起來了;自從xxx日出了故障導致網站宕機1小時,錯過了促銷的黃金時間后,發布就被套上了流程的管控,層層審批,就是為了減少發布的次數,因為理論上發的越多,越容易出問題,一個一年只發布一次的系統,基本沒什么可能出問題。
Devops理念是伴著云計算理念出來的,在amazon的云計算成熟后,以上說的傳統運維已經可以通過買云服務實現了,不用自己采購機器,買個EC2,數據庫服務也可以直接買RDS,對象存儲用S3, Load Balancing也可以買。開發人員自助在上面操作一下,部署上自己的應用就可以提供服務了,買個域名將DNS直接A記錄指向服務器就行了。可以說是中小公司的福音,互聯網創業不用考慮太多的服務器問題了,把有限的人力投入到至關重要的業務功能開發商,其他的服務器運維工作交給專業的云計算公司來做。
網絡視頻租賃商Netflix就是個知名的例子,其服務都運行在AWS上。由于其多年跑在云上的分布式經驗,還在github上開源了不少分布式處理的組件,回饋了社區。其遷移的路程也算長的,從2008年到2015年,7年,完成了全部應用到AWS的遷移。他們認為AWS提供了更可靠的服務。
有遷入也有遷出的,著名的網絡存儲提供商Dropbox由于嫌AWS太貴,將自家服務重新移到了自家機房運維。
很有意思不是嗎?
那么
想體驗自己的服務被上億人使用的感覺嗎?
想參與每年雙11的技術狂歡嗎?
想了解一線大廠的分布式技術如何抗住海量流量嗎?
阿里集團客戶體驗事業群旨在建立更高的客戶服務標準,讓客戶在阿里享受到最“爽”的服務,讓“客戶第一”成為阿里的百年口碑。
CRM產品技術部作為支撐全網服務的產品技術團隊,希望通過我們的產品、數據、技術去提升阿里集團服務幾億客戶的能力,提升全網客戶體驗。這里是最能聽到“炮火”的地方,可以通過我們的努力,最直接的看到產品的改善。
在這里可以接觸第一手的大數據。
這是一個以用戶為中心的多角色無邊界團隊,一個有夢想的歡樂團隊,一個能近距離感受用戶溫度的團隊。無論你是何種角色,只要站在用戶的角度思考問題,你的意見都有機會被采納實施,去產品中落地。
關于用戶體驗的經驗和妙想會得到重視,可以站在集團層面,推動與解決難以落地的用戶問題。
如果你來到我們團隊,那么你的職責可能包括但不限于:
- 負責Alibaba客戶服務相關的產品研發
- 深入發掘和分析業務需求,撰寫技術方案和系統設計
- 核心代碼編寫、指導和培訓工程師、不斷進行系統優化
- 參與或領導跨團隊的研發項目
崗位要求:
- JAVA基礎扎實,理解io、多線程、集合等基礎框架,對JVM原理有一定的了解;
- 3年及以上使用JAVA開發的經驗,對于你用過的開源框架,能了解到它的原理和機制;對Spring,ibatis,struts等開源框架熟悉;
- 熟悉分布式系統的設計和應用,熟悉分布式、緩存、消息等機制;能對分布式常用技術進行合理應用,解決問題;
- 掌握多線程及高性能的設計與編碼及性能調優;有高并發應用開發經驗;
- 掌握Linux 操作系統和大型數據庫(Oracle、MySql);對sql優化有豐富的經驗;
- 學習能力強,適應能力好;具備耐心/細心的品質;
- 喜歡去看及嘗試最新的技術,追求編寫優雅的代碼,從技術趨勢和思路上能影響技術團隊
文章列表
![]() |
不含病毒。www.avast.com |