Introducing Mashin: Building an Infrastructure as Code Platform in Public

Nutshimit
4 min readMay 11, 2023

--

Hello and welcome to the start of an exciting journey!

We’re the team behind Mashin, a new Infrastructure as Code (IaC) platform, and we’ve decided to build it in public. You might be wondering why we’re embarking on this venture and what Mashin even is.

Let’s start with the latter.

Mashin is our response to the growing need for more efficient and effective management of infrastructure resources.

It’s an IaC platform designed to streamline the development and maintenance of infrastructure by treating it as code.

But Mashin isn’t just any IaC platform. It’s powered by a high-performance Rust-based engine and leverages the incredible work done by the Deno team to provide an isolated V8 runtime in rust. This means you can write your infrastructure descriptions in TypeScript, without the hassle of complex Webpack configurations or other build tools.

It’s modern, clean, and efficient, just like we believe your infrastructure management should be.

Our approach adopts and enhances the open provider model. This model, made popular by tools such as Terraform, is reimagined in Mashin to be more dynamic and straightforward. By allowing anyone to write and publish their own providers, we’re fostering a community-driven ecosystem that caters to diverse infrastructure needs.

Here’s a glimpse of how simple and intuitive it is to use Mashin:

#!/usr/bin/env mashin run
import * as mysql from "https://mashin.run/mysql@0.1.3/mod.ts"

const provider = new mysql.Provider("mysql_name", {
endpoint: "localhost:3306",
username: "adm1n",
password: "p@ssword",
});

new mysql.Database(
"database_name",
{
defaultCharacterSet: "utf8",
},
{ provider }
);

In this example, we’re using the MySQL provider to manage a MySQL instance and a user. The provider is loaded directly from our Mashin registry via a URL.

Why are we building Mashin in public?

In the spirit of open-source, we believe in the power of community. Building Mashin in public allows us to engage with the community, gather invaluable feedback, and adapt our approach to best meet user needs.

It’s a bidirectional learning process — we learn from the community and they learn from us.

Moreover, we see this as an opportunity to contribute to the broader tech community. By documenting our process, we aim to offer insights into the creation of a complex system like an IaC platform, which could be valuable for other developers.

How can you get involved?

We welcome all forms of contributions, from code contributions to suggestions, or even just testing out the system and providing feedback. Your involvement helps us make Mashin better.

What to expect next?

This blog post marks the beginning of a series where we’ll be sharing updates, technical deep dives, and decision-making insights. Expect to see behind-the-scenes looks at how we’re developing features, overcoming challenges, and continually improving Mashin.

A Bit About the Creator

Before we conclude, let’s take a moment to understand the person driving the vision of Mashin and Nutshimit.

Hi, I am David Lemarier — a tech enthusiast and creator at heart. I’ve previously led a disruptive streaming project, demonstrating my ability to challenge traditional paradigms. Following that, I successfully managed a VPN company with a large customer base, highlighting my knack for building user-centric tech solutions.

In addition to these achievements, I’ve crafted a blockchain in Rust from scratch under demanding timelines. I’ve been involved in various projects over the years and am currently serving on the board of Tauri, a framework for building lightweight, secure applications with web technologies.

My diverse and rich experience in tech has played a pivotal role in shaping Mashin. The vision of Nutshimit is a reflection of my journey and the lessons I’ve learned along the way.

Conclusion

And so, we step out of the shadows and into the light. Nutshimit and Mashin are just getting started, but we’re excited about the journey ahead.

We believe that by creating an open, accessible and powerful IaC platform, we can empower developers and organizations to build better, more resilient infrastructure.

We hope you’ll join us on this journey as we continue to grow and evolve. If you have thoughts or feedback on our direction, whether we’re on the right path or veering off course, we are open to your insights.

Whether you’re a developer, a user, or simply an enthusiast who’s interested in what we’re doing, there are numerous ways for you to engage with Mashin. We’ve created an Engage section in our documentation which details how you can get involved at various levels, from simply using Mashin and giving us your feedback to contributing to its development.

Every bit of engagement counts and helps us shape the future of Mashin. We value your insights and contributions as we move forward. Let’s build the future of Infrastructure as Code, together.

And if you believe in what we’re doing and want to show your support, a little ⭐️ on our GitHub repo goes a long way!

Welcome to the future of Infrastructure as Code. Welcome to Mashin.

Building in Public: The Story of Mashin’s Registry

* To stay updated on the latest Mashin news and engage with the community, consider joining our community discord.

--

--

Nutshimit

Nutshimit, a startup spearheading an open-source project, Mashin, transforming Infrastructure as Code (IaC) from research to a promising product.