[1] https://observablehq.com/@oavdeev/parallel-task-latency-calc...
108 karma · joined August 28, 2013
[1] https://observablehq.com/@oavdeev/parallel-task-latency-calc...
Besides, without something like Google Sheets or Excel it is not that useful, inevitably you have a ton of small data across the org that is stored in spreadsheets.
One obvious play for Amazon is to just pay a ton of cash and acquire something like Airtable, but they don't seem to be for sale.
Data Studio fits squarely in this market of tools for them, and that space is growing and pretty crowded. There a multiple big businesses built on producing tools just like that, for example Tableau (public company valued at ~10B as of today).
Granted, Data Studio is more basic but it is free and nicely integrates with the rest of Google data product suite (Analytics, Sheets, BigQuery). I don't think it will go away, and I think it is actually the strongest part of google cloud offering (and the biggest gap in AWS cloud product lineup).
To the larger point, while I totally agree with the premise -- most apps will never need to scale beyond one large instance, I'm not exactly sure what's the actual tradeoff is. If you're writing a simple CRUD app, it is not really controversial that it shouldn't need any complex distributed stuff anyway, it is just a simple python/Go app and a data store.
Most "fancy" things outside that single process paradigm, such as avoiding using local disk and using S3/RDS/document stores, using containers for deployment, etc. usually have more to do with making the app operationally simpler and easy to recover from instance failures than scaling per se.
This said, GCPs committed use discounts still seem to be a better deal than convertible RIs.
Looking at the run-of-the-mill 64GB RAM standard instance:
AWS 1yr all upfront: $0.458
GCP commited use: $0.47878
AWS 1yr no upfront: $0.491
GCP sustained use: $0.532
AWS 1yr no upfront convertible: $0.564
edit: confused commited vs sustained use for a second thereBut it does make GCP's storage product naming even more confusing overall (after "Cloud Storage" vs "Cloud Datastore" mentioned above).
We're well-funded, early stage startup in SF. You have a chance to join our team as one of the founding engineers.
Did you know that Amazon Echo is the best selling product on all of Amazon this holiday season? We're building a platform for conversational product search, to make these 450M voice-enabled devices home for brands and big e-commerce players.
If you're a senior machine learning engineer (ideally, with experience or interest in NLP), or a full stack engineer who wants to work on our ML platform -- we'd love to talk to you.
Check out open positions at our website https://alpine.ai/careers/. Happy to tell you more by email oleg@alpine.ai or over a coffee.
Did you know that Echo is the best selling product on all of Amazon this holiday season? We're building a platform for conversational product search, to make these 450M voice-enabled devices home for brands and big e-commerce players.
We're well-funded, early stage startup in SF. You have a chance to join our team as one of the founding engineers.
If you're a full stack engineer who wants to work on our ML platform, or a senior machine learning engineer -- ideally, with experience or interest in NLP -- we'd love to talk to you.
Check out open positions at our website https://alpine.ai/careers/. Happy to tell you more by email oleg@alpine.ai or over a coffee.
* time-based and dependency-based scheduling do not mix well in our experience, if you try to do both at the same time you end up with a very complicated execution model. Luigi is much simpler, it is basically a makefile. To handle time one can just add dummy dependencies where "exists()" function returns true if now()>X, and/or just run the whole thing by cron.
* We heavily use dynamic dependencies in Luigi, where one job decides how many childs to spawn and what parameters to use at run time. Makes it easy to do e.g. mapreduce style jobs purely in Luigi.
However, last time I looked that didn't seem like a use case InfluxDB invested a ton of effort optimizing for, especially if you tried to store a lot of separate "event histories" either as separate measurements or by using tags. By "a lot" I mean 100K-100M histories. It may have improved since.
Besides, there is somewhat fundamental tradeoff between allowing efficient realtime granular writes, which I believe a priority for InfluxDB, and building efficient indexed store for millions of histories/event trails, which is more of a TrailDB use case. Kind of OLAP vs OLTP.
As in this case, no one saw the guy actually skimming cards. Also if he was doing really that, why not hide POS in a bag or his pocket?
edit: Gbps not GBps
It is a very straightforward service, for example it doesn't do retries (done by Luigi), it is not highly available and not distributed. That makes things much easier to maintain, and we don't need HA since jobs inputs/outputs are in S3 anyway. Luigi makes it easy to restart parts of the pipeline if scheduler ever goes down.
Allowing steps to partially succeed seems like adding quite a lot of complexity, and I'm not sure where it would be beneficial.
Anyway, take a look at https://github.com/spotify/luigi, it is basically make-like tool geared toward data pipelines. We are experimenting with it for our data pipeline (which is quite sizeable, ~30TB/day gzipped, thousands of files, a bunch of processing steps) and while it lacks some things, especially in the UI, this approach seems to work quite well.
Nah dude, that's never gonna fly. See, as mentioned in the top comment, no one uses and knows the OS they are developing for nowadays (though only windows users are looked down upon for some strange reason).
It is always more fun to not spend precious minutes reading about how to create an apt package, but reinvent the wheel for the hundredth time and implement another under-featured and buggy package manager in our current favorite language, and then add workaround after workaround to actually make it somewhat close feature wise to apt or rpm (i.e. usable).