1,581 karma · joined April 9, 2013
Security Engineer at Monzo Bank
The core banking services that actually move money around are isolated from the more "fluffy" customer facing ones that we want to be able to push updates to several times a day. We have to have incredibly rigorous procedures for updating services that control money, if we had a monolithic architecture then these procedures would have to be used even if the change was simply cosmetic.
It is debatable how useful revoking is anyway so I agree that this provides more security, I just wasn't sure (until reply from Sandstorm) whether it would be worth the effort of setting up private key rotation.
I'm not sure I'm convinced that the primary motivation for the 7-day certs was users security.
I imagine in the next few years more and more people will. Tesla have just announced that they will have self driving cars in 3 years.
We are looking to differentiate ourselves by simply not sucking, providing features people want when they want them not two years later. Water bill doubled this month, we'll flag it. Salary not come in when it should have, we will send you a notification.
Api? Yup
That particular request is authenticated, writes a file to google storage, and then returns a response (with a few other things like logging etc.)
Correction, each request would need to have less than 10ms of CPU time - the instances support concurrency.
My web frontend, by design, does very little - any CPU heavy operations are done by other systems using the task queue. Writing it in golang has helped as well, wouldn't get that performance from python.
Write a simple Hello world example in golang and get it to do some mathematical calculations to simulate "work", I think you'll be surprised at how many requests a second you can squeeze out of a single instance.
When using the calculator this would make the price increase seem enormous to many customers. When concurrent request support was added (it was available to trusted testers at this time) all a user would have to do was add "threadsafe:true" to the app.yaml file to enable it (assuming their code wasn't doing anything silly).
Sure, when the change from billing CPU time to instance hours came in some app's bills sky-rocketed. But that was because they were poorly coded such that instances were blocking and unable to serve incoming requests.
With a thread safe application and the proper configuration there is absolutely no reason why instance-hours pricing shouldn't be competitive.
Claiming that I don't personally feel the need for a fully enclosed, solid steel cubicle to get changed in doesn't mean I'm happy to get naked in public. I feel that whilst the changing cubicle you find at a public swimming pool wouldn't prevent a determined actor from invading your privacy it provides adequate privacy for me.
Yes, servers at Google can read my email - I'm willing to accept the risk of a Googler committing a fireable offence and going through my emails.
For the few emails I send where the value of the security provided exceeds the lost value due to being unable to search I can, using their extension, enable end-to-end encryption.
This system suits my needs perfectly, I appreciate that others may want all the emails they send to be encrypted but why should Google cater to this - they cannot make any money from encrypted emails.
When you tap the card on the reader the transaction happens locally with the card and the reader, this means that there is no latency and the system can continue to operate even if the central server goes down.
Every minute or so the machines sync with a central server and if at any point a machine saw a card with a balance or journey history that conflicted with the server copy then that card gets blacklisted and no machine will accept it any more. This means if you clone a card you can use it to start your journey but by the time you get to your destination you won't be able to get out.