Cloud Infrastructure Visibility at Scale: Automated Resource Discovery and Interactive Topology Mapping

Onderzoeksvraag en methodologie

De centrale onderzoeksvraag luidt: “Hoe kan een functionaliteit worden ontwikkeld die een visuele representatie van cloud infrastructuur genereert, zodat de gebruiker een helder overzicht heeft van zijn infrastructuur en hoe de verschillende componenten met elkaar verbonden zijn?”

Deze vraag is bijzonder relevant omdat veel organisaties werken met onder-gedocumenteerde omgevingen of infrastructuur die (deels) buiten Infrastructure as Code-systemen valt, waardoor handmatig inzicht op schaal praktisch onmogelijk is.

Onderzoeksopzet en technieken

De studie volgt een driedelige methodologie, gebaseerd op praktische haalbaarheid en business-driven requirements.

Ten eerste zijn semi-gestructureerde interviews gehouden met drie interne Stakeholders — de Product Owner, Business Supervisor en Lead Platform Engineer — om kritische informatie prioriteiten vast te stellen met behulp van de MoSCoW-methode. De Stakeholders benadrukten dat het aantonen van technische haalbaarheid en het identificeren van aandachtspunten voor verdere ontwikkeling belangrijker waren dan een verfijnde gebruikersinterface, passend bij het onderzoeksdoel van het project.

Ten tweede is een systematische technologie-evaluatie uitgevoerd van vijf kandidaat-tools — CloudMapper, Steampipe, AWS Resource Explorer, InfraMap en CloudQuery — op basis van criteria zoals actieve onderhoudsstatus, open-source karakter, multi-cloud ondersteuning en mogelijkheden voor hiërarchische groepering. Op basis van deze analyse is Steampipe geselecteerd als data-collectie-engine, vanwege de cloud-agnostische architectuur, het volledig open-source plugin-ecosysteem en de kostenefficiënte werking met native AWS Resource Explorer-integratie.

Ten derde is Cytoscape.js gekozen als visualisatie-library, vanwege de gespecialiseerde graph-rendering capabilities, native ondersteuning voor compound nodes (voor hiërarchische representaties) en de bestaande expertise binnen het development team.

Resultaten: afwegingen tussen geautomatiseerde discovery en resource-heterogeniteit

De proof-of-concept heeft de technische haalbaarheid voor kern use-cases rondom infrastructuur visualisatie overtuigend aangetoond. De SQL-gebaseerde query abstractie van Steampipe bleek effectief in het identificeren van uiteenlopende AWS resources — zoals Virtual Private Clouds, subnets, EC2-instances en S3-buckets — verspreid over meerdere regio’s en availability zones. Relaties tussen security groups maakten het mogelijk om geautoriseerde netwerkcommunicatie tussen compute-instances nauwkeurig in kaart te brengen via een uitgebreide SQL-query die ingress rules analyseerde en kruisverwijzingen tussen security groups identificeerde. Cytoscape.js visualiseerde deze relaties op intuïtieve wijze met interactieve, hiërarchische grafen, ondersteund door het cola.js force-directed algoritme om overlap te voorkomen en de leesbaarheid bij complexe topologieën te behouden.

Tegelijkertijd kwamen belangrijke beperkingen aan het licht bij pogingen om resource-identificatie te generaliseren buiten virtual machines. De onderzoekers verkenden network interfaces (ENI’s) als een universeel discovery-primitief, vanuit de hypothese dat alle resources binnen subnets ENI’s blootstellen die gekoppeld kunnen worden aan parent resources. Hoewel deze aanpak goed werkte voor EC2-instances — waar het veld [attachedinstanceid] directe parent-relaties biedt — bleek deze problematisch voor andere resource types. EFS- en Lambda-resources bevatten identifiers uitsluitend in beschrijvingsvelden, wat fragiele regex-extractie vereist, terwijl RDS-instances in geen van beide velden een identifier bevatten. Hierdoor werd parent-linking onmogelijk. Deze bevinding laat zien dat AWS resource metadata geen consistente patronen hanteert over resource types heen, wat generieke discovery-aanpakken fundamenteel beperkt.

Kritische implicaties en architecturale afwegingen

Het onderzoek laat zien dat cloud infrastructuur visualisatie een balans vereist tussen drie concurrerende doelstellingen: geautomatiseerde resource discovery, hiërarchische semantische representatie en afstemming tussen tool en gebruiker. Dit onderstreept dat architecturale keuzes tijdens infrastructuur introspectie direct bepalen welke vormen van visualisatie downstream mogelijk zijn.

Toekomstpad: multi-cloud strategie en resource-abstractie

Het onderzoek concludeert dat succesvolle multi-cloud resource-visualisatie afhankelijk is van het identificeren van generieke abstractie-primitieven — zoals VPC’s/VNETs, subnets, firewall rules, compute-instances en storage services — die consistent zijn over cloudproviders heen. De plugin-architectuur van Steampipe voor AWS, Azure en GCP biedt hiervoor een solide basis, aangezien deze platforms vergelijkbare resources exposen. Azure Network Security Groups en GCP VPC Firewall rules weerspiegelen bijvoorbeeld AWS security groups, waardoor vergelijkbare detectie van verbindingen mogelijk is. De studie adviseert om open-source en cloud-agnostische tooling als leidende principes te hanteren om vendor lock-in, kosten en architecturale complexiteit beheersbaar te houden.

Toekomstig werk zou zich moeten richten op drie prioriteiten: het ontwikkelen van alternatieve discovery-strategieën voor problematische resource types zoals RDS, het implementeren van visualisaties voor availability zones die multi-parent-relaties ondersteunen, en het benutten van VPC Flow Logs om security-group-gebaseerde connectiviteit mapping aan te vullen met daadwerkelijk waargenomen netwerkverkeer. Het onderzoek concludeert dat volwassen infrastructuur visualisatie niet draait om het najagen van volledige feature coverage, maar om het accepteren van architecturale beperkingen en het bouwen van gelaagde abstracties die gecontroleerd degraderen wanneer perfecte semantische representatie niet haalbaar is.

Download
Privacy Overview
This website uses cookies. We use cookies to ensure the proper functioning of our website and services, to analyze how visitors interact with us, and to improve our products and marketing strategies. For more information, please consult our privacy- en cookiebeleid.