Conceptual Model
How CodeNOW's architectural entities work together to implement your application design.
Development teams identify the functional requirements, non-functional requirements, and constraints of their application. These define a target architecture, which is then turned into a CodeNOW design using the platform's core entities:
Components
Independent, generally stateless units of development. Each component is owned by a single team or developer and can be connected to managed services.
Managed Services
Stateful services (e.g., PostgreSQL, Kafka) that components use for storage, messaging, and more. Tied to a cluster and sharing its resources.
Applications
A virtual envelope over a set of application components (microservices) that represents the full experience and business feature set for end users. Deployed to environments within a cluster.
Clusters
Independent units of infrastructure providing full isolation. Run on dedicated compute nodes across any cloud provider (AWS, GCP, Azure, or private cloud).
Functional Requirements
Components — stateless modules developed by a single team. Can be connected to managed services to implement stateful microservices.
Managed services — address common needs like persistent storage and distributed communication. Tied to a cluster and sharing its resources.
Libraries — reusable packages that gather cohesive functionality. Used by components but not independently deployable.
Non-Functional Requirements
Applications provide runtime deployment configuration (replicas, memory, CPU) to address availability, performance, and scalability needs.
Clusters provide infrastructure isolation by running on dedicated compute across cloud providers. Applications in different clusters share no resources.
Environments (dev, staging, prod) are tied to clusters. Deploying to different environments routes workloads to different clusters.