> continuously monitoring the estimated model performance
Main point here. Model performance can degrade for any number of reasons and at varying rates. As a starting point, focus on setting up anomaly monitoring for a robust set of model eval metrics tailored to your task: loss, calibration, model staleness, etc. Timely alerts can give you sufficient time to dig in and root cause, roll back a model, etc.
Recently listened to this on a road trip and I can report that it kept me interested and awake :). This podcast quickly focuses in on the problem of boolean satisfiability and the history of SAT solvers for those unfamiliar with said topics.
In theory, this benefits complex business processes running across corporations/agencies/gov/etc. requiring a distributed ledger. For example, mineral mining/procurement/certification/etc is a complicated lifecycle across many actors. I can't remember which podcast I heard it on, but the suggestion was anywhere there was a "clearing house" in use by multiple corporations for a particular process, there was an opportunity for blockchain/smart contract use.
In practice, I have yet to see anything concrete, but I haven't exactly been looking hard.
I don't recall Task Roles being a thing when I started using EC2 Container Service. For container security and isolation, that makes a whole lot of sense.
Having built something similar with RabbitMQ in a high-volume industry, there are a lot of benefits people in this thread seem to be glossing over and are instead debating semantics. Yes, this is not "exactly once" -- there really is no such thing in a distributed system. The best you can hope for is that your edge consumers are idempotent.
There is a lot of value derived from de-duping near ingress of a heavy stream such as this. You're saving downstream consumers time (money) and potential headaches. You may be in an industry where duplicates can be handled by a legacy system, but it takes 5-10 minutes of manual checks and corrections by support staff. That was my exact use case and I can't count the number of times we were thankful our de-duping handled "most" cases.
> Instances get role data from the metadata service, but containers can't access that metadata and should access the local ECS agent instead (which has its own API).
Just a quick aside, but is this can't or shouldn't? I'm 100% positive you can use something like instance profile credentials from within a container (which loads credentials from the instance metadata service).
I think I agree that there's definitely a lot of depth to topics that should be covered here, and whether you want to go down the rabbit hole will vary based on org size and features you're using.
I'd personally prefer: 1. deep-dives into best practices for each feature as opposed to an on the surface glance.
2. enable it with examples. Include CloudFormation or Terraform scripts to set up each piece so that we actually build something. Documentation is important, but you can't learn without doing.
3. test against the security you've put in place.
I would prefer the image to look identical. Each host is going to have a unique name, and you're going to outsource your routing/discovery to the Client/another service anyway right?
Generally though, if there is some custom config data that must be passed on BOOTSTRAPPING the node, you can use templated values for user-data on cloud-init based systems, or the remote_exec provisioner. This can even include the modified shard name (with count). If you're talking about updates AFTER the machine has been in service, I do not believe this is 'officially' supported by Terraform but it can be done [0]. You may want to look into a proper CM tool w/ idempotency for that sort of thing (Chef, Salt, etc.)
Some basic conditional logic was added in 0.8 [0]. The reliance on 'interesting' declarative tricks, e.g. counts for conditionals and loops, is a little annoying I agree. However, it looks like they're listening to the community and will build on these features in the future. There's a lot to work on :)
Great changes! State environments is the feature that stands out the most for me. Currently, this is done by managing different sets of TF VARs. That's not going away, but this should allow for more nuanced modules.
I type roughly 150 WPM without many errors, though I can burst much higher. The last disconnected keyboards I tried were:
* Apple Wireless Keyboard
* Logitech K 300
* Microsoft -god-knows-what-it-was-called- from back in the day.
In all cases, I experienced stuttering or dropouts of my input at high speeds. This did not happen all the time, but it was frequent enough where I felt the need to go back to a wired keyboard (currently Filco Majestouch). Maybe I had a bad batch, or something was interfering with the signals in my homes. Either way, I don't plan on recommending wireless alternatives for quite some time.
Do you know anyone that purchased Logitech keyboards for those sweet visuals on the tiny LCD screen? Me neither. This is a total gimmick. Power users don't look at the keyboard, it's a waste of time.
Not a knock here since I know this is not a majority case, but for marginally quick typists, I would say these wireless/bt keyboards are useless. Input lag is dreadful.
Right, if I want to rely on Finagle's RPC capabilities, e.g. load balancing, routing, tracing, etc, then my microservice must be JVM based and use the Finagle library. This is a standalone proxy deployed as a 'sidecar' app alongside my service. This allows me to implement the microservice in any language I want and get some of the features listed previously.
Of course you now have another moving part in your system :)
I believe part of what the author is looking for is currently being pushed by the Deis guys with Helm[1]. Think of it as a package manager for creating Kubernetes configurations. I think we'll see some stable and reusable templates for both stateful and stateless services there.
I use an older Pi with Raspbmc (osmc) and I can stream 1080P movies just fine. The key is to 1.) Avoid streaming off a slow disk e.g. NAS, 2.) Ensure you have the necessary bandwidth to stream (no slow wifi), and 3.) Pass DTS audio to your receiver for decoding so your PI isn't doing double duty for audio/video.
Keep your diet in check and eat your TDEE or less in calories to maintain weight or lose a few pounds. That's 90% of it.
Sign up for a gym and workout 3 times a week aiming to improve strength if you want some muscle definition. That's the other 10% if you want to get fit.
Do you think you could write a blog post about this? Finding interesting uses for Roslyn may help drive its use in the community. Plus, that just sounds interesting.
I don't believe this is true at all. Dependency injection is just a way to invert control, decouple your code, and make it more testable. Proper tests of your configuration when your container is bootstrapped is all that is necessary to maintain sanity here.
You are still getting all the benefits of static typing, especially if you are coding to a contract.
Main point here. Model performance can degrade for any number of reasons and at varying rates. As a starting point, focus on setting up anomaly monitoring for a robust set of model eval metrics tailored to your task: loss, calibration, model staleness, etc. Timely alerts can give you sufficient time to dig in and root cause, roll back a model, etc.