În urmă cu câteva săptămâni, Microsoft a anunțat un nou serviciu cloud disponibil pentru toți utilizatorii - Azure DevOps. Scopul principal al acestei articol este de a identifica trăsăturile principale ale acestui serviciu nou și care sunt diferențele dintre Visual Studio Team Services și Azure DevOps.
Azure DevOps este o colecție de servicii utilizate în faza de dezvoltare a softului. Toate serviciile oferite în pachet sunt interconectate între ele și pot fi orchestrate dintr-o singură locație. Există suport complet pentru funcționalități precum:
Gestionarea și urmărirea sarcinilor (panouri Agile, inclusiv Kanban);
Source Control (Git);
CI / CD Pipeline;
Testare (testarea performanței, testarea manuală sau explorativă);
Wiki;
Rapoarte și panou de control personalizat;
Unele servicii sunt similare din perspectiva funcționalității cu serviciul anterior numit VSTS. Această migrare spre un nou serviciu este normală din partea Microsoft, mai ales în contextual actual. Azure DevOps oferă cinci categorii mari de servicii:
Azure Pipelines - CI, sistem de testare, implementare care se poate conecta la orice depozit Git (cloud sau local);
Azure Board - capacitatea de urmărire, inclusiv raportarea și tabloul de bord;
Azure Artifacts - capacitatea de găzduire pentru NuGet, npm, Maven;
Azure Repos - depozit privat Git;
O caracteristică utilă a Azure Pipelines este capacitatea de a defini o politică de control a pipeline-ului, unde puteți solicita aprobarea manuală (semnarea) de la anumite persoane înainte de a trece de un anumit pas. În plus, fiecare triger poate fi manual sau automat, oferindu-ne flexibilitatea de a avea pași manuali în cazul în care automatizarea nu este posibilă.
Serviciile de colaborare care fac parte din Azure DevOps ne permit să definim alerte care pot notifica persoane sau grupuri de persoane atunci când se întâmplă acțiuni specifice în interiorul sistemului. Există, de asemenea, o integrare cu Power BI, care permite grupului de management să creeze un raport personalizat și să obțină informații despre proiect și echipă.
Majoritatea serviciilor Azure disponibile în acest moment sunt deja integrate cu Azure DevOps, permițându-ne să folosim și să implementăm produsele noastre pe toate serviciile Azure. În afară de aceasta, putem realiza implementarea utilizând mecanismul tradițional pentru furnizorii locali sau pentru alți furnizori din Azure.
Suportul pentru hooks extinde capacitățile implicite ale serviciilor Azure DevOps. Utilizând hooks, putem integra orice alte servicii de pe piață - extinzând funcționalitatea build in. Am fost întotdeauna un mare fan al WebHooks, deoarece sunt un mod simplu și puternic prin care putem conecta și extinde orice sistem.
Ca și în VSTS, există un suport complet pentru a face o construcție folosind agenți hosted de Microsoft sau folosind proprii noștri agenți care pot fi găzduiți de Microsoft sau de noi.
Pentru controlul sursei, putem folosi depozitul Git, găzduit în interiorul Azure DevOps sau putem folosi orice client Git sau TFVSC (Team Foundation Version Control System) extern. Nu este esențial dacă se află on-premises sau în cloud, atâta timp cât sistemele Azure DevOps pot accesa repository-ul.
Din perspectiva planificării și a managementului, există trei platforme native acceptate implicit: Scrum.
Kanban.
În afară de aceasta, putem personaliza și modifica portalul, permițându-ne să creăm propriul nostru sistem de urmărire a muncii.
SLA pentru Azure DevOps este de 99,9%, cu o echipă de suport dedicată, gata să ne ajute în orice moment al zilei. Susținerea este deosebit de importantă atunci când toată echipa dumneavoastră lucrează folosind o platformă care nu este la noi în 'ogradă'. Acum câteva zile am avut o experiență proastă cu un serviciu Wiki oferit de un alt furnizor, care a rămas în mijlocul zilei timp de aproximativ două ore, iar echipa de suport din partea lor a fost "offline".
Azure AD este integrat complet, permițându-ne să conectăm organizația noastră cu Azure DevOps. Toate politicile de securitate pe care le-am definit deja în cadrul organizației vor fi aplicate automat în interiorul Azure DevOps.
Sub o instanță Azure DevOps, putem crea una sau mai multe organizații. Fiecare organizație poate avea unul sau mai multe proiecte. Folosind organizații și proiecte, puteți replica structura internă sau structura clientului d-voastră., oferindu-ne capacitatea să controlăm la orice nivel echipele și proiectele.
Pe lângă serviciile out of the box, există patru mecanisme disponibile pentru a extinde capacitățile Azure DevOps:
REST API - care poate fi folosit pentru a crea extensii care comunică cu DevOps Azure;
REST Hooks - declanșează evenimentele, când se întâmplă acțiuni specifice în interiorul sistemului nostru sau invers;
Visual Studio SDK - Extindeți caracteristicile existente ale Visual Studio;
În interiorul Azure DevOps, există o listă clară de roluri pe care un utilizator le poate avea. Fiecare rol permite unui utilizator să desfășoare activități specifice sau să acceseze un anumit conținut. Mai jos puteți găsi o prezentare generală la nivel înalt a rolurilor disponibile în interiorul dispozitivelor Azure DevOps.
Software Developer - access la cod și la taskuri;
Project Manager - gestionarea sarcinilor, raportare, utilizarea și gestionarea tablourilor de bord;
DevOps - definiți și gestionați CI/CD pipelies, controlul testelor de performantă și altor tipuri de teste;
Stakeholders - pot vedea taskurile și conținutul, oferă feedback, dar nu pot face modificări de cod;
Team Administrator - control la backlog și board;
Project Administrator - Control complet la nivelul proiectului;
Nu putem compara aceste două servicii deoarece Azure DevOps este VSTS. Microsoft a redenumit VSTS la DevOps, oferindu-i un nume nou și noi capabilități. A existat o redenumire a serviciilor din interiorul VSTS-ului. O tabelă cu maparea serviciilor poate să fie găsită mai jos:
Rețineți că vechea interfață, împreună cu funcțiile anterioare ale VSTS, este încă disponibilă. Este decizia noastră dacă vrem să folosim interfața de la Azure DevOps sau VSTS.
Prețul este un pic mai complicat de calculat, deoarece trebuie să luați în conturi articole multiple. Voi încerca să enumăr lucruri care pot influența prețul la sfârșitul lunii:
Număr de utilizatori;
Tip de utilizatori care au acces;
Numărul de CI/CD pilelines
Unde rulează CI/CD (găzduite de Microsoft sau găzduite de noi);
Azure Test Plans;
Complexitate testelor rulate;
Lista de prețuri poate fi găsită în următoarea listă.
În concluzie, putem afirma că din partea Microsoft, a fost o alegere inteligentă de a face rebrandingul, deoarece vechiul VSTS a fost mai mult un TFS. Noul nume cu noile capabilități reflectă mai mult ceea ce este acum Azure DevOps - o suită de servicii Azure care ne permit să controlăm și să gestionăm procesul de dezvoltare software de la dezvoltarea și testarea până la implementare și QA.