nicolgit / whoiswho

azure WhoIsWho engine
MIT License
4 stars 2 forks source link

Compile Microsoft Hackathon Project Sections #63

Closed liguori closed 2 years ago

liguori commented 3 years ago

The section is: HOW IT WILL WORK / HOW IT WILL BE BUILT

liguori commented 3 years ago

@nicolgit in the meanwhile the Hackbox team is solving the issue with the portal, I have started to write the following draft. During our next meeting we can integrate it with you architecture Visio and extend the description:

HOW IT WILL WORK / HOW IT WILL BE BUILT

Who Is Who allows you to index all your IT assets, some examples of existent supported objects type are: • Azure Resources • Azure Active Directory Users, Groups and Devices • Microsoft 365 Items: Sharepoint Collections • Azure DevOps/ GitHub repositories • Others: you can extend the solution with custom third pary assets type provider

The Who Is Who app completely relies on the full-text search to find all you need and retrieve the relationships between the different assets.

The solution is completely based on the Azure cloud and is designed in a scalable and extensible way.

The main components are:

  1. WhoIsWho Web Application: this is a SPA created with Angular that gives to the end-user the perfect UI to explore all the information he/she needs
  2. Data Provider: these are Azure Functions written in C # that integrate with the various asset providers, timed execution allows you to have an always up-to-date situation. The project includes some built-in implementations (Azure Resources, AAD Users, Groups and device, Microsoft 365 Sharepoint Sites, GitHub / AzDevOps repos, etc.) but third-party providers can be integrated by implementing new functions that exploit the programming model
  3. Database: created with Azure Storage Tables represents the storage area for the information retrieved by the various provider
  4. Search index: created with Azure Cognitive Search, it represents the search index of the assets displayed by the WebApplication. It index the data from the Azure Storage Tables
  5. Data Synchronizer: this is the component that updates the source of the search index with the informations received from the various providers
  6. Monitoring: based on Azure Monitor and Application Insights allows to monitor every single component listed above

Software development is managed through GitHub and a full DevOps approach as well as infrastructure as Code allow you to deploy the solution on any Azure tenant through existing GitHub actions.

nicolgit commented 3 years ago

@liguori please create a how-it-works.md page and put everything there.

my feedback is to remove the numbered bullet points and use just "*" add 2 more sections where you describe the architecture /marketing/architecture.png (there you could use numbered bullet points aligned to the picture) and the entity and relations /marketing/entities-and-relations.png