Showing posts with label multitenancy. Show all posts
Showing posts with label multitenancy. Show all posts

Customer DevOps

Mike's Notes

Here are my working notes from day 9 of building the DevOps Engine for Pipi 9. 

Over the weekend, I attended an excellent film script workshop, but managed to work on the DevOps Engine when I wasn't supposed to. Often, I get more done by relaxing and not thinking about a problem. Then, these new ideas start interrupting.

Resources

References


Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

11/05/2025

Customer DevOps

By: Mike Peters
On a Sandy Beach: 03/03/2025

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

Today, I enabled a separate DevOps Engine for my first customer. Since they will use a multi-tenanted SaaS application, their DevOps engine will also be multi-tenanted.

In this case, their DevOps Engine setup is more about feature requests, customer support, configuration management and automated builds.

Creating a second, customised DevOps Engine helped clarify other practical problems that apply more broadly to building a front-end.

Steps

  • DevOps steps use standard workflow processes.
  • Moving between these steps uses transition conditions that can change states and trigger other asymmetric processes.

Multi-tenancy

By asking how the chosen tenancy model modified the Pipi instance, I clarified some assumptions and operational rules that result from using multi-tenancy rather than sole tenancy.
  • Multi-tenanted SaaS applications for SMEs will use a multi-tenanted Pipi in the back end, which allows less customisation.
  • Sole-tenanted SaaS enterprise applications will use a sole-tenanted Pipi in the back end, allowing more customisation.

Deployment

  • I figured out a simple way to automatically remove a customer deployment in a multi-tenanted situation, allowing Pipi to close an account.

Pipi 6 (2017-2019)

Mike's Notes

These are my notes from memory on building Pipi 6.

Resources

References

  • PIPI 4 Development Plan

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

15/02/2026

Pipi 6 (2017-2019)

By: Mike Peters
On a Sandy Beach: 03/01/2020

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

In 2014, I read an article in Scientific American by Markus Covert from Stanford about the successful computer cellular simulation of Mycoplasma.

In 2015, I realised that Pipi had been a very early form of cloud computing, and I had been right about many things, and also wrong about others. 

When building Pipi 4, I had been regularly told by developers from NZ Crown Research Institutes.

"It's over-engineered"

I think they were just jealous. Pipi 4 was a better system than what they had.

In 2016, I decided to rebuild Pipi from memory and convert it into a Software as a Service (SaaS) platform that could host a broader range of applications, be more helpful to more people, and financially support itself. But first, I needed to catch up with how software development had changed.

Changes in Software Development

Strong support for ColdFusion had disappeared, replaced by AJAX; XML was replaced by JSON, and Cloud Computing was the new thing. Computers were getting cheaper and faster, physical software books were getting harder to find, JavaScript was everywhere, and the internet was much quicker.

2017 Start

I was in Invercargill, and there was no one to work with. The NZERN archive was long gone, but I did find some copies of the NZERN website on the Internet Archive. Pipi 4 was never documented due to funding constraints, so I carried the design around in my head. However, I found a copy of the PIPI 4 Development Plan and still had the original software reference books.

So, working from 1st principles, I reconstructed the database core of Pipi without the ecological restoration parts.

  • I added multi-tenancy and 20+ metadata columns to all tables.
  • The previous monolithic architecture was replaced by loosely connected modules.
  • I figured out how to turn all non-core modules into plugins.
  • I chose domain-driven design (DDD) as the methodology for organising future applications to run on this platform.
  • I quickly built populated apps in space, health, particle physics, agriculture, film, construction, laboratory experiments, and wetlands to prototype and test the system's design for hosting various domains.
  • I decided to continue using ColdFusion (CFML) for the coding.
  • I then reverse-engineered the Covert Lab Mycoplasma cellular simulator to understand how it worked.

Pipi 6 was built by fusing the rebuilt core platform with Covert Lab's open-source cellular simulation software. This was challenging and led to an unusual architecture and the use of Markov Chain Monte Carlo (MCMC), even though I didn't know it was called that at the time.

Every process was given a random probability. And many positive and negative feedback loops.

It was like composing music (In hindsight, synesthesia helped a lot).

Influences

The internet has changed everything. I could access the ideas and experiences of Martin Fowler, Gregor Hohpe, David C. Hay, Len Silverston, and many more. There were talks on YouTube as well. TDAN still existed, and a small group of well-organised CFML developers wrote a lot.

And there now was a thing called DevOps.

Thank you

I'd like to give special thanks to two people in Invercargill: Lesley Catterall for encouraging me right when I needed it, and Martin Catterall for being a great sounding board about integration. I was very lucky to meet those two.

2019 Finish

It was all going to work. It was rough and took 3 years to finish. By the end of 2019, it was time to refactor.

Multi-tenancy

Mike's Notes

Pipi 6 was built to support multi-tenancy. Deployments can be sole-tenancy or multi-tenancy, and databases use sharding.

Resources

References

  • Reference

Repository

  • Home > Ajabbi Research > Library >
  • Home > Handbook > 

Last Updated

18/04/2025

Multi-tenancy

By: Mike Peters
On a Sandy Beach: 06/04/2019

Mike is the inventor and architect of Pipi and the founder of Ajabbi.

I first read about sharding in an article about Xero. Pipi 4 didn't use sharding.

"The term "software multi-tenancy" refers to a software architecture in which a single instance of software runs on a server and serves multiple tenants. Systems designed in such a manner are often called shared (in contrast to dedicated or isolated). A tenant is a group of users who share common access with specific privileges to the software instance. With a multi-tenant architecture, a software application is designed to provide every tenant with a dedicated share of the instance - including its data, configuration, user management, tenant individual functionality and non-functional properties. Multi-tenancy contrasts with multi-instance architectures, where separate software instances operate on behalf of different tenants." - Wikipedia