A years worth of work… just gone. One simple misunderstanding of how the software worked. It was all gone. No backups. It's the cloud. You shouldn't need backups. SaaS offerings do that for you, right?
Hello Shopify Unfortunately, not in the case of Shopify. One of the nice things about Shopify, is that they allow for external parties to build tooling and sell their wares to “enhance” the Shopify platform. This also has a downside to it.
A little bit ago, a friend and I attended a RedHat event here in Montreal. Part way through one of the talks, an app was mentioned and demonstrated that had the “Oh! That's pretty close to what I was thinking”. In this instance, it was Apicurio. They let you design your API using a GUI builder which produces an OpenAPI spec file. I love this idea. We should all be using OpenAPI.
Sometimes we just need “factory” services. I'm not talking about the typical Java-style factories you're used to. I'm talking about simple CRUD services for fairly simple data models that feed hundreds, if not thousands of “downstream” processes. Using JSON, one example of an overly simplified data model could look like:
{ "source": { "vendor": "Some Institution", "filename": "file123.xlsx", "correlation_id": "b2eefb6e-779a-4c08-b0a5-006c401ea2fa" }, "some_record_name": "Abc 123", "amount": 1022.41, "different_amount": 99.2, "applicable_date": 1557965341334661013, "created": 1557965202009530561, "created_by": "some_user", "updated": 1557965202009530561, "updated_by": "some_user" } A lot of different teams at a company probably need this data, but not all the teams have shared services nor using services half the time.
It's no secret that I'm in love with Go. It's also no secret that I really, really prefer MongoDB over most other datastores, with the exception of some key/value stores like bboltdb. This is by no means a sales pitch for any of these. At the end of the day, know your tools well and get the job done. I will work with anything that makes sense for the situation. Now… with that said, Go and MongoDB are my goto (no pun intended) for prototyping as well as “get s**t done” (within reason).