Ensono Stacks Documentation

website·Indexed 35 days ago

https://stacks.ensono.com/

Developer documentation for Ensono Stacks workloads, featuring guides for Java Spring Boot REST API applications, .NET Core backend security and contract testing, and Azure data engineering platforms. Includes technical details on CQRS architecture, Maven build profiles, the Datastacks CLI, and the deployment of data processing pipelines using Microsoft Fabric Lakehouse and Medallion architecture.

Tokens
81.8K
Snippets
378
Records
599
Agent score
51%

What's inside Ensono Stacks

  1. Overview of Ensono Stacks

    Ensono Stacks is a cloud-native software factory designed to increase project predictability and accelerate deployment through a catalogue of workload templates, package management, and example implementations. It provides a foundation for developers to quickly launch projects using reliable, tested code.
  2. Overview of Ensono Stacks Java Spring Boot REST API Sample Application

    The Ensono Stacks Java Spring Boot REST API application is a sample project demonstrating best coding practices, CQRS (Command Query Responsibility Segregation) architecture, and integration with cloud services. It is modeled as a restaurant menu system where users can manage Menus, Categories, and Items.

    Cloud-specific integrations include:

    • Azure: Uses Application Insights for performance management and Cosmos DB for persistence.
    • AWS: Uses AWS XRay for performance management and DynamoDB for persistence.
    {
      "id" : "296b3d1e-c8f0-4958-8138-bf191f633cbc",
      "restaurantId" : "a6f6a3e0-7a4c-4c0a-b7cf-6115b624c2e7",
      "name" : "Restaurant Menu",
      "description" : "Restaurant Menu Description",
      "categories" : [ {
        "id" : "ab6df204-572b-46ef-b5b5-75a6a6b47882",
        "name" : "Main Menus",
        "description" : "Main meals",
        "items" : [ {
          "id" : "5a63d477-11a6-454b-902e-f3794b723f0e",
          "name" : "Lasagna",
          "description" : "Pasta Item",
          "price" : 13.56,
          "available" : true
        } ]
      } ],
      "enabled" : true
    }
  3. Overview of Ensono Stacks data ingest workloads

    Data ingest workloads in Ensono Stacks are jobs designed to connect to external data sources and land data into the Bronze (raw) layer of the data lake. They utilize Azure Data Factory's (ADF) inbuilt connectors and Copy activity. The process is metadata-driven, allowing developers to add or modify entities from a data source by updating configuration files rather than rebuilding pipelines. Optionally, a data quality validation step executed in Databricks can be included.
  4. Overview of Nx in Ensono Stacks

    Ensono Stacks utilizes the Nx build system for Client-Side Rendering (CSR) and Server-Side Rendering (SSR) frontend web applications. Nx provides a framework to accelerate development through a common developer experience, optimized builds, and integration with Ensono Stacks infrastructure and pipelines.
  5. Overview of Ensono Stacks data processing workloads

    Data processing workloads in Ensono Stacks are designed to transform, cleanse, model, or aggregate data within a data lake. They typically follow the medallion architecture, moving data from Bronze to Silver and Silver to Gold layers. These workloads take various input formats (CSV, Parquet, JSON, Delta) and output the results into a structured Delta Lake format. They are implemented as Python PySpark jobs executed on Databricks and utilize the Stacks Data Python library for standardized tasks. Optionally, these workloads can include data quality validation steps.
  6. Overview of Ensono Stacks

    Ensono Stacks is an open-source project that automates the setup of software development projects using infrastructure-as-code. It is designed to reduce the time spent in 'Sprint 0' (the initial phase of provisioning environments, pipelines, compute, and test frameworks) from weeks to an hour or less. It provides pre-configured, low-risk combinations of technologies based on Ensono's delivery experience.
  7. Overview of Ensono Stacks Azure Core Infrastructure resources

    The core infrastructure serves as the foundation for all Ensono Stacks Workloads. By default, the deployment pipeline creates two environments: nonprod and prod. The following resources are provisioned per environment:

    • Networking: Virtual Network, Public IP, Internal DNS Zone, Public DNS Zone, and dedicated subnets for Application Gateway (AGW) and AKS (k8s).
    • Compute & Orchestration: Azure Kubernetes Service (AKS), VM Scale Set for nodes, and a dedicated Resource Group for the Node Pool.
    • Traffic Management: Application Gateway (web traffic load balancer), Internal Load Balancer (used with NGINX ingress), and NGINX Ingress (namespace, deployment, and service).
    • Storage & Security: Azure Container Registry (ACR), Key Vault (secrets management), and Managed Identity (with aadpodidentity binding).
    • Monitoring: Application Insights (APM) and Log Analytics Workspace (container insights).
  8. Overview of Ensono Stacks Data Platform shared resources

    The shared resources for the Ensono Stacks Data Platform consist of Azure Data Factory components shared across pipelines. These include:

    Linked Services:

    • ls_ADLS_DataLake: Connection to the Data Lake.
    • ls_Blob_ConfigStore: Connection to the config storage location.
    • ls_Databricks_Small: Connection to Databricks job cluster (default 2 fixed workers).
    • ls_KeyVault: Connection to Azure Key Vault.

    Datasets:

    • ds_dp_ConfigStore_Json: Used for reading JSON data from ls_Blob_ConfigStore.
    • ds_dp_DataLake_Parquet: Used for writing Parquet data to ls_ADLS_DataLake.

    Pipelines:

    • pipeline_Get_Ingest_Config: Retrieves configuration data for use in a pipeline.
    • pipeline_Generate_Ingest_Query: Generates a query for ingesting data.