Skip to content

Commit 7c415c6

Browse files
committed
docs: key features
1 parent 35394ec commit 7c415c6

1 file changed

Lines changed: 62 additions & 17 deletions

File tree

docs/overview/key-features.md

Lines changed: 62 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,33 +2,78 @@
22
title: Key features
33
sidebar_position: 50
44
---
5+
# Key Features
56

6-
# Key features
7+
Flamingock brings **safety, auditability, and developer productivity** into the way distributed systems evolve.
8+
These are the pillars you can rely on today, plus a glimpse of what’s coming next.
79

8-
With Flamingock, you can take advantage of the following features:
910

10-
- 🧱 **Change management of any component**: Manage configuration and data changes with your Application code for any component. NoSQL Databases are a first-class citizen, and we've expanded this capability for any type of component that requires configuration.
11-
:::info
12-
Currently supported languages: Java, Kotlin.
13-
:::
14-
- 🔗 **Extended integrations and custom use case support**: Flamingock enables one-time or repeatable operational processes — such as fetching external data, initializing third-party services, or executing custom logic — ensuring they run safely, just once, and in the right context. It expands on Mongock's support to manage Database changes to all systems, databases, technologies and configurations (ie. Kafka, Twilio, Auth0, etc) or any user-defined scenario.
1511

16-
- 🧩 **Flexible migration Templates**: New mechanisms for defining changes, offering a no-code option to streamline and simplify change management.
12+
### Safety by Default
13+
- If Flamingock cannot guarantee a safe outcome, it stops automatically.
14+
- Prevents silent corruption in production systems and ensures predictable deployments.
1715

18-
- 🚀 **Seamless deployment**: Deploy your application and systems together, ensuring version compatibility and reducing deployment friction.
16+
---
17+
18+
### Change-as-Code (CaC)
19+
- Define changes as **versioned ChangeUnits** that are executed once, safely, and auditable.
20+
- All changes are tracked in the audit store and never silently skipped.
21+
- Guarantees immutability: once applied, a ChangeUnit cannot be modified.
22+
23+
---
24+
25+
### Dual Approach: Code and Templates
26+
Flamingock supports two complementary approaches for defining ChangeUnits:
27+
28+
- **Code-based ChangeUnits**: Full control using Java/Kotlin classes, annotations, and dependency injection.
29+
- **Template-based ChangeUnits**: Declarative, YAML-based changes that reuse shared templates.
30+
31+
:::note
32+
Templates are in **beta**. You can already create and use custom templates, while official ones are still evolving.
33+
:::
34+
35+
---
36+
37+
### Target System Abstraction
38+
- Explicitly declare the **systems you evolve** (databases, queues, APIs, S3, etc.).
39+
- Transactional target systems are executed within transactions where possible.
40+
- Non-transactional systems are safeguarded through audit tracking and rollback mechanisms.
1941

20-
-**GraalVM support**: Enables the compilation of Java applications into native executables for improved performance.
42+
---
43+
44+
### Immutable, Auditable History (Audit Store)
45+
- All executions are recorded in a dedicated audit store, decoupled from business data.
46+
- Provides a **single source of truth** for compliance, governance, and troubleshooting.
47+
48+
---
49+
50+
### Staging and Grouping
51+
- Organize ChangeUnits into **stages** for modularity and separation of concerns.
52+
- Execute subsets of changes independently while maintaining global audit consistency.
2153

22-
- 👥 **Multi-Tenant support (coming soon!)**: Designed to handle multiple tenants within the same infrastructure.
54+
---
2355

24-
- 🔒 **Distributed Locking**: Ensures synchronized deployment of multiple service instances, maintaining consistency and preventing conflicts in distributed environments.
56+
### Startup Synchronization
57+
- Flamingock executes during **application startup**.
58+
- Ensures your service and its dependent systems are aligned before going live.
2559

26-
- 🔄 **Auditing & Rollback**: Comprehensive auditing capabilities with support for rollback of changes to ensure consistency and control.
60+
---
2761

28-
- ☁️ **Cloud offering (coming soon!)**: Offers a fully managed service by hosting Flamingock’s operational data on our servers, removing the need for users to set up and manage their own infrastructure whilst unlocking the full Flamingock suite of features.
62+
### Developer Experience
63+
- Built-in dependency injection for clean and testable change logic.
64+
- Seamless Spring Boot integration with minimal setup.
65+
- GraalVM support for native image compilation.
2966

30-
- 💻 **Management Operations via a Dashboard and CLI (coming soon!)**: Flamingock offers tools to simplify Operational management tasks. Some of these example are: List history of changes, execute Rollbacks, Undo deployment, Audit, etc. Additionally, offers a Dashboard with metrics and alerts.
67+
---
3168

32-
- 🛠️ **Advanced Workflow Management**: Enables multiple streams of change units that can be organized to execute sequentially, in parallel, or as a combination, providing flexibility in managing complex processes.
69+
### CLI
70+
- A lightweight CLI is available today for **maintenance and recovery**.
71+
- Capabilities include:
72+
- Listing the history of executed changes
73+
- Auditing change status
74+
- Managing fixes in recovery scenarios
75+
76+
---
3377

34-
- 🔀 **Parallel Synchronised Execution**: When workflows include parallel streams, they can be executed simultaneously by different service instances, maximizing efficiency in distributed deployments.
78+
### What about the Cloud Edition?
79+
The **Cloud Edition** is coming soon, extending Flamingock with **additional enterprise-grade features**.

0 commit comments

Comments
 (0)