![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
Sapa punchaw, sapa rato ingenieria llamkayniykupi, achka imaymana sasachakuykunawan tupayku imaymana complejidadniyuq hinaspa situacionkunapi maypichus huk tanteayta ruwananchik utaq aplazananchik mana datos kasqanrayku. Mayk'aqllapas musuq yanapakuykunata ruwasqayku, infraestructura ruwasqayku utaq wiñariy ruwanakuna ruwasqaykupas, huk hatun pachata llamiyku imaymana sasachakuykunamanta.
Sasa, yaqapaschá mana atikunmanchu, llapa sasachakuykunata listapi churayqa. Wakin kay sasachakuykunawan tupanki sichus huk nicho específico kaqpi llamk'achkanki. Huknin kaqpi, achka kanku llapanchik entiendenanchik imayna allichayta, imaynachus sistemas IT ruwanapaq ancha chaniyuq kanku. Alta probabilidad nisqawanmi llapa proyectokunapi paykunawan tupanki.
Kay qillqasqapi, software programakuna ruwachkaspa wakin sasachakuykunawan tupasqaymanta experienciaykunata willasaq.
Wikipidiyata qhawaspaqa kay sut'inchayta tarisun
Aspecto-orientado software ruwaypi, chimpapuray llakikuykunaqa huk programamanta aspectokuna kanku mayqinkunachus achka módulos kaqmanta afectanku, mana mayqinpipas encapsulasqa kay atiyniyuq. Kay llakikuykunaqa sapa kuti mana ch'uyatachu ismuyta atikunman wakin sistemamanta iskaynin ruwaypi chaymanta ruwaypi, chaymanta icha ch'eqechiypi (código iskay kuti ruway), enredo (sistemakunapura hatun dependenciakuna) utaq iskayninpi tukunman.
Anchatam willakun ima kasqanmanta, ichaqa huk chikanta mastariyta hinaspa pisiyachiyta munani:
Huk chimpapuray llakikuyqa sistema/organización nisqap hamut'aymi icha componentenmi, achka huk rakikunatam afectan (utaq 'kuchun').
Aswan allin ejemplokuna chayhina llakikuykunamanta kanku sistema arquitectura, registro, seguridad, transacción kamachiy, telemetría, base de datos ruway chaymanta achka wakkuna kanku. Achkamantam kay qillqasqapi qipaman astawan rimarisunchik.
Código nivel kaqpi, chimpapuray llakikuy sapa kuti ruwasqa kanku técnicas kaqwan kayhina Programación Orientada a Aspecto (AOP) kaqwan , maypi kay llakikuykuna modularizado kanku sapaq componentes kaqpi mayqinkunachus tukuy ruwaypi ruwakunkuman. Kayqa negocio lógica kay llakikuykunamanta t'aqasqa waqaychan, chaymanta código aswan ñawirinapaq chaymanta mantenimientopaq ruwan.
Askha atikuq ñankuna kanku imayna aspectokuna clasificanapaq segmentación kaqwan hukniray propiedades kaqwan imaynachus alcance, tamaño, funcionalidad, importancia, meta, chaymanta wakkuna, ichaqa kay qillqasqapi, huk sanu alcance clasificación kaqwan llamk'asaq. Kaywanqa niyta munani maymanchus kay aspecto específico dirigikun sichus llapan organizacion, huk sistema particular, utaq huk elemento específico chay sistemamanta.
Chaymi, aspectokunata Macro hinaspa Micro nisqaman rakisaq.
Macro aspectowanqa astawanqa tukuy sistemapaq qatisqayku qhawariykunata niyta munani imaynachus akllasqa sistema arquitectura chaymanta ruwaynin (monolítico, microserviciokuna, servicio-orientado arquitectura), pila tecnologia, organizacionpa estructuran, hukkunapas Macro aspectokuna aswantaqa estratégico chaymanta alto nivel kaqwan tinkisqa kanku tanteaykuna.
Chaykamaqa, Micro aspectoqa aswan qayllapi kachkan código nivelman chaymanta wiñachiyman. Ejemplopaq, mayqin marco llamk'achkan willaypa tiyapuyninwan tinkinapaq, mayt'ukuna chaymanta clasekuna proyecto estructuran, utaq específico objeto diseño patronkuna kaqpipas.
Kay clasificación mana allin kaptinpas, yanapan estructurayta huk hamutayta atikuq sasachakuykunamanta chaymanta chaykunaman churasqanchik solucionkuna ancha chaniyuq chaymanta impaktun.
Kay qillqasqapiqa, aswanta qhawarisaq macro aspectos nisqamanta.
Chayraq software arquitecturamanta yachayta qallarichkaptiy, achka sumaq qillqakunata ñawirirqani Conwaypa kamachiyninmanta chaymanta organizacionpa estructuranpi imayna kasqanmanta. Astawanraqmi kayqa . Chaymi, kay kamachikuyqa chayta nin
Mayqin tantanakuypas huk sistemata ruwaq (anchamanta sut'inchasqa) huk ruwayta ruwanqa, mayqinpa ruwayninpas tantanakuypa willay ruwayninpa copianmi.
Sapa kutim iñirqani kay hamutayqa chiqapmi ancha universal kasqanmanta hinaspa Quri Kamachiyta riqsichisqanmanta.
Chaymantaqa Eric Evanspa Domain-Driven Design (DDD) nisqa ruwayninta yachayta qallarirqani, sistemas de modelado nisqapaq. Eric Evansmi aswanta rimarin Contexto Limitado nisqa riqsichiy ancha allin kasqanmanta. Kay hamutayqa huk complejo modelo modelo de dominio nisqa aswan huch’uy, aswan kamachiy atiy t’aqakunapi t’aqaymi, sapankataqmi pisi yachayniyoq. Kay ruwayqa yanapakun allin equipo willakuypi, imaynachus pisiyachin necesidadta hatun yachay tukuy dominio kaqmanta chaymanta pisiyachin contexto tikrayta, chayhina rimanakuykuna aswan allin ruwan. Contexto cambiayqa aswan mana allin hinaspa aswan recursokuna hapiqmi. Computadorakunapas chaywanmi sasachakuchkanku. Manaña llapanpichu mana contexto cambiayqa kanmanchu chaypas, chaytan kallpachakunanchispaq yuyaykuni.
Conwaypa Leyninman kutispaymi achka asuntokunata tarirqani chaywan.
Ñawpaq kaq asunto Conwaypa Leyninwan tupasqay, chaymi yuyaychakun sistema diseño organizacionpa estructuranta espejo hina, chaymi atiyniyuq Contextos Limitados complejos chaymanta tukuypaq ruwanapaq. Kay complejidadqa paqarin organizacionpa estructuran mana dominio fronterakunawan tupachisqa kaptin, chaymi Contextos Limitados nisqaman pusamun, chaykunam llumpay huknin hukninwan hapipakunku hinaspa willakuywan cargasqa kanku. Sapa kuti contexto-switching nisqamanmi apamun wiñariy equipopaq.
Huk asuntotaqmi terminología organizacional nisqa código nisqa nivelman fugas nisqa. Organización estructurakuna tikrakuptin, codebase tikraykunata necesitan, chaniyuq yanapakuykunata mikhuspa.
Chayhina, Inverse Conway Maneuver qatiyqa yanapakun sistemata chaymanta organizacionta ruwayta mayqinkunachus munasqa software arquitecturata kallpachanku. Ichaqa, reparanapaqmi kay ruwayqa mana ancha allintachu llamkanqachu ruwasqaña arquitecturapi chaymanta estructurakunapi kay etapapi tikrakuykuna unayniyuq kasqanrayku, ichaqa qallariykunapi excepcionalmente ruwachkan chaymanta chaylla ima tikraykunatapas riqsichinku.
Kay patrón utaq “anti-patrón“ mana ima arquitecturayuq sistema ruwayta purichin. Mana kamachiykuna kanchu, mana fronterakuna kanchu, manataqmi estrategia kanchu imayna controlanapaq mana qispiy atina wiñaq complejidadta. Complejidad nisqaqa aswan manchay awqam software sistemakuna ruway puriypi.
Chayhina laya sistemata mana ruwanapaqqa, kamachiykunata, harkaykunata ima qatinanchik tiyan.
Software Arquitectura kaqpaq mana yupay atiy sut'inchaykuna kan. Askhan gustawan, imaymana aspectokunata rimasqankurayku. Ichaqa arquitecturamanta yuyaymanayta atispaqa, naturalmenten wakinta yuyayninchispi formananchis. Hinaspapas reparanapaqmi kay definicionqa evolucionanman nispa niy. Chaymi, kunankamapas, ñuqa kikiypaq kay qatiq sut’inchayta hap’ini.
Software Arquitectura kaqmanta sapa p'unchaw ruwasqaykimanta chaymanta akllanakunamanta kachkan chaymanta ruwasqa sistemata llamk'achin.
Decidinaykipaq “bolsa”ykipi kanan tiyan principiokuna chaymanta patronkuna rikhuriq sasachakuykunata allichaypaq, chaymanta ancha allinmi niyta requisitokunata entiendeyqa clave kasqanmanta imachus huk negocio necesitan chayta hatarichinapaq. Ichaqa, wakin kuti requisitos mana sut’ichu kanku utaq mana definisqachu kanku, kay casopi, aswan allin suyay aswan sut’inchayta tarinaykipaq utaq experienciaykipi hapipakuy chaymanta intuicionniykipi hapipakuy. Ichaqa imaynaña kaqtinpas, manan allintachu decidiwaq mana principiokunayoq, manataqmi ima ruwaykunapipas confianaykipaq kanchu chayqa. Chaypim hamuchkani Estilo de Arquitectura de Software nisqapa definicionninman.
Software Arquitectura Estilo nisqaqa huk huñu kamachiykunam , ruwanakunapas, imayna software ruwayta riqsichiq.
Kanmi achka imaymana estilo arquitectónicokuna imaymana ladokuna arquitectura planificasqapi enfocadu, chaymanta achkata huk kutillapi churayqa normal situacionmi.
Ejemplopaq, kay hina:
Arquitectura monolítica nisqa
Dominio nisqawan purichisqa diseño
Componente nisqapi sayasqa
Microserviciokuna
Tubo y filtros
Evento-driven nisqa
Microkernel nisqa
Servicioman hina
hinaspa hukkunapas...
Chiqapmi, ventajankupas mana allinninkupas kanmi, ichaqa aswan allin yachasqayqa, arquitectura nisqa pisi pisimanta wiñasqanmi, chiqap sasachakuykunamanta hapipakuspa. Arquitectura monolítica kaqwan qallariyqa huk hatun akllana kan complejidades operativas pisiyachinapaq, ancha chaninniyuq kay arquitectura necesidadniykiman hina kanqa chaymanta Producto-mercado Fit (PMI) etapa ruru ruwaymanta chayasqaykimanta. Escala kaqpi, huk ruwaywan purichisqa ruwayman chaymanta microserviciokunaman puriyta yuyaykunkiman sapanchasqa mast'ariy, heterogéneo tech pila pacha, chaymanta aswan pisi tinkisqa arquitectura (hinallataq aswan pisi sut'i kaq chaykama ruwaywan purichisqa chaymanta pub-sub enfoquekuna kayninrayku sichus kaykunaqa adoptasqa kanku). Simplicidadwan eficienciawanqa hichpallapim kachkan, chaymi anchata yanapanakunku. Yaqa llapanpi, sasachakuyniyuq arquitecturakuna musuq ruwanakuna wiñachiy utqaylla kayninta llamk'achinku, kunan kaqta yanapaspa chaymanta waqaychayta, chaymanta sistemapa natural evolucionninta sasachaspa.
Ichaqa, sasachakuyniyuq sistemakunaqa sapa kutim sasachakuyniyuq hinaspa tukuy imayuq arquitecturata necesitanku, chaymi mana qispiy atina.
Chaninpiqa, kayqa ancha ancha hatun temam, chaynallataqmi achka hatun yuyaykuna kan imayna estructurakuna hinaspa hatarichiy sistemakuna evolución naturalpaq. Experienciayman hinan kay ruwayta ruwarqani:
Chantapas yupaykunata chaymanta métricas kaqmanta hamut'anapaq ancha chaniyuq DAU (Sapa p'unchaw ruwaqkuna), MAU (Killamanta ruwaqkuna), RPC (Mañakuy Sapa Segundo), chaymanta TPC (Transacción Sapa Segundo) hina chaymanta yanapasunkiman akllanakuna ruwayta imaraykuchus arquitectura kaqpaq 100 ruwaqkuna chaymanta 100 hunu ruwaqkuna hukniray kanku.
Huk tukukuy nota hina, nisaq arquitectura huk hatun impactoyuq rurupa allin ruwayninpi. Mana allin ruwasqa arquitectura rurukunapaq escala kaqpi mañasqa, mayqinchus ancha chaninniyuq pantayman pusakun chaymanta rantiqkuna mana suyanqakuchu sistema escala ruwachkaptiyki, paykuna huk atipanakuqta akllanqaku, chayrayku ñawpaqpi kanayku tiyan atikuq escalacionmanta. Aunque admitini wakin kuti mana huk enfoque magro kayta atisqanmanta, yuyayqa huk sistema escalable ichaqa mana escalasqañachu kay. Huknin kaqpi, huk ancha sasachakuyniyuq chaymanta yaqa escalayuq sistemayuq kay mana rantiqkunayuq utaq plankunayuq achka paykunamanta chaskinaykipaq qullqita negocioykipi qullqita qusunki mana imapaq.
Huk tecnologia pila akllaypas huk macro-nivel tanteaymi chaymanta contratacionta, sistema natural evolución perspectivakuna, escalabilidad chaymanta sistema ruwayninta influyen.
Kayqa huk tecnologia pila akllanapaq qallariy qhawaykunamanta lista kachkan:
¿Imaynatataq achka tecnologia pilakunayuq kayqa negocio wiñayninta afectanman?
Huk qhawaymanta, huk pila aswan riqsichiyqa contratacionniyki escalanman, ichaqa wak ladumanta, aswan mantenimiento qullqita apamun iskaynin pilakunata yanapanayki tiyan. Chaymi, ñawpaq nisqa hina, ñuqap qhawariyniypi, extra necesidadlla huk argumento kanan tiyan aswan tecnologia pilakuna churanapaq.
Ichaqa, ¿imataq kanman huk sasachakuypaq aswan allin herramientata akllaymanta kamachikuymanta?
Wakin kutiqa mana huk akllanayuqchu kanki aswanpas musuq yanapakuykunata apamunki huk sasachakuy allichanapaq ñawpaq rimasqanchik kikin qhawariykunapi, chayhina kaqtinqa, aswan allin allichayta akllayqa allinmi.
Mana hatun acoplamientoyuq sistemakuna ruwayqa huk tecnologia específica kaqman huk sasachakuy kanman. Chaywanpas, allinmi kallpachakuy huk condicionpaq maypichus sistema mana allintachu tecnologiawan tupachisqa kachkan, chaymanta mana wañunqachu sichus paqarin, huk específico marco utaq herramienta vulnerable utaq manaña llamk'achisqaña kanman.
Huk importante qhawayqa kichasqa-qullqa chaymanta propiedad software dependenciakunawan tinkisqa kachkan. Propietario software aswan pisi flexibilidadta qusunki chaymanta atiyta sapanchasqa kayta qusunki. Chaywanpas, aswan peligroso factorqa ranqhaqpa wichq'ayninmi, maypi huk ranqhaqpa rurunkunamanta, chaninkunamanta, términosninmanta chaymanta ñan hojamanta hapipakunki. Kayqa peligroyuq kanman sichus ranqhaq ñanta tikran, chaninkunata yapan utaq ruruta saqipun. Kichasqa qullqisapa software kay riesgota pisiyachin, huk sapalla entidad mana kamachisqanrayku. Tukuy patakunapi huklla mana allin ruway chinkachiyqa, wiñananpaq confiable sistemakuna hatarichinapaqmi.
Huklla pantay punto (SPOF) nisqaqa huk llamk'anap mayqin rakintapas riman, mana allin kaptinqa, tukuy llamk'anata manaña llamk'achinqachu. Tukuy patakunapi SPOF nisqakunata chinkachiyqa ancha allinmi mayqin sistemapas hatun tarikuyniyuq kananpaq. Tukuy imapas, yachay, llamkaqkuna, sistema componentekuna, puyu quqkuna chaymanta internet cablekuna, pantayta atinku.
Kanmi achka técnicas básicas nisqakuna churasunman sapalla puntokuna pantayniyuq kaqta chinkachinapaq:
Kay qillqasqapi, achka aspectokuna Macro clave kaqmanta rimarqayku chaymanta imayna complejidadninkuta atipachwan.
Gracias leesqaykimanta! ¡Qhipa kutipi tupanakusun!