968 karma · joined February 22, 2014
Building @SwiftCloudApp
https://swift.cloud
https://github.com/AndrewBarba
http://abarba.me
- We lost two tweeters (7 down to 5)
- We lost two mics (6 down to 4)
Really curious how the sound compares to the original.
And short answer - Yes.
My guess is it's a matter of 'when' I have to deal with this. I've had the domain for a while, and this is something I've wanted to build for such a long time. Things fell into place when I was able to build a Swift SDK for Fastly's platform back in January this year. The stubborn engineer in me went ahead and used the domain anyway and launched what you see today.
Behind the scenes we compile Swift to WASM and deploy to Fastly's edge network, Compute@Edge. At my day job we are using this in production and serving thousands of requests per second on our Swift app. Overall it's a lot of fun to deploy Swift on server, but the developer UX still leaves a lot to be desired. Running and testing locally is still non-trivial.
One thing I haven't seen with "serverless" databases is an easy way to dictate where data is stored. Mongo has a pretty clever mechanism in their global clusters to specify which regions/nodes/tags a document is stored in, and then you simply specify you want to connect to nearest cluster. Assuming your compute is only dealing with documents in the same region as the incoming request, this ends up working really well where you have a single, multi-region db, but in practice reads/writes go to the nearest node if the data model is planned accordingly.
A real world example of how I am using this in Mongo today: I run automated trading software that is deployed to many AWS regions, in order to trade as close to the respective exchange as possible. I tag each order, trade, position, etc. with the exchange region that it belongs to and I get really fast reads and writes because those documents are going to the closest node in same AWS region. The big win here is this is a single cluster, so my admin dashboard can still easily just connect to one cluster and query across all of these regions without changing any application code. Of course these admin/analytics queries are slower but absolutely worth the trade off.
Disclaimer: I'm a Vercel enterprise customer
https://www.mux.com/blog/survive-cdn-failures-with-redundant...
Swift already uses the space at the end of the function declaration for things like throw and generic constraints. I personally don't see an issue with where it is other than I also write a lot of JavaScript and the context switching between languages might take a couple seconds.
If you use any language long enough you will think, hey it would be nice to have X. Alejandro (in high-school at the time) thought exactly that and implemented it himself - https://github.com/apple/swift-evolution/blob/master/proposa...
You could almost argue the real feature here is how open the community is to additions like this, and there's no need to wait for people at Apple to do it.