Introducing Organizations, Projects, and Project Throughput
Since announcing the Event Gateway, Hookdeck has become a platform used across multiple use cases (inbound webhooks, outbound webhooks, connecting third-party services and APIs, etc.), projects, and environments (dev, staging, prod) for companies large and small. Our "Workspaces" haven't kept up with your needs. Offering the flexibility to manage multiple projects and environments is essential to our mission to make managing and monitoring your event-driven architecture simple.
Today, we're releasing Organizations and Projects to help you logically structure your environments and use cases, and improve how you manage your configuration, billing, and access control.
Organizations & Projects
Organizations are now the top-level entity in Hookdeck. They are used to group all your resources in Hookdeck and manage your subscription, billing, members, and projects. Individual users can be members of multiple organizations.
For each organization, you can have multiple projects.
Projects per environment and use case
Projects allow you to segment your configuration by use case, environment, or any way that fits into your software development life cycle (SDLC).
For example, you could have a project for your production environment, staging environment, and development. In production, you will likely want your Project Throughput to be high to ensure production events are processed as quickly as possible. However, five events per second (5 EPS) will likely be enough for your staging and development environments.
Another way of using projects is to have one for each use case, such as one for receiving webhooks and another for sending webhooks. Using projects this way enables you to keep configuration separate and more logically grouped.
Private and public projects
When you create a new project, it can be either public or private. Public projects are visible to all organization members, while private projects are only visible to the members explicitly added to the project by an admin.
Migration
One challenge of changing the access control model for your product is to handle the transition from the old to the new model. We have migrated all your existing workspaces from the old to the new model so that you can continue using Hookdeck without interruption.
For each workspace, you'll now find an organization with the same name. Each organization now contains a "Default Project" with all your previous workspace data. There should be no change to your access control, billing, or configuration beyond the project name. As a project admin, you can rename your projects at any time.
Merging organizations
If you have multiple organizations created during the migration and would like to merge them, you'll need to transfer the projects from one organization to the other. An organization admin can do this by going to the project's general settings.
Once all projects have been transferred, you can delete your empty organization.
Project Throughput
Historically, our plans included a fixed amount of throughput, and you had very little flexibility to choose what was right for your use case.
To address this, you can now upgrade a Project's throughput independently of your organization plan. The new "Project Throughput" configuration allows you to manage your projects' throughput (events per second).
By visiting your project "Quota" page, you can now choose between pre-configure sizes that offer a range of throughput. The throughput is shared across all destinations in the project.
Each new project will now default to the X-Small-5
size which offers 5 events per second of free throughput. You can then choose to upgrade your project to a larger size at any time.
For users currently on a paid plan, your pricing has been grandfathered, and your original project will have a discount applied on the throughput to match the maximum events per second that were included in your original plan.
Happy building! Please send us your feedback and let us know how organizations and projects fit into your SDLC.
- Alex B.