It’s raining today here in Pordenone (Italy) and the news has just begun to give us hope of winning the fight against COVID-19 which blew out its first candle in the past few days.
As a Company Founder, I’ve faced a lot of challenges over the past year, but I’ve been lucky enough to have faced them all, and grown as an entrepreneur, and that means winning for me. One of the things that makes me proud of what we’ve done in 2020 is especially having launched our newest startup: GlueSync.
Want to know more about it? Happy to invite you to jump into this new series of posts in which I’m going to cover its purpose, tips, how-to’s and guide you through many uses cases we faced with customers and the path we have followed to lead them to success.
What is it?
GlueSync is our real-time and native Couchbase to SQL databases connector. Currently compatible with both Microsoft SQL Server and Oracle Database (more coming soon… 😉), it helps you achieve the goal of natively offloading data to and from the famous NoSQL database Couchbase, our main technology partner since 2015.
What does “real-time” mean?
Real-time in information technology is a long discussed topic. Couchbase SyncGateway and its ability to replicate changes made in mobile to the server cluster is a good example of what Real-time means to us: data comes on the other end magically as soon as you have an internet connection and it syncs fast, “in the blink of an eye” I would say. Achieving this ability is challenging and we like challenges especially ‘cause we care a lot about customer experience. Our vision when we decided to move into the development of that product was to bring into the market a new way of pumping data into the mobile apps we were developing for our customers mimicking the same experience we are fun of the real-timingness hassle-free sync of the SyncGateway. We started in that way willing and achieving that goal of syncing data from RDBMS to Couchbase as soon as we are notified about a change, reacting to events is the pattern we followed on both sides.
Since we don’t like importing data from one system to another via CSV or custom scripts, we don’t like switching from a legacy system to a new one on nights or weekends, and we also don’t like putting the system under maintenance that occurs during downtime or just indeterminable maintenance windows. So now you know the story.
What does “native” means?
Native to us at MOLO17 means developing by having a deep understanding of the technology we are dealing with. However, there is a way to provide the best support in a technology if you are not the ultimate expert in it, identify the most qualified technology partner and understand its potential.
That’s why we started this journey with Couchbase: as a recognized advanced partner (see our talk at Couchbase Connect last year on Medical emergency) we use their NoSQL database in our product and customer projects, every day.
The knowledge goes in place when we deal with specific functionalities provided by the vendor as their industry standards: we’re talking about things like the SyncGateway, indexes, collections, eventing service and many others currently in the present and even more upcoming in the future.
We always want to get the best performances as possible and also avoid to deal with custom implementations that lead in frequent breaking changes due to non-public APIs or methods that are not long-term supported.
In the long journey we went through during the development phases of the product we decided to support two main native features of Couchbase to sync the data with:
- SyncGateway protocol
- Eventing service
This came in place firstly in 2018 due to our value proposition for the mobile world and the response to needs from customers that already had this component in their architecture.
Support for the eventing service has been introduced to bring compatibility also for those who do not have the SyncGateway in place in their architecture but not only: has been one of the key differentiating elements from others connectors.
Supporting them all together
If you know SyncGateway you know that it is attached to a bucket in which it performs all the needed operations for syncing your mobile app’s data with your server cluster. In a mixed environment in which there’s both a SyncGateway for the mobile and server-side applications consuming the data in the bucket with the server SDKs we managed to avoid loops and all the bad things that can happen when having many concurrent accesses to the same bucket. GlueSync eventing functions have been crafted jointly with Couchbase product experts.
Security in mind
Another point, always discussed in front of the customer’s IT staff but also forgotten by the most marketing storytellers is Security. With capital S, yes. We designed GlueSync with that principle in mind, no data is stored inside the connector, no process knows what the data being transferred means, it just takes care of the consistency of each transaction storing the incremental checkpoints it has reached. Logs can be customized by yourself or via our support team, in that way only the info needed to monitor what is happening under the hood will be logged in the console or in your log storage location. Want them encrypted? No problem at all.
Even the configuration files are kept secret: in an orchestrated environment, such as a Kubernetes one, they are normally stored in its Secrets.
GlueSync is the perfect solution for offloading data that currently relies on legacy databases moving it to the modern NoSQL database Couchbase, an easier and de-risked journey to make some steps into the future while cutting your operational costs.
Many are the stories behind this product I would like to tell you about and even more are its capabilities, so keep reading this series for the next story to read about what GlueSync has permitted a customer to achieve in a real-life retail use case.