Yes, in the Pharo world there are coredumps, logs, serialization of the context of the exception (so you can open a debugger later from another host and see the messages walkback and inspect the values of all objects and its instvars on any step of that wallback), also I've made a RESTful REPL [1] to interact live with headless images and I'm cough secretly working in websocket based IDE.
For the rest I can tell you that:
- The CI doens't have anything special in it, just build and delivers, after many categories of tests, a docker image with the app ready for production.
- Iceberg for a shared repo. Devs usually use one fresh image per new branch to work on. Flow is reasonably approximated to git-flow.
- The app is generally architected as stateless as it can be so it can enjoy undefined horizontal scaling capacity.
Thanks for the reference I didn't knew about that one!
What I'm working on is based on Pharo tho. It's an alternative IDE and accidentally a way to create apps that have multi-platform native look and feel.
- How many developers are working on that codebase simultaneously?
- What is your workflow like? Do you have any sort of CI system? How does it work?
- How does your deployment works? Is it a single beefy machine or a fleet of smaller ones?
- What kind of network protocols do you use? Any code generation?
- How do you deal with errors -- are there equivalents of "coredumps" or "logs" in the Pharo world?