Business

GUI vs CLI

Să ne imaginăm câteva scenarii:
Scenariul 1: Vreau să creez 21 mașini virtuale cu configurații diferite. Cum fac ?

  • GUI: create new vm, next, next, introducem niște cifre, next, next, finish. Terminăm într-un minut prima mașină. Iar pentru restul de 20 intrăm într-un ciclu monoton de click-uri, iar la final rezultatul va fi cel propus: am creat 21 mașini virtuale în 21 minute.
  • CLI: folosim un script, setăm valorile pentru configurațiile fiecărei mașini, hit enter. Terminăm mai repede, iar la final avem 21 mașini virtuale create + scriptul care poate fi adaptat pentru oricâte alte mașini virtuale ar fi nevoie, oricând.

Scenariul 2: Am ca sarcină să șterg din Active Directory un departament de 99 oameni. Cum fac ? (hint: seamănă cu exemplul de mai sus).

Ceea ce doream să subliniez este că GUI-ul e mai rapid când vine vorba de făcut un singur task. Însă, în momentul în care trebuie să scalez la mai multe task-uri, apare o problemă. Un alt avantaj al interfeței grafice este că e mai intuitiv. În sensul că văd butoane, văd menu-uri, încep să dau click-uri peste tot și astfel, mă învăț cu tehnologia respectivă. Deși, mă învăț doar cu interfața aplicației, însă nu prea înțeleg cum merg în spate treburile.

Evident, sunt și dezavantaje de partea liniei de comandă. Dacă cumva redactez scriptul eronat, s-ar putea să produc destul de multe pagube pe respectivul sistem. Imaginați-vă scenariul cu Active Directory, în care omit numele departamentului, ceea ce ar rezulta la ștergerea întregii baze de date. Ori, din GUI, o astfel de probabilitate e mult mai mică. Așa că, atenție! 

Referitor la workload, în caz general, diferența dintre GUI și CLI se ilustrează foarte bine după următoarele grafice:

Când vorbim de GUI, workload-ul pentru un task este același. Nu putem da click-uri mai repede, iar aplicația folosită nu va fi mai rapidă. Astfel, efortul, raportat la timp este constant. Pe de cealaltă parte, când ne referim la CLI, mai exact la partea de scripting, deși efortul inițial o să fie mai mare, acesta se va diminua vizibil în timp, atunci când vorbim de task-uri repetitive.

Join The Discussion