Vídeo: Джан Чипкейз о наших мобильных телефонах (De novembre 2024)
El paisatge de programari empresarial està farcit de tecnologies punyents. Hem escrit sobre molts d’ells, ja sigui blockchain, desenvolupament de codis baixos o altres tendències emergents que canvien la manera de treballar. Una nova paraula de moda que potser no havíeu sentit a parlar anteriorment és "microserveis".
Això és per disseny. Els microservices són una forma diferent d’arquitectar el programari basat en un conjunt de components modulars entrellaçats en lloc de la idea tradicional d’un “monòlit”: una aplicació formada per una muntanya de codi en creixement. Les aplicacions basades en microserveis no semblen diferents de la interfície d'usuari (interfície d'usuari), ja sigui en una aplicació complexa del centre de dades o en una aplicació web o mòbil allotjada en una infraestructura de núvol escalable.
El motiu pel qual les empreses haurien de preocupar-se pels microservicis és que, darrere dels escenaris, l’arquitectura pot ajudar els vostres equips de desenvolupament i informàtica a treballar i innovar més ràpidament, a gestionar infraestructures i a reduir el cost i la complexitat d’afegir noves funcions i funcionalitats a una aplicació. Al Hilwa, director de programes per a la investigació de programari de desenvolupament d'aplicacions de l'IDC, va explicar com dirigiria els microservicis a una empresa, tenint present tant els reptes culturals com tecnològics.
"En construir nous sistemes, probablement el punt clau és reconèixer que un petit equip ha de ser construït per un petit equip", va dir Hilwa. "En segon lloc, la tolerància de la diversitat en els llenguatges de programació i els fluxos de treball dels desenvolupadors sovint està implicada per la naturalesa independent d'una cultura de microservisos generals. El to principal per a una exec és construir programari incrementalment utilitzant equips petits, amb cada creació d'un mòdul coherent amb un publicat. L'avantatge és que els mòduls independents poden evolucionar a un ritme molt més ràpid de forma independent, sempre que les API publicades siguin gestionades de forma organitzada."
Què són realment els microservicis?
Hilwa va escriure un informe IDC del 2015 titulat "L'emergència dels microservicis com a nou enfocament arquitectònic per crear nous sistemes de programari". A l’informe, defineix els microservicis com una arquitectura de programari granular on els components de l’aplicació estan dissenyats i evolucionats de forma independent per complir els requisits d’interoperabilitat definits per l’API (el que vol dir que es relacionen amb l’aplicació en general). Tanmateix, els microservicis no existeixen al buit. Una nova arquitectura requereix un fort suport organitzatiu i un canvi en la cultura de les TI.
Els microservicis tampoc no es defineixen amb cap tecnologia específica, sinó com l’evolució del concepte de llarga durada de l’arquitectura orientada al servei (SOA) augmentada per l’arribada de contenidors i l’augment de l’automatització mitjançant enfocaments de desenvolupament com el lliurament continu (CD) i la integració contínua. (CI).
"Les organitzacions que utilitzen microservicis actualment solen estar motivades pel desig d'un ritme més ràpid d'evolució del servei", va dir Hilwa. "Així, en la majoria d'aquests casos, els microservicis utilitzen automàticament CI / CD. Tanmateix, el ritme de desplegament real pot ser diferent entre els serveis. Crec que la clau és revisar la cultura interna i ser-ne. segur que esteu disposats a tolerar una major descentralització i diversitat a la pila de tecnologia."
Per "cultura interna", Hilwa es refereix en gran mesura a DevOps, una filosofia que combina desenvolupament de programari, operacions informàtiques i garantia de qualitat (QA) en un únic flux de treball col·laboratiu. HashiCorp i els seus fundadors des de fa temps són un partidari de microserveis. La companyia, que recentment ha aconseguit una ronda de finançament de la Sèrie B de 24 milions de dòlars, compta amb empreses com Cisco, DigitalOcean, Mozilla i Stripe entre els seus usuaris de codi obert i clients empresarials.
Els microservicis són fonamentals per a com HashiCorp s'apropi al desenvolupament d'infraestructures i al flux de treball d'aplicacions DevOps a través de les seves populars eines de codi obert i la creixent suite de productes empresarials. Armon Dadgar, CTO i cofundador de HashiCorp, va desglossar la diferència entre monòlits i microserveis mitjançant una simple analogia: Amazon i eBay.
"Penseu en Amazon i eBay com a aplicacions úniques. Des de la perspectiva de l'usuari final, semblen similars, però, entre reixes, les empreses van adoptar enfocaments oposats a la manera com van construir i arxivar les seves aplicacions", va dir Dadgar. "Amazon des del principi ha estat un paquet de microserveis; actua com una única aplicació. Però si feu la cerca, el catàleg de productes, el carretó de la compra, les factures, els fluxos de comandes i dividiu aquestes funcions, les dues aplicacions funcionen de forma diferent. màquines."
L’analogia d’Amazon s’estén també a la forma en què s’estructura Amazon. Dadgar explica els enfocaments tecnològics com els microservicis com a eines per donar suport al moviment de processos més gran cap a DevOps. La "Two Pizza Rule" de Jeff Bezos funciona de manera que només hi ha entre cinc i vuit persones a qualsevol equip d'Amazon. Si l'equip es fa més gran, es divideix en dos.
La jerarquia organitzativa d’Amazon comença a associar-se cap al que Dadgar va descriure com una "descomposició de la funcionalitat". Separat tant a nivell organitzatiu com d’arquitectura modular, cada equip té aleshores la capacitat de desenvolupar-se i experimentar-se amb més llibertat, sense necessitat de coordinar-se en tots els canvis, encara que funciona com a part d’una sola aplicació cohesionada.
"eBay va adoptar el plantejament monolític; van construir tot eBay com una llarga línia de 50 milions d'aplicacions de codi", va dir Dadgar. "L'enfocament del microservici és més dolorós al començament perquè els problemes de modularitat i interoperabilitat són els que no existeixen en un monòlit. Però les coses comencen a descompondre's quan l'aplicació creix massa. En un monòlit, no hi ha cap descomposició.
"Penseu en centenars o milers de desenvolupadors que col·laboren en una sola base de codis i intenten coordinar-se. Un equip de QA afegint funcionalitat en un costat de l'aplicació podria trencar alguna cosa a l'altre costat perquè no hi ha una separació clara de rols i responsabilitats." ja, comenceu a necessitar cada cop més coordinació entre els responsables del projecte i un procés de control de qualitat que pot trigar setmanes i desenvolupar coll d'ampolla, no importa la rapidesa que funcioni l'equip. Hi ha massa cuiners a la cuina."
Contenidors i microservicis en un món DevOps
La manera en què la vostra empresa implementa una arquitectura de microserveis ha de recórrer un llarg camí per determinar si la inversió paga o no. Els microservicis tenen molta feina inicial, sobretot en la integració de l'API que es necessita per assegurar-se que tots els serveis parlen entre ells. Hilwa va explicar que és encara més complicat quan s’intenta integrar els microservicis en un sistema existent; recomana que les empreses construeixin nous sistemes sempre que sigui possible, en comptes de reconstruir una aplicació monòlita antiga per a microservicis.
"Les arquitectures de sistemes tradicionals solen implicar grans i complexos sistemes de bases de dades amb registres normalitzats elaborats", va dir Hilwa. La facturació d'aquests sistemes en components més petits amb els seus propis sistemes independents requereix una gran quantitat de treballs de disseny de bases de dades i reescriptura efectiva de la major part de la lògica principal de l'aplicació. Això és generalment prohibitiu en costos i temps en la majoria dels casos."
Si re-arquitecteu una aplicació antiga, Hilwa us aconsella que ho feu de manera incremental. Tot i que són encara més importants que la integració de l'API, els microservices no funcionen sense la cultura DevOps al darrere. Dadgar de HashiCorp va dir que, quan es tracta del paraigua més gran de DevOps, els microservis es converteixen en una eina per facilitar un canvi de procés més gran cap a canviar fonamentalment els fluxos de treball amb els quals entregem aplicacions. Va assenyalar el Tao de HashiCorp quan ell i el cofundador Mitchell Hashimoto van iniciar la companyia: simple, modular i composable.
"DevOps és, en cert sentit, un terme encara més sobrecarregat que els microservicis", va dir Dadgar. "Però un negoci està format per persones amb diferents especialitats de coneixement: desenvolupadors, operadors, agents de seguretat. I després teniu un procés, com organitzeu aquestes persones. A continuació, teniu les eines per donar suport a aquest procés, que és on es troben els microservicis i els contenidors. endavant."
Els contenidors, popularitzats per l'explosió de codi obert de Docker, estan lluny de ser les úniques eines que poden utilitzar les empreses per facilitar el microservici. Hilwa de IDC va dir que els contenidors s'utilitzen en aplicacions modernes com a part dels fluxos de treball de CI / CD i, en alguns casos, mentre que es despleguen per a la producció. Però va dir que els microservicis també poden aprofitar màquines virtuals (VMs) sense necessitat de contenidors.
Dit això, quan es tracta de com evolucionen els núvols empresarials, els contenidors i microserveis Docker són una potent combinació d’eines que s’incorpora a empreses de totes formes i mides, des de startups com HashiCorp fins a gegants empresarials com Oracle. Dadgar de HashiCorp va dir que els contenidors són els mitjans convenients amb què Dev i Ops (i, per associació, diferents equips i serveis) es comuniquen entre ells.
"Quin és l'artefacte que estem transmetent entre els desenvolupadors i els operadors? Què fluïm i construïm al voltant? Els contenidors són una unitat convenient per passar-hi", va dir Dadgar. "Penseu en un producte de transport global per a empreses a tot el món. Ja sigui un vaixell de càrrega, un tren de càrrega o un camió, és la mateixa unitat que circula per tot el sistema."
DevOps i microservices encara estan lluny de l'adopció generalitzada de les empreses, però el mercat només està creixent. Segons l’informe de l’IDC, l’arquitectura dels microservis entrarà en fase de maduració durant els propers cinc anys. Aquesta maduresa es produirà al màxim de la cultura de DevOps que arribarà al 50% de les organitzacions el 2020, la contínua evolució de les eines d’automatització de programari i la dominació d’infraestructura de núvol barata i escalable proporcionada pels programes d’Amazon Web Services (AWS) i Microsoft Azure.
Dadgar va dir que, fins i tot amb la petita fracció d'empreses que disposen de DevOps i microservicis actualment, HashiCorp ja està molt desubscrit. Va assolir els seus primers ingressos de set xifres després de només nou mesos de vendes empresarials, a la part superior d’una comunitat de codi obert a GitHub de diversos milions d’usuaris actius mensuals. Els microservicis són només una part del pipeline d’eines d’aplicació de flux de treball d’HashiCorp i del full de ruta de la infraestructura DevOps més gran. Però la modularitat i la interoperabilitat que hi ha a sota de tot el que la companyia construeix ha impulsat l’auge meteòric d’una de les més importants startups de programari de Silicon Valley.
"Fa quatre anys, quan vam començar, ens reuniríem en reunions i ens mostraríem la nostra visió sobre com es gestionaria la infraestructura", va dir Dadgar. "No estàvem exactament a riure de la sala; sabíem que era ben aviat. Però ara les nostres eines com Terraform van a arribar a convertir-se en estàndards de la indústria. El que veurem és un efecte dòmino de pressió competitiva i, a A llarg termini, el nostre paper serà treballar amb CIOs i CTOs per entendre el canvi de procés que han de prendre.
"Pensa en Toyota en aquell dia", va continuar Dadgar. "Teníeu un munt d'empreses de vehicles que construïen productes, però el cost era més alt del que hauria de ser. Toyota no reinventà el que era un cotxe; eren més rigoroses i incrementals sobre el procés i passaren de la barrera a la central, obligant a la resta de la indústria ha d’adoptar el mateix conjunt de pràctiques per mantenir-se competitius Ara mateix, tenim líders de la indústria que pregunten com poden aconseguir un avantatge competitiu i la seva resposta és adoptar les pràctiques dels googles i les amazones del mercat. punt, arribarà a una massa crítica ".