天天看點

F5如何幫助應用實作非公能需求以及DevOps如何提升App品質?

  衆所周知,不論是産品還是服務,品質決定競争力,而對于一個App來說,功能是生命線,确定能否安身立命,而非功能需求則是它的品質。在App如過江之卿的今天,使用者們翻身奴隸把歌唱,分分鐘可以解除安裝掉一個哪怕隻有一點點讓自己不爽的App,轉身下載下傳一個同類的,是以在當下的App爆發式增長,并且同質化嚴重的情況下,非功能需求這些個“軟服務”會更好的展現出App差異化的特點,向使用者傳遞特定觀點,提供優質服務,進而能夠俘獲使用者的“芳心”。 F5可以幫助應用實作非公能需求,DevOps還能提升App品質。

  非功能需求都包括哪些“軟”名額。下面是ISO/IEC 25010 軟體品質管理模型:

  

F5如何幫助應用實作非公能需求以及DevOps如何提升App品質?

  F5如何幫助應用實作非公能需求以及DevOps如何提升App品質?

  可以看到,除了功能性外,影響軟體産品品質的關鍵因素還包括效率、相容性、易用性、安全性、可靠性、可維護性和可移植性7個次元,每個次元又包括了許多方面,涉及到架構、内容、互動、營運、安全等,這些都屬于非功能需求的範疇。

  非功能需求服務化

  非功能需求的有一些共同點:

  1、當不僅存在于開發階段,還存在于運維階段與營運階段;

  2、在實作自身需求的同僚,會涉及或者引發新的需求;

  3、對實作手段的靈活程度和後續的管理與維護的便捷度有要求。

  基于以上三個特點,F5發現基于非功能性需求的實作不論是單單放在開發階段,還是隻放在運維階段,都是不完美的,是以,F5大膽假設,獨立設計一個應用服務層,使用者實作非功能需求的場景,并且貫穿與開發與運維的生命周期内。

  非功能需求在運維工作中的展現

  F5的應用傳遞層,能夠提供計算、分流、安全、解除安裝等功能,并且能夠無視資料中心數量與形态的變化,與應用緊密結合在一起,旨在為使用者提供高品質的應用和服務。針對運維工作中提供非功能需求實作與維護的場景,F5為了彌補環境多樣化、效率低、需求不明确等諸多不足,應該做到以下幾點:

F5如何幫助應用實作非公能需求以及DevOps如何提升App品質?

  01.建構跨平台的應用服務傳遞層,建設一緻傳遞的能力,滿足可靠性的要求;

  02.應用服務傳遞層應具備優秀的應用傳遞服務能力,滿足效率的要求;

  03.實作應用的部分非功能性需求解耦,滿足易用性與可維護性的要求。

  04.要能夠實作服務傳遞即代碼,及所有運維平面的工作,能夠通過代碼來實作;

  05.要能夠與運維平面的服務等級與能力保持一緻性;

  06.實作的非功能需求的服務能力要是安全的,可控的;

  07.所有開發測代碼實作的非功能需求,可以無縫轉化為服務傳遞層的服務能力。

  非功能需求在開發工作中的展現

  F5的應用獨立設計一個服務傳遞層,将非功能性的需求實作放在這裡,而這些需求可以采用更專業的實作的同時,同時也隔離了一些公共代碼和庫的安全問題,更妙的因為代碼實作的場景能夠無縫的部署在運維側,是以能夠和運維打通,互通有無,能做更多的事情,提升應用的品質。

F5如何幫助應用實作非公能需求以及DevOps如何提升App品質?

  如上圖,可以在代碼code階段就設計為App code 和ADC Code,然後再build階段先內建App的code,然後做測試,在Deploy階段的時候由CI Server從github上拉取ADC的code,然後一起部署App和ADC Service到伺服器或者容器平台,ADC的code部門還可以再細分成ADC code 和Security Code,後者用來做應用層的安全防護,在這樣的情境下,在每一次code的階段就設計好ADC 和Security的實作,和App Code 同時Deploy,實作了整體應用和安全傳遞的CI/CD和快速疊代,極大的提高了生産和運維效率。

  如果想實作開發側的應用傳遞層的設計,需要具備以下的能力:1要能夠實作獨立的服務傳遞層,與應用核心代碼解耦;2要夠無縫的內建CI/CD;3實作的功能無開發語言無關為佳。

  DevOps提升App品質

  前文提到,軟體的非功能需求決定了軟體的品質,這在某些程度上與DevOps是不謀而合的。在DevOps的文化裡,不緊緊的打通了運維與開發的屏障,更是将各個階段形成了一個生生不息的循環,形成一個持續內建、持續傳遞的生态,如果說DevOps是一種文化,一種氛圍,追求高品質的App是目的,那麼,努力發展非功能需求的實作及優化則是一種行之有效的手段。

 

F5如何幫助應用實作非公能需求以及DevOps如何提升App品質?

  由于實作了非功能需求的服務化,在一個良好的DevOps的氛圍裡,甚至可以利用這些服務來做線上BI甚至精準營銷,由營運側提出需求,指定基于App的使用者行為分析圖,然後分析收集的資料,反向推動優化非功能需求的實作甚至是主線功能需求的優化,進而達到提升客戶滿意度,提升市場占有率的目的。由于F5已經打通了應用傳遞服務的關節,是以這些資料和分析與每個部門各自為戰比起來,要精準、快速、高效的多。

  總之,F5不但可以幫助應用實作非公能需求,在一個良好的DevOps的氛圍裡,還可以提升App品質。如果你公司的APP或應用服務有類似的訴求,F5可以幫你很好的解決。