Running in docker containers in the cloud

138 views
Skip to first unread message

Adam Scott

unread,
Nov 20, 2023, 1:35:11 PM11/20/23
to narayana-users
Does anyone run production Naryana in the cloud in docker containers (or containerd containers, etc.)?

Will Narayana run in the cloud especially WRT transaction recovery due to the ephemerality of docker containers?

This blog post mentions some difficulties to address, maybe they've been remedied?  https://jbossts.blogspot.com/2022/04/narayana-on-cloud-part-1.html  (could not find a part 2)

TIA,
Adam Scott

Michael Musgrove

unread,
Nov 22, 2023, 6:38:47 AM11/22/23
to narayana-users
Narayana is used with the WildFly application server [1] which runs on OpenShift and there is functionality in the WildFly operator [2] to manage the shutdown of pods when there are prepared transactions still waiting for completion. But we don't have any examples of how to run Narayana, with automatic recovery support, directly in the cloud.

Michael Musgrove

unread,
Nov 22, 2023, 9:23:49 AM11/22/23
to narayana-users
If you don't want to use an application server then Quarkus would be an alternative, I know there has been quite a bit of work invested in the narayana-jta quarkus extension although I haven't used it with OpenShift but you could take a look at their guides and see if provides you with more options than managing your own transaction and recovery manager would. For example, I know that they recently added support for storing transaction logs in database which, for cloud deployments, may or may not be simpler than managing filesystem backed transaction logs.

Adam Scott

unread,
Nov 22, 2023, 10:30:00 AM11/22/23
to narayana-users
Thank you Michael! What do you think about our setup we are exploring? Running on containerized Tomcat with a Postgresql and SQL Server backend? Postgresql would be in the cloud and SQL Server in another datacenter with a network connect to the cloud.

It looks like we have this working on local docker containers with rollback and commit working. But do you see any issues with this architecture?

TIA

Adam Scott

unread,
Nov 22, 2023, 10:34:45 AM11/22/23
to narayana-users

Marco Sappe Griot

unread,
Nov 27, 2023, 9:56:26 AM11/27/23
to Adam Scott, Charles Moulliard, Thomas Qvarnstrom, narayana-users
Hi Adam,
I would add @Charles Moulliard and @Thomas Qvarnstrom in the discussion that are from the Spring Boot team.

Kind regards,
Marco

--
You received this message because you are subscribed to the Google Groups "narayana-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to narayana-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/narayana-users/24fab082-ca4f-4c35-bcbd-0afadf050a4an%40googlegroups.com.

Marco Sappe Griot

unread,
Dec 15, 2023, 6:21:49 AM12/15/23
to Thomas Qvarnstrom, narayana-users, Adam Scott, Charles Moulliard
Hi Thomas,
thank you for answering this email. I added you and Charles because Adam wrote "We went down this path as Narayana is mentioned here: https://docs.spring.io/spring-boot/docs/2.0.x/reference/html/boot-features-jta.html#boot-features-jta-narayana" (see the full discussion).
Furthermore @Adam Scott  wrote
Running on containerized Tomcat with a Postgresql and SQL Server backend? Postgresql would be in the cloud and SQL Server in another datacenter with a network connect to the cloud.

It looks like we have this working on local docker containers with rollback and commit working. But do you see any issues with this architecture?
 
and I would like to ask Adam some more questions:
- Do you mean Spring Boot when you said containerized Tomcat? Or a different framework implementation?
- Could you clarify more about your architecture? How/Where do you persist your transaction data?

Thanks,
Marco

On Tue, Dec 5, 2023 at 2:09 PM Thomas Qvarnstrom <tqva...@redhat.com> wrote:
I'm not sure how we can help here. I don't see any references to Spring Boot before this in the thread. Generally speaking I guess we can answer like this: Narayana is used in container based cloud environments in several production environments and when configured correctly it's a key component in some of big products used by a lot of high profile companies. I don't think we can answer if it's used in a lot of similar setups as described here and if it's a feasible solution is probably something that the Narayana experts will have to answer.

Best regards
Thomas

Adam Scott

unread,
Dec 15, 2023, 9:59:14 AM12/15/23
to Marco Sappe Griot, Thomas Qvarnstrom, narayana-users, Charles Moulliard
Yes, our setup is with spring boot running in tomcat running in a container.
We are using PostgreSQL to store the transaction log instead of a persistent volume (PV) in k8s.

Thank you,
Adam



Michael Musgrove

unread,
May 13, 2024, 6:48:41 AMMay 13
to narayana-users
Adam, I think we have provided enough information on the narayana support for this, basically we don't support it directly and you would need to rely on one of the integrations do provide the behaviour you need.
Reply all
Reply to author
Forward
0 new messages