D for microservices

Jacob Carlborg doob at me.com
Mon Oct 23 12:08:52 UTC 2017


On 2017-10-22 04:48, Joakim wrote:
> I just read the following two week-old comment on the ldc issue tracker, 
> when someone tried to run D on Alpine linux:
> 
> "For now everything works(?) but I think the process could be improved.. 
> Would be really cool to have LDC easily building alpine containers + 
> static D binaries for microservice and tooling development. I'm pretty 
> tired of reading Go code :)"
> https://github.com/ldc-developers/ldc/issues/2341#issuecomment-334626550
> 
> It strikes me that microservices are a great way for new programming 
> languages like D to get tried and gain some uptake, but that D might not 
> be that easy to deploy to that scenario yet.
> 
> So this is a question for those deploying microservices, as I'm not in 
> that field, what can the D devs do to make it as easy as possible to get 
> D microservices up and running, make some Docker and Alpine containers 
> with ldc/dub/vibe.d preinstalled publicly available?  What else, what 
> kinds of libraries do you normally use?
> 
> This is a niche that D and all newer languages should target. How do we 
> do it?

* Support full static linking using DMD, which requires the TLS 
implementation to be modified
* Support musl as the standard C library, I've discussed that before [1]
* Database drivers for the common databases (PostgreSQL, MySQL, SQLite) 
compatible with vibe.d
* Database driver abstraction on top of the above drivers, perhaps some 
lightweight ORM library
* RabbitMQ library compatible with vibe.d
* Serialization to/from JSON and YAML
* Official Docker images with DMD and LDC wouldn't hurt
* Pre-compiled DMD that works on Alpine. Fully statically linked DMD 
would help here

That's what I can think of for now.

[1] http://forum.dlang.org/post/nhem1l$1ee3$1@digitalmars.com

-- 
/Jacob Carlborg


More information about the Digitalmars-d mailing list