Device Sync and Edge Server are Deprecated

What is the pricing? I see Capella’s pricing (very expensive compared to Realm once you get above the 1-node plan) but I don’t see any pricing for Couchbase Enterprise. It just says “contact sales” and I really don’t want to talk to sales guys.

From what I heard, if your customers can live without replication, in a case of server outage, you can work with the free trier Capella.

Meeting Capella was a delight ( I do understand your skepticism ), but I was more than pleasantly surprised. I think they are coming around on the idea of offering smaller cluster instances similar to Reaml’s 2x2. One big difference in their favor is that all instances are read-write, spreading the load.

That said, I expect to pay slightly more than the bare minimum we did with Mongo, but I have a lot more confidence in my ability to do more with the database. Hosting my one open-source Couchbase cluster is not that hard in case it is needed. I still have dormant AWS EC2 instances from last year with Couchbase and Gateway on them.

For our 600-700 concurrent connections right now, the free tier will do just fine. We are waiting on the option of a small two-node cluster on AWS. The cost of the servers will be paid upfront for the year.

1 Like

Is your experience more with Fiirebase RealTime database or Firestore?

Glad you loved the SDK - it was a great project to work on. I’ve been using Realm in my own projects since leaving and am feeling similarly betrayed over the ending of Device Sync!

1 Like

@Nina_Friend

We have been working with Firebase Realtime Database (RTDB) for around 12 years as well as Firestore since it was released. We moved to Realm years ago.

Why? Well, Firebase officially dropped support for macOS back in the day, and our projects are all desktop based so we had to look elsewhere. That position has since changed. We also needed multi-tenant support and at the time, wasn’t something that could be implemented in the Firebase world without a lot of effort.

1 Like

Looking into Firestore as well but wonder how good the offline experience is. Its not ment to be used offline first off course.

It should be better now they have some local indexing going on. Also found a tool rxdb that should make Firebase offline-first. Anybody has experience with that?

Worth looking into but mostly looking forward to see how good Convex is able to make their offline-first experience.

After an irresponsible update,
I will never use MongoDB again in this life.
Thanks to you, I fell in love with postgresql

3 Likes

@Joost_van_Aarle As you noted, Firebase is an online first database which makes it quite the opposite from Realm. I want to stress that it really is an online first database - the offline component is for situations where connectivity is briefly interrupted.

For example being on train when you are working with an app and the train goes through a tunnel and interrupts the connection. You can continue to work with the app during that time uninterrupted and it will sync back up once connection is restored. It’s not designed for continual offline usage.

Because it’s online first, it’s highly scaleable so there’s never really a concern about dataset size - rxdb provides a lot of offline functionality not available as a online database, however, scaleability is then a consideration. The downside is documents can never be deleted and there are some limits on filtering. Pretty cool app though.

I went to look at Couchbase and was disappointed to find this as well. I need an offline-sync solution for a Maui hybrid app. (Have an MVP using Realm but obviously that’s now out the wndow.)

Just my 2p’s worth…

We have a MAUI app, thankfully not in production yet, so less of a headache.

I like Couchbase on paper, but unless I’m reading their latest filings wrongly, they are also losing money. That concerns me. I’ve just been burnt here.

Firebase I’m not familiar with, but one of my engineers is. We looked at the nuget firebasedatabase.net. It runs with LiteDb underneath. We had to fork it and make a few permissions changes, but then in early testing got it working well - we didn’t take it further than getting a chat app running cross platform type thing. It may well be a viable solution for some, and hence I raise it here.

We actually decided to roll our own in the end, and we are starting to implement that. I won’t bore you with the details, as frankly it suits us and isn’t a general solution.

CRDTs were also an interesting read, although again, they didn’t suit us, and there didn’t seem to be a nice active .net library, but other languages seemed well supported.

As always, good luck to you all. Last one out, please turn out the lights!

Graham

Would you believe anything they promise from now on?

1 Like

Trust has been utterly destroyed by

  1. Publishing this information before the announcement of alternatives, especially the comprehensive Ditto deal
  2. Giving people only a year to rewrite entire products.

Anyone paying attention in the dev tools space could have seen the backlash against Microsoft’s cancellation of Xamarin Forms for MAUI with a similarly tight deadline.

You have done Ditto no favors either as they have to rapidly ramp up to deal with this.

1 Like

That’s not entirely true.

Yes, I think it’s very early stage as a replacement for DeviceSync and I think MongoDB stupidly blind-sided them. As others have commented, they could have worked to build up a strong alternative body of examples with Ditto and other plausible vendors and announced them in parallel. That would have avoided the loss of trust backlash.

However, Ditto is very far from being an early stage company.

The founders created Ditto as a reaction to the business strategies that Realm got wrong and put them out of business, ending up at MongoDB.

They took their time to build close business relationships with clients who:

  1. could actually pay for product,
  2. had real un-met needs and
  3. would serve as very plausible examples for other organisations

This is like a business-school case study on how to build a robust business, not the speculative VC-backed flameout that happened at Realm.

I was on the C# SDK team at Realm, leaving after we shipped v1. Even in the early days of Realm Sync, I frequently expressed my profound doubts about their strategies and neglect of basics needed by app developers. Solid case studies with mundane account management and authentication were neglected in favour of demoware of sync speed. (I wrote one of the latter myself - a realtime drawing board app published on Azure & guest-blogged at Microsoft).

Give the folks at Ditto a bit more time to find their feet.

1 Like

@Andy_Dent Time is a luxury none of us have. We don’t have a year to build a replacement; we have about six months. Because the SECOND six months needs to be devoted to testing and bug-fixing whatever new solution we choose.

And Ditto may have a great sync product. But the magic of Realm was the SDKs. Ditto can get raw rows from one machine to another, but that’s only half the battle. They have no built-in support for live objects, auto-updating collections, native SwiftUI integration, etc. Realm had all those things.

Every alternative platform rep keeps blathering about sync but none of them have the magic that Realm had. It’s never been equaled.

And while we’re looking backwards, what a MASSIVE miss this is for Apple. Can you imagine if Apple—instead of MongoDB—had acquired Realm and used it to replace Core Data? What a world that would be.

I had to stop acquiring new customers for my bootstrapped startup because of this depreciation. I already have a branch completely migrated to the Ditto platform, but I’m still anxiously awaiting the pricing and the bidirectional connector to test. I’m lucky enough to have a small software with about 20 collections.

Ditto seems promising and I really like the SDK, but MongoDB’s positioning in the face of all this seems very disrespectful to me. Now I have fixed and possibly higher costs and I have no confidence in putting people on my sinking ship.

@Informativos_Agricola Have you really tested Ditto yet? For example, here’s their docs on change observations: Observing Data Changes - SDK v4.8

Two things:

  1. They ominously say change observers “run continuously in the background.” Do you see a spike in CPU/resource usage? How many observers have you run simultaneously? Realm’s live objects/collections incurred no background penalties.

  2. The change handlers are dumb: they just dump an entire new set of rows on you and require you to figure out what has changed. Realm told you exactly which positions were added, updated, and deleted.

Ditto seems pretty raw to me.

You might be surprised who is out there, but we’d need funding.

Yeah, I’m very much aware of that. Even after 7 years absence, I’m still contributor #3 on the C# SDK :wink: and I’ve got two Swift products using Realm local.

I put a lot of effort into a now-cancelled product over the last couple of years including publishing an extended Flexible Sync example for Xamarin Forms apps GitHub - AndyDentFree/MADsyncily: MongoDB Atlas Device SDK explorations (formerly the Realm mobile database)