In the context of the Common Architecture Language Model (CALM), patterns are described as the project's "real superpower." They serve as a mechanism for architects to convey specific architecture opinions to developers, who then use these patterns to create architectures for their specific business problems.
- Defining Expectations: Patterns allow architects to specify exactly what is required for a deployment. For example, an MCP (Model Context Protocol) server deployment pattern might include interfaces for container image names and ports.
- Constraints and Consistency: By defining specific requirements within a pattern, architects ensure that downstream implementations remain consistent. This allows for the creation of a "secure pattern" that can be used to deploy various services (like different APIs) while maintaining the same security standards.
- Placeholders: When a developer generates an architecture from a pattern, it often includes placeholders (e.g., for an image name or port) that must be filled in before the architecture is considered valid.
Patterns sit at the heart of the CALM development lifecycle:
- Creation: An architect creates a reusable pattern.
- Publication: The pattern is published to CALMHub, a centralized repository for sharing architectural artifacts and standards.
- Generation: Developers use the pattern to generate a specific architecture file (often in JSON format).
- Validation: Tools like
calm validatecheck the generated architecture to ensure all placeholders have been replaced and the design conforms to the pattern. - Automation: Once validated, patterns can be used with CALM Template to automatically generate Infrastructure as Code (such as Kubernetes manifests or Terraform), documentation, and even knowledge bases for AI co-pilots.
- Scalability and Reuse: Patterns enable massive reuse of architectural designs. For instance, Morgan Stanley manages over 100 APIs using only three distinct connectivity patterns.
- Security Integration: Patterns help "close the loop" between architecture and production by ensuring that necessary security controls—such as micro-segmentation to prevent tool-chaining attacks—are automatically wrapped into the deployment mechanism.
- Measurable Architecture: By moving architecture from a "whiteboard" concept to a structured pattern, it becomes something measurable and controllable that can act as a "control gate" during the deployment process.