![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
Sapa uru, sapa pachaw ingeniería ukan irnaqawisanx walja kunayman jan walt’awinakamp jikisipxta kunayman complejidad ukat situaciones ukanakanx mä amtar puriñax wakisi jan ukax qhiphart’ayañaw wakisi kunatix janiw datos ukanakax utjkiti. Kunawsatix machaq servicios ukanakax lurasktan, infraestructura lurasktan, jan ukax desarrollo procesos ukanakas lurasktan ukhax mä jach’a uraqpacharuw llamkt’tan kunayman jan walt’awinakampi.
Taqi jan walt’awinak qillqt’añax ch’amawa, ukat inas jan ch’amäkchiti. Mä nicho específico ukan irnaqasax yaqhip uka jan walt’awinakampiw jikisipxäta. Maysatxa, waljaw utji, taqiniw kunjams askichañax uk amuyañasa, kunatix sistemas IT lurañatakix wali wakiskiriwa. Mä jach’a probabilidad ukampixa, taqi proyectos ukanakanwa jupanakampi jikisipxäta.
Aka qillqatanx mä qawqha jan walt’awinak software programas uñstayañkamax jikxatawaykta ukanakat experiencianakaj uñt’ayaskä.
Jiwasatix Wikipedia ukar uñakipt’añäni ukhax aka qhanañchäw jikxatañäni
Software orientado a aspecto ukanx, llakinakax cruzados ukax mä programa ukan aspectos ukanakawa, ukax walja módulos ukanakaruw jan walt’ayi, janiw kuna encapsuladas ukanakas utjkiti. Uka llakinakax walja kutix janiw q’uma sistema uksatx q’uma t’unjatäkaspati, diseño ukhamarak implementación ukanakanxa, ukatx ch’iqiyaña (duplicación de código), enredo (dependencias significativas entre sistemas), jan ukax panpachaniw utjaspa.
Kunjams ukax wali sum qhanañchi, ukampis mä juk’a jilxatayañ munta ukat ch’amanchañ munta:
Mä preocupación cruzada ukax sistema/organización ukat mä concepto jan ukax componente ukawa, ukax walja yaqha chiqanakaruw jan walt’ayi (jan ukax ‘cuts across’).
Ukham llakinakatx wali suma uñacht’awinakax arquitectura de sistema, registro, seguridad, gestión de transacciones, telemetría, diseño de bases de datos ukat walja yaqhanakaw utji. Ukanakat waljanejja, aka yatichäwin qhepatwa jukʼamp qhanañchtʼañäni.
Nivel de código uksanxa, llakinakax cruzados ukanakax walja kutiw técnicas ukanakamp phuqhachasi, Programación Orientada a Aspecto (AOP) , ukanx uka llakinakax modularizado ukhamawa sapa componentes ukar uñtasita, ukax taqpach aplicación ukanx apnaqasispawa. Ukax lógica empresarial ukaruw uka llakinakat jayarst’ayi, ukhamat código ukax juk’amp uñakipt’añataki ukat mantenimiento ukataki.
Walja thakhiw utji kunjams aspectos ukanakax segmentación ukanx kunayman propiedades ukanakamp segmentación ukampix lurasispa, kunjamakitix alcance, tama, funcionalidad, importancia, meta, ukat yaqhanakampi, ukampis aka qillqatanx mä simple clasificación de alcance ukampiw apnaqañ munta. Ukham sasinxa, kawkhantix aka aspecto específico ukax dirigido ukax taqpach organizaciona, sistema particular, jan ukax elemento específico uka sistema ukanak sañ munta.
Ukhama, nayax aspectos ukanakax Macro ukat Micro ukanakaruw jaljañ munta.
Aspecto Macro sasinxa nayax jilpachax amuyt’awinak arktañ sañ munta taqi sistema ukatakix arquitectura de sistemas ajllitanaka ukhamarak diseño (monolítico, microservicios, arquitectura orientada a servicio), pila de tecnología, estructura de organización, ukat juk’ampinaka Aspectos macro ukax jilpachax estratégicos ukat alto nivel ukanakamp chikt’atawa amtanaka.
Ukañkamax aspecto Micro ukax nivel de código ukat desarrollo ukaruw juk’amp jak’achasi. Amuyt’añataki, kawkir marco ukax base de datos ukamp chikt’atäñatakix apnaqasi, carpetas ukat clases ukan proyecto ukan estructurapa, jan ukax patrón específicos de diseño de objetos ukanakas.
Aka clasificación ukax janiw askïkiti, ukampirus mä amuyt’aw estructurar ukar yanapt’i, kuna jan walt’awinakas utjaspa ukat kuna askinakas utji ukat kuna jan walt’awinakas utji ukanak apnaqañataki.
Aka qillqatanx nayrïr amuyujax macro aspectos ukanakaruw uñt’ayasini.
Kunawsatix jichhak arquitectura de software ukan yatxatañ qalltawayta, Conway ukan kamachipat ukhamarak estructura organizativa ukar jan walt’ayatapat walja suma qillqatanakaw ullart’awayta. Yämas aka . Ukhama, aka kamachix ukham siwa
Kawkïr tamas mä sistema (jach’a uñt’ayat) uñstayapki ukanakax mä diseño uñstayapxani, ukax mä copia ukhamawa, ukax organizacionan yatiyaw estructura ukan copiapawa.
Nayax nayratpachaw amuyasta, chiqpachans aka amuyunakax wali taqinitakiwa ukatx Quri Regla ukar uñtasitawa.
Ukatx Eric Evans jupan Domain-Driven Design (DDD) ukan sistemas de modelado ukanakat yatxatañ qalltawayta. Eric Evans jupax Contexto Limitado ukan uñt’ayasiñapatakix wali askiwa sasaw qhanancht’i. Aka amuyunakax mä modelo de dominio complejo ukar jisk’a, juk’amp apnaqañjam t’aqanakaruw jaljañawa, sapa maynix mä qawqha yatiñanakaniwa. Aka amtawix equipo ukan suma aruskipäwiparuw yanapt’i, kunatix taqpach dominio ukan jach’a yatiñanakax janiw wakiskiti ukatx contexto ukar mayjt’ayañax juk’akiw utji, ukhamat aruskipäwinakax juk’amp sumaw lurasi. Contexto ukar mayjt’ayañax juk’amp jan waliwa ukat juk’amp recursos ukanak apt’atawa. Computadoranakas ukampiw chʼamachasipxi. Janis contexto mayjt’ayañax taqpach jan utjañapatak jikxataskchixa, nayax amuyta ukatakix ch’amachasiñasawa.
Conway chachan Leyipar kuttʼasajj walja jan waltʼäwinakaw uka toqet jikjjatawayta.
Nayrïr jan walt’awix Conway Ley ukamp jikista, ukax sistema ukan diseñopax estructura organizativa ukar uñtasitaw sasaw amuyt’ayi, ukax Contextos Limitados complejos ukat integrales ukanakar uñstayañatakix potencial ukawa. Aka complejidad ukax kunapachatix estructura organizativa ukax jan límites de dominio ukanakamp chikancht’atäki ukhax uñstaspawa, ukax Contextos Limitados ukaruw puri, ukax wali maynit maynikam yanapt’atawa ukatx yatiyawinakamp cargado ukhamawa. Ukax sapa kutiw contexto-switching ukaruw puriyi, desarrollo equipo ukataki.
Yaqha tuqitx terminología organizativa ukax nivel de código ukar fugas ukanakaw utji. Kunawsatix estructuras organizativas ukanakax mayjt’atäki ukhax base de código ukar mayjt’ayañaw wakisi, ukax wali aski yänak manq’añatakiwa.
Ukhamatwa, Inverse Conway Maneuver ukar arktañax sistema ukat organizacion ukar lurañatakix yanapt’i, ukax arquitectura de software munat ukar ch’amanchañataki. Ukampirus, amuyañjamawa, aka amtawix janiw sinti sum irnaqkaniti nayratpach lurat arquitectura ukat estructuras ukanakan kunatix mayjt’awinakax aka pachanx jaya pachanakawa, ukampis qalltawinakanx excepcionalmentew lurasi kunatix jupanakax jank’akiw kuna mayjt’awinaks uñt’ayapxi.
Aka patrón jan ukax “anti-patrón“ ukax mä sistema jan kuna arquitectura ukan lurañ irptxi. Janiw kuna kamachinakas utjkiti, janiw kuna límites ukanakas utjkiti, ukat janiw kuna estrategias ukanakas utjkiti, kunjams jan jark’at jilxatir complejidad ukar controlañax wakisispa. Complejidad ukax sistemas de software ukanakan lurañ thakhipanx juk’amp axsarkañ uñisiriwa.
Ukham kasta sistema jan lurañatakix mä kamachinak ukhamarak jark’awinak arktañasawa.
Arquitectura de Software ukatakix walja qhanañchäwinakaw utji. Waljaniw jupanakarux gustitu kunatix kunayman tuqinakatw uñt’ayasipxi. Ukampis arquitectura tuqit amuytʼasiñatakixa, naturaljamaw mä qhawqhanak amuyunakasan lurañasa. Ukat uka qhanañchäwix mayjtʼaspawa sañax wali askipuniwa. Ukhama, jichhax mä juk’a pachatakix, nayatakix aka qhanañchäwiw utjitu.
Arquitectura de Software ukax amtawinak ukat ajlliwinakatwa, sapa urux sistema lurat ukarux jan walt’ayiwa.
Amtawinak lurañatakix “bolsa” ukanx principios ukat patrones ukanakaw utjañapa, jan walt’awinak utjki ukanakar askichañataki, ukax wali askirakiwa, kunatix mä negociox munki uk lurañatakix mayiwinakat amuyañax wali askiwa. Ukampirus yaqhip pachax mayiwinakax janiw qhanakiti jan ukax janirakiw qhanañchatäkiti, aka tuqinx juk’amp qhanañchäwinak jikxatañ suyt’añax juk’amp askiwa jan ukax experienciamar atinisiña ukat intuición ukar atinisiña. Ukampis kunjamakïpansa, janitï atinisiñatak principionaka ukat patrón ukanakajj utjktam ukhajja, janiw sum amtaskasmati. Ukaw kawkhantix nayax Estilo de Arquitectura de Software ukan qhanañchäwipar puriskta.
Estilo de Arquitectura de Software ukax mä conjunto de principios ukat patrones ukawa, ukax kunjams software lurañax uk uñt’ayi.
Walja kunayman estilos arquitectónicos ukanakaw utji, kunayman tuqinakaruw arquitectura planificada ukar uñt’ayata, ukatx walja jupanakat mä kutin apnaqañax mä normal situación ukhamawa.
Amuytʼañataki, sañäni:
Arquitectura monolítica ukaxa mä juk’a pachanakwa lurasi
Diseño ukax dominio ukan apnaqatawa
Componente ukarjam uñt’atawa
Microservicios ukanaka
Tubo ukat filtros ukanaka
Ukax mä evento-driven
Microkernel ukax mä juk’a pachanakanwa
Servicio ukar uñtatawa
ukat juk’ampinaka...
Chiqansa, jupanakax ventajas ukat desventajas ukanakaniwa, ukampis juk’amp wakiskir yatiqatajax arquitectura ukax juk’at juk’atw mayjt’i, chiqpach jan walt’awinakat dependeriwa. Arquitectura monolítica ukampi qalltañaxa mä jach’a amtawiwa complejidades operativas ukanaka jisk’achañataki, wali amuyatawa aka arquitectura ukaxa munañanakamaru phuqhañapawa ukatxa Product-market Fit (PMI) etapa ukaru puriñkamawa producto lurañataki. Escala tuqinxa, mä evento-driven ukat microservicios ukar sarañax amuyt’asispawa independiente despliegue, heterogéneo tech stack medio ambiente, ukat arquitectura juk’amp acoplado (ukatx uka taypinx juk’amp transparente ukhamawa kunatix kunayman evento-driven ukat pub-sub enfoques ukax ukhamawa ukax adoptados ukhamawa). Simplicidad ukat eficiencia ukax jak’ankiwa ukat maynit maynikamaw wali jach’a ch’amanchasipxi. Jilapachax, ch’amt’at arquitecturas ukanakax machaq lurawinakan jank’ak lurañ jank’akïñapatakiw jan walt’ayi, utjki ukanakar yanapt’añataki ukhamarak uñjañatakiwa, ukat sistema ukan natural evolución ukar ch’amt’ayañataki.
Ukampirus sistemas complejos ukanakax arquitectura compleja ukat comprensiva ukaruw munapxi, ukax janiw jark’atäkiti.
Chiqpachansa, akax wali wali jach’a amtawiwa, ukatx walja jach’a amuyunakax utjiwa kunjamas sistemas ukanakax evolución natural ukar uñstayañataki ukhamarak luraña. Nayan experienciajarjamaw aka tuqit amuytʼawayta:
Ukhamaraki wali wakiskiriwa jakhunaka ukhamaraki métricas ukanaka amuyañataki DAU (Usuarios Activos Diarios), MAU (Usuarios Activos Mensuales), RPC (Request Por Segundo), ukhamaraki TPC (Transacción Por Segundo) kunatixa yanapt’aspawa ajlliwinakaru kunatixa arquitectura para 100 activos usuarios ukat 100 millones activos usuarios ukanakax mayj mayjawa.
Mä qhipa amtawix arquitectura ukax mä jach’a ch’amanchawiw producto ukan suma sartañapatakix sañ munta. Arquitectura jan wali lurat yänakatakix escalamiento ukanx wakisiwa, ukax wali amuyatawa jan walt’awinakar puriyi kunatix aljirinakax janiw suyt’apkaniti sistema escalañkama, jupanakax mä atipt’asir ajllisipxaniwa, ukhamax nayrar sartañasawa potencial escalamiento ukata. Nayax iyawskchiyätsa, awisax janiw mä magro uñakipañax utjkaspati, amuyt’awix mä sistema escalable ukampis janiw nayrax escalado ukhamäkiti. Maysatxa, mä sistema wali ch’amäki ukat nayratpach escalado ukaniñax jan aljirinakampi jan ukax walja jupanakar katuqañ amtanakamp utjañax inamayakiw negocioman qullqix apt’asiñama.
Mä pila tecnológica ajlliñax mä amtawiwa nivel macro ukhamaraki kunatix contratación, perspectivas de evolución natural del sistema, escalabilidad ukat sistema ukan lurawiparuw ch’amancharaki.
Akax mä lista de consideraciones básicas ukawa, mä pila de tecnología ukar ajlliñatakiwa:
¿Kunjamsa walja pilas tecnológicas ukaniñax negocios ukan jiltäwiparux jan walt’ayaspa?
Mä uñakipäwitxa, mä pila juk’amp uñt’ayañax contratación ukarux escalaspawa, ukampis mayni tuqitxa, mantenimiento costos extras ukanakaw apani kunatix panpacha pilas ukar yanapt’añaw wakisi. Ukhama, kunjamtix nayraqat arsuwayktxa, nayan uñjatajax extra necesidad ukakiw mä argumento ukhamäñapa juk’amp pilas de tecnología ukar mantañataki.
Ukampis ¿mä jan waltʼäwitak kuna herramientas askïspa uk ajlliñatakejj kamsañsa muni?
Awisax janiw yaqha amtawix utjkiti jan ukasti machaq herramientas ukanakaw mä jan walt’äw askichañatakix apaniñama, ukax pachpa amuyunakaruw nayraqat arsuwaytanxa, ukham pachanakanx wali askiwa, kunatix askïki uk ajlliñax wali askiwa.
Sistemas ukanakax jan jach’a acoplamiento ukamp mä tecnología específica ukar lurañax mä ch’amäspawa. Ukhampachasa, mä condición ukar ch’amanchañax wali askiwa, kawkhantix sistema ukax tecnología ukar jan sum chikt’ata, ukat qharüru, mä marco específico jan ukax herramienta ukax vulnerable jan ukax juk’amp jan apnaqatäspa ukhax janiw jiwkaniti.
Yaqha wakiskir amuyt’awix software abierto ukat propiedad ukan dependencias ukanakamp sasiwa. Software propiedad ukax juk’a flexibilidad ukat posibilidad de personalización ukaruw churaraki. Ukhampachasa, juk’amp jan walt’awix aljirinakax llawintapxiwa, kawkhantix mä aljirin yänakapata, chaninakapata, kamachinakapata ukat thakhi uñacht’awinakapat dependerïta. Ukax jan walt’ayaspawa, aljirix thakhi mayjt’ayaspa, chaninak jilxatayaspa jan ukax aljañ jaytxaspa ukhaxa. Software abierto de código fuente ukax uka jan walt’äw jisk’acharaki, kunatix mä sapa entidad ukax janiw controlkiti. Taqi niveles ukan mä sapa punto de fracaso chhaqtayañax mä clave ukhamawa sistemas confiables ukanakar jiltañatakix lurañataki.
Mä sapa punto de falla (SPOF) ukax mä sistema ukan kawkir chiqaparus uñt’ayi, ukax jan walt’ayatäspa ukhax taqpach sistema ukarux janiw irnaqañapatak yanapt’kaniti. Taqi niveles ukan SPOFs ukanakar chhaqtayañax wali wakiskiriwa kuna sistemas ukanakatix jach’a disponibilidad ukar munaski ukataki. Taqi kunas, yatiñanaka, irnaqirinaka, sistema componentes, cloud providers ukat internet cables ukanakax jan walt’ayataw uñjasispa.
Mä sapa puntos de fracaso uk chhaqtayañatakix walja técnicas básicas ukanakaw apnaqasispa:
Aka qillqatanx walja aspectos clave Macro ukanakatw uñakipt’apxta, ukatx kunjams complejidad ukanakax askichasispa.
¡Liytʼapjjatamat yuspärapjjsmawa! ¡Jutïr kutin uñjasiñäni!