Flange Cloud™ FAQ

Application Architecture

What are “perforations” in a Flange application?
Perforations are the metaphorical lines you draw in your application, separating components such as services from each other. For example you place the @ServiceConsumer annotation on a class that accesses a service, and an annotation such as @CloudFunctionApi on the interface of the service. This indicates to Flange a “perforation” which Flange can use to cut apart your application to deploy it cloud-native.
Can I access services across perforations with no considerations of the cloud?
Flange allows you to call services across perforations just as you access any other code in your application and run it locally. Nevertheless you still design your services as if they will be independently-deployed microservices, being mindful of certain architectural constraints that network access inevitably brings:
  • Communicate with your service using discrete, self-contained data. Passing an object that makes references back to the caller's context is not supported, for example. (This is simply good architectural practice and required for any microservice access.) The Java record type is ideal for passing data.
  • Don't assume the response succeeds with no latency. Check for errors, specify timeouts, and provide fallback data where appropriate. The Java CompletableFuture<T> construct is built for such asynchronous commmunication; currently Flange requires a CompletableFuture<T> return type.

Flange Cloud Features

The Flange demo only shows the request/response pattern. Will Flange support queueing and queue-based communication?
Yes, event-based communication, message queues, and publication/subscribe patterns are coming soon.

Flange Cloud Integrations

Does Flange Cloud integrate with third-party observability tools, such as Datadog?
Flange is at an early stage, so we expect initially to prioritize new features. Nevertheless we recognize this need and we are investigating integrations.
Will Flange Cloud work in a CI/CD pipeline?
Flange Cloud is built upon common tool infrastructure such as Maven and annotation processing, so we are designing Flange Cloud will be fully integratable into CI/CD pipelines.