163 karma · joined March 31, 2022
The framework is backend focused and there is OIDC configuration you can include for authenticating requests to the backend https://nitric.io/docs/apis?lang=python#api-security but nothing at the moment for frontend auth (but always looking for new feature ideas).
I think your point on testimonials is good, the goal is trying to build trust in what we've built using feedback from our community, is there an alternative that you've seen or like better?
Avoiding vendor lock-in was the initial goal of the framework. But we've found that most of our existing user base are actually focused on a single cloud only but find developing with infrastructure from code makes their development experience much smoother, but they still get the benefit of portability from using the framework.
General advice though for any startup without getting into the specifics of any industry is to build an audience first if you can. You'll have a major head start on traction if you do, this can take a few forms but presenting yourself as a thought leader in the space you're looking to create a startup in is the best way, this could be via a newsletter, blog, podcast or general social media presence.
You can then use that platform to interact with your audience to find problems and ideas that resonate with them, and look at forming a startup and product ideas around that.
It's made me realise that much of the sugar I was writing in other languages didn't make me more productive or my code more readable, in many cases it was actually the opposite and the usage of that sugar was more about writing more "succinct" code that was in the long run harder to understand and maintain.
Trying to fix issues we've had where the purpose of the project is misinterpreted, and trying to see if there are any gaps that can be addressed etc.
Thanks in advance for any feedback/comments :)
Resources are documented using abstract cloud concepts in code, and then provisioned by a deployment engine. The nitric deployment engines are actually build on IaC such as Pulumi/CDKTF.
I don't know what your experience is but "never" having seen any issues could also be bad thing, seeing the "don't" is just as valuable as the "do" when it comes to building experience.
Some concrete examples to demonstrate where coupling is trivially solvable would be good if you have some that you can share, where it wouldn't be trivially solvable what are the common mistakes that would be made in those cases?
If you have time to share your experience I'd really appreciate it.
Fair point on the second, can I ask what you specifically mean by concrete drawings? I'd really like to understand your perspective on separation of concerns between IaC and application code better.
Thanks for content takeaway as well I really appreciate the feedback. The closest thing we have right now is a published customer use-case: https://nitric.io/case-studies/dropbio but I don't think this hits the mark for what you're after.
I can see a path forward for Nitric as platform engineering solution where standardization of architecture is achieved (with the aid of AI as well), through building Nitric custom providers: https://nitric.io/docs/reference/providers/custom/building-c...
Not just a feature of Pulumi, its just used as the IaC of choice for the out of the box deployment providers. This can be replaced with anything.
At its core Nitric is really a tool to collect infrastructure requirements from an application and those requirements are delivered to a server that is built using the Nitric deployment APIs.
Note this only applies to our OOTB providers which use Pulumi as our deployment engine of choice.
When you take away our providers Nitric becomes a communication layer between your application and any deployment engine that implements the Nitric deployment API: https://nitric.io/docs/reference/providers/custom/building-c...
This allows collecting a Bill of Materials of cloud concepts (e.g. APIs, topics, buckets, queues, policies etc.) and providing them however you like with code. This could be templating IaC, directly executing IaC, rolling your own solution or anything in between.
As for how we make money, currently we're doing consulting and dog-fooding our own tooling while working with existing teams struggling with more traditional deployment setups to make them more productive, their feedback is used to make own product even better :).