Hi Shane,
These are broad questions, but here's my attempt to answer them.
> Is gVisor stable enough to be used in a product?
gVisor is used in production at Google in various contexts. It is used in user-facing Cloud products such as Cloud Run, App Engine, Cloud Functions, and GKE Sandbox.
It is also used internally to sandbox untrusted workloads.
gVisor is never truly "complete", because it aims for Linux parity, which is a moving target. There are also a large number of peripheral features that are in various stages of implementation. Is there a more specific area or goal you're interested in?
> Problems and difficulties
I believe the largest problem of gVisor is lack of mindshare and adoption relative to the value it provides. The level of security provided by regular (e.g. Docker) containers isn't perfect, and I believe the world would be a better place if this problem was more widely recognized.
On a more technical level, another common problem gVisor users have is the performance overhead it adds to workloads. No security solution will be without some overhead, and we've been making great strides to improve this in recent months. Watch this space for updates.