Microsoft Azure DevOps
સામગ્રી:
સારાંશ
સમસ્યા
અમે અમારા પ્રોજેક્ટ્સ બનાવવા, ઇન્ટિગ્રેટ કરવા, ડિપ્લોય કરવા અને હોસ્ટ કરવા માટે devops વાપરવા માગીએ છીએ. અમે Microsoft Azure DevOps પર વિચાર કરી રહ્યા છીએ.
અમે ઇચ્છીએ છીએ કે ડેવલપર અનુભવ ઝડપી અને વિશ્વસનીય હોય, devops ના સેટઅપ માટે દા.ત. રૂપરેખાંકન અને ચાલુ ઉપયોગ માટે દા.ત. ઝડપી બિલ્ડ સમય.
અમે પ્રોજેક્ટ એપ્લિકેશનો, ડેટાબેઝ વગેરે હોસ્ટ કરવા માટે Microsoft Azure ને સમગ્ર રીતે વાપરવાનું વિચારવા માગીએ છીએ.
નિર્ણય
Microsoft Azure DevOps વિરુદ્ધ નિર્ણય લેવાયો.
સ્થિતિ
નિર્ણય લેવાયો. નવી મહત્વપૂર્ણ માહિતી આવે તો/ત્યારે ફરી વિચારવા માટે ખુલ્લા.
વિગતો
ધારણાઓ
બધી સામાન્ય devops ધારણાઓ, જેમ કે Accelerate પુસ્તકમાં.
ઝડપી બિલ્ડ નોંધપાત્ર મદદ છે. આ પ્રતિસાદ ચક્રોને ઝડપી બનાવે છે.
અમે વૈકલ્પિક વિક્રેતાઓના ભાગો અંદર/બહાર કરી શકીએ છીએ, એટલે કે અમે અમારા ઊંચી ઝડપના બિલ્ડ સર્વર લાવવા, અથવા અમારી પોતાની પસંદગીની સંસ્કરણ નિયંત્રણ સિસ્ટમ વાપરવા, અથવા સ્વ-હોસ્ટેડ સતત ઇન્ટિગ્રેશન સર્વર સાથે સંકલન કરવા માગી શકીએ.
સુવ્યવસ્થિત ઉપયોગિતા નોંધપાત્ર મદદ છે, ડેવલપર અનુભવ માટે, અને બદલામાં સુસંગતતા, સ્પષ્ટતા, સુરક્ષા અને શીખવાની કઠિનતાની સરળતા જેવા સૂક્ષ્મ ક્ષેત્રો માટે.
જ્યારે કંઈપણ તૂટેલું કે સમસ્યાવાળું હોય, ત્યારે અમે સમસ્યાની જાણ કરવાની અસરકારક રીત ઇચ્છીએ છીએ. આ સુરક્ષા-સંબંધિત મુદ્દાઓ માટે ખાસ મહત્વનું છે.
મર્યાદાઓ
કોઈ જાણીતી નથી. Azure પાસે બાહ્ય સાધનો સાથે સારી રીતે કામ કરવાની પ્રકાશિત પ્રતિબદ્ધતા છે.
વલણો
અમે Microsoft Azure Devops વિરુદ્ધ AWS ને ધ્યાનમાં લીધું જે પહેલેથી છે.
અમે Azure DevOps, Azure Pipelines, Azure Repo, અને Terraform દ્વારા Azure પર નવા સર્વરને ચાલુ કરવાનો પ્રયોગ કર્યો.
અમે Microsoft પ્રતિનિધિઓ પાસેથી સહાય મેળવવાનો પ્રયોગ કર્યો.
અમે બ્લોગ્સ અને Hacker News પર સાથીદારો પાસેથી માહિતી એકત્રિત કરી.
દલીલ
Azure DevOps ઉત્તમ ઓફરોની જાહેરાત કરે છે, પરંતુ તે ટકતી નથી, તે એકસાથે સારી રીતે કામ કરતી નથી, અને સહાય નબળી છે.
અમારો સીધો અનુભવ:
Azure સેટઅપ UI નો ગૂંચવાડો છે, જેમાંથી કેટલાક Microsoft ખાતાઓ સાથે ઓવરલેપ થાય છે, કેટલાક નથી થતા. દા.ત. Azure સાઇન ઇન છે, Microsoft.com સાઇન ઇન છે, Live.com સાઇન ઇન છે, વગેરે અને બધા એકસાથે ચલણમાં છે.
અમને સેટઅપ દરમિયાન નાની સુરક્ષા સમસ્યા મળી, અને કોઈ ઉકેલ ન મળ્યો. અમે તેની જાણ કરવા ઘણા રીતો અજમાવી, ઘણા Microsoft પ્રતિનિધિઓને, સફળતા વિના. અમે Microsoft સુરક્ષાને સફળતાપૂર્વક જાણ કરી, જેણે જવાબ આપ્યો કે સુધારવામાં નહીં આવે.
દસ્તાવેજીકરણ ઘણીવાર ખોટું અથવા જૂનું હોય છે. આમાંથી ઓછામાં ઓછો અમુક ભાગ Microsoft ના નબળા સર્ચ એન્જિનને કારણે છે, અને અમુક ભાગ નિમ્ન-સ્તરના SEO ને કારણે.
Terraform સેટઅપ સારી રીતે દસ્તાવેજીકૃત છે, અને કામ કરે છે. જોકે, AWS ની સરખામણીમાં Terraform સપોર્ટ નબળો છે કારણ કે Microsoft સાંકળ-દ્વારા Terraform સેટઅપ ઉદાહરણો બનાવવા વિક્રેતાઓ સાથે વ્યવસાયિક સંબંધો બનાવી રહ્યું છે.
અમારા સાથીદારોના અનુભવો:
અમે અમારું પોતાનું અંધ મૂલ્યાંકન કર્યા પછી, સાથીદારોના અનુભવો શોધ્યા. જે મળ્યું તેણે અમારા અનુભવોની પુષ્ટિ કરી.
સાથીદારોએ બિલ્ડ સમયો અને પોતાનું-બિલ્ડ-સર્વર-લાવવા અંગે વધારાની સમસ્યાઓ જણાવી. આ સમસ્યાઓ UI સમસ્યાઓ કરતાં નોંધપાત્ર રીતે વધુ ગંભીર છે, કારણ કે બિલ્ડ કરવું એ બિલ્ડ પાઇપલાઇનનો મુખ્ય હેતુ છે, અને અમે દરરોજ ઘણા કરવાની અપેક્ષા રાખીએ છીએ.
અમને ચર્ચા ક્ષેત્રોમાં Azure ટીમના સાથીદારોની ઉત્તમ ભાગીદારી મળી. આ માટે Microsoft ને શાબાશી. અમે ખાસ કરીને Edward Thomson, Azure PM અને કોડર, થી પ્રભાવિત છીએ, તેમની ભાગીદારી, સીધાપણું અને તકનીકી સમજૂતીઓને કારણે.
અસરો
Microsoft Azure DevOps પસંદ કરવું Azure ન પસંદ કરવા કરતાં સમય અને ખર્ચમાં વધુ મોંઘું (~3 ગણું) હોય એવું લાગે છે.
સંબંધિત
સંબંધિત નિર્ણયો
જો અમે Azure DevOps પસંદ કરીએ, તો ઘણી સંબંધિત ઓફરો છે, જેમાં Azure Repo, Azure Pipeline, વગેરે શામેલ છે. અમે માનીએ છીએ કે જો અમે Azure Devops પસંદ કરીએ, તો આ વધુ Azure ક્ષમતાઓ વાપરવાનું સરળ બનાવી શકે, અથવા અન્ય વિક્રેતાઓની ક્ષમતાઓ વાપરવાનું મુશ્કેલ બનાવી શકે.
અમે માનીએ છીએ કે Microsoft ડેવલપર અનુભવમાં મોટી પ્રગતિ કરી રહ્યું છે, અને અમે Microsoft ને ડેવલપર સાધનો (દા.ત. GitHub) અને નિર્ભરતાઓ (દા.ત. Citus) નું મોટું અધિગ્રહણ કરતા જોઈએ છીએ.
જો અમે Azure DevOps પસંદ કરીએ, તો અમે Microsoft અધિગ્રહણ ઓફરો પસંદ કરવા પર ભાર મૂકવા માગી શકીએ, અને સંભવિત પેશી-અસ્વીકારને કારણે દા.ત. સ્ટાફ ટર્નઓવર જોખમને લીધે અધિગ્રહણ ઓફરો તરફ વધુ કાળજી/મૂલ્યાંકન સાથે પહોંચવા માગી શકીએ.
સંબંધિત જરૂરિયાતો
અમે ઇચ્છીએ છીએ કે બિલ્ડ સમય ખૂબ ઝડપી હોય. અમે આ માટે ઊંચી પ્રીમિયમ ચૂકવવા સ્વીકારીએ છીએ. આ એટલા માટે કે અમે ખૂબ ઝડપથી પુનરાવર્તન કરવા માગીએ છીએ.
અમે ઇચ્છીએ છીએ કે વિશ્વસનીયતા ખૂબ ઊંચી હોય. અમે આ માટે ઊંચી પ્રીમિયમ ચૂકવવા સ્વીકારીએ છીએ. આ એટલા માટે કે અમે ઊંચા-મૂલ્યના ઉપયોગ કેસ, નાણાકીય વ્યવહારો, ગુપ્ત વ્યવહારો, વગેરે, નું પરીક્ષણ કરી રહ્યા છીએ.
અમારા ટોચના 4 devops KPI માં સરેરાશ પુનઃપ્રાપ્તિ સમય શામેલ છે, જેને ઝડપી બિલ્ડ અને ઊંચી વિશ્વસનીયતાની જરૂર છે.
સંબંધિત આર્ટિફેક્ટ્સ
અમે ઇચ્છીએ છીએ કે બિલ્ડ સિસ્ટમ એવા આર્ટિફેક્ટ્સ આપે જે અન્ય સિસ્ટમોમાં, જેમ કે Artifactory, વાપરવા માટે યોગ્ય હોય.
સંબંધિત સિદ્ધાંતો
સરળતાથી પલટાવી શકાય તેવું. અમે હાલના AWS ની સમાંતર Azure DevOps નું મૂલ્યાંકન કરી શકીએ છીએ.
નોંધો
Microsoft Devops CI: અસંતોષકારક સાહસ
https://toxicbakery.github.io/vsts-devops/microsoft-devops-ci/
બ્લોગ પોસ્ટ.
"સોફ્ટવેર ડેવલપર તરીકે, હું પ્રત્યક્ષ જાણું છું કે ગુણવત્તાવાળા ઉત્પાદનો ઝડપથી અને સસ્તામાં બનાવવા કેટલા મુશ્કેલ છે. તે એવી કલા છે જે આપણે ક્યારેક સાચી કરીએ છીએ, અને ક્યારેક ઓબામા-યુગની આરોગ્ય સંભાળ સરકારી સાઇટ જેવું કંઈક બની જાય છે. પરિણામી ઉત્પાદન પર અમારા નિયંત્રણનું સ્તર બદલાય છે, અને નિષ્ફળતાનો દોષ ઘણીવાર નિર્ણય લેવાની પદાનુક્રમમાં ખોટા લોકો પર પડે છે. Microsoft નું Azure DevOps (અગાઉ Visual Studio Team Services તરીકે જાણીતું), સ્પષ્ટ રીતે સારા ઇરાદા છતાં, ખરાબ નિર્ણયો અને નબળા અમલનું સંપૂર્ણ તોફાન છે."
Hacker News ચર્ચાના મુખ્ય મુદ્દા
https://news.ycombinator.com/item?id=18983586
"અમે મારા કામ પર Azure DevOps વ્યાપકપણે વાપરીએ છીએ અને, GitHub, Gitlab, સ્વ-હોસ્ટેડ ઉકેલો, Jenkins, TeamCity વાપર્યા પછી... Azure DevOps સૌથી છેલ્લા ક્રમે આવે છે."
"UI દરેક જગ્યાએ ભયંકર રીતે અણઘડ છે. મારા માટે સૌથી ખરાબ પુલ રિક્વેસ્ટ છે. પુલ રિક્વેસ્ટ પર લોકો સાથે કામ કરવું અવિશ્વસનીય રીતે મુશ્કેલ છે. હું તમને "એક" ચોક્કસ સમસ્યા તરફ ઇશારો પણ કરી શકતો નથી - અમારા માટે તે દરેક જગ્યાએ તૂટેલું છે."
"Azure Devops એવી વસ્તુ છે જેને હું પ્રેમ કરવા માગું છું. UI બદલાતું રહે છે, પરંતુ વર્ષોથી ચાલ્યા આવતા મૂળભૂત બગ્સ ઠીક કરતું નથી."
"સાધનો સારી રીતે ઇન્ટિગ્રેટ થયેલા નથી, UI ખરેખર ધીમું છે, મારી મનપસંદ રેપો માટે સક્રિય પુલ રિક્વેસ્ટ, બિલ્ડ, રિલીઝ વગેરેનું કોઈ ડેશબોર્ડ દૃશ્ય નથી. બિલ્ડ/ડિપ્લોય સમય પાગલપણાની હદે ધીમો છે."
"અમે Azure Boards (Work Items, Boards, Backlogs, વગેરે) વાપરવાનો પણ પ્રયાસ કર્યો. ઓહ. તે અસંબદ્ધ વિચારોનો સંપૂર્ણ UI ગૂંચવાડો છે. એક વસ્તુ સારી રીતે લાગુ કરવાને બદલે, તેમણે બે ડઝન વસ્તુઓ ખરાબ રીતે લાગુ કરી."
Windows Development MVP
Windows Development MVP અહીં. મને લાગે છે કે આ મુદ્દાઓ વિશે વધુ મોટેથી ન બોલવા માટે મારે કેટલીક જવાબદારી ઉઠાવવી જોઈએ. પરંતુ મારે કહેવું જોઈએ, તમે UX મુદ્દાઓથી "આશ્ચર્યચકિત" છો એ સાંભળીને હું નિરાશ છું. હું તમારા લોકોને કહેતો આવ્યો છું કે UX ભયંકર છે (દા.ત. લોન્ચ પહેલાંથી) અને "અમને ખબર છે, અમે ઠીક કરી રહ્યા છીએ" એવું સાંભળતો રહ્યો. હું પ્રતિસાદને ઔપચારિક બનાવવાનું અને તેને પાઇપ દ્વારા આગળ ધકેલવાનું શરૂ કરીશ, ટ્યૂન્ડ રહો. હું સ્થાનિક પણ છું (Bellevue), હું આવીને અમારી પ્રમાણમાં સરળ oss .net/wpf/uwp એપ્લિકેશનને પાઇપલાઇન કરવાનો પ્રયાસ કરવા ઇચ્છું છું. મને શંકા છે કે તે અમારા બંનેની આંખો ખોલશે.
કેટલાક ઉદાહરણો:
તમે સબમોડ્યુલ્સ ધરાવતા git રેપો સાથે પાઇપલાઇન બનાવી શકતા નથી
કેટલાક કસ્ટમ સાધનો માટે PATH સંપાદિત કરવું અશક્ય લાગ્યું
નવા પાઇપલાઇન અનુભવનો કોઈ અર્થ નથી બનતો, નવા વપરાશકર્તાઓ ક્લિક કરતાં કરતાં આખરે ખોટા Docs પર પહોંચે છે.
Edward Thomson (Azure PM) નો સારાંશ
હું એ કોડ લખનાર છું જે તમારા પુલ રિક્વેસ્ટ મર્જ કરે છે. Azure DevOps માટે Microsoft માં પ્રોગ્રામ મેનેજર; અગાઉ GitHub, Microsoft, SourceGear માં સંસ્કરણ નિયંત્રણ સાધનો પર સોફ્ટવેર એન્જિનિયર.
https://www.edwardthomson.com/
libgit2 ના સહ-જાળવણીકર્તા. https://libgit2.github.io
All Things Git ના સહ-હોસ્ટ, Git વિશેનું પોડકાસ્ટ. https://www.allthingsgit.com/
Developer Tools Weekly ના ક્યુરેટર, વિકાસ સાધનો વિશેનું ન્યૂઝલેટર. https://developertoolsweekly.com/