We’re thrilled to announce that DreamFactory Enterprise is officially available to the fast-growing worldwide DreamFactory community.
Here’s why this is such exciting news.
The DreamFactory open source REST API backend was built to solve a really big problem: producing reliable REST APIs for a growing number of backend data sources to fuel the development of mobile, web, and IoT applications. The old fashioned SOA approach isn't agile enough for modern developers. Crafting APIs by hand is costly, time-consuming, and error prone. API Management doesn't address the problem of producing APIs, nor the need for scalability. MBaaS can be used for consumer apps, but enterprise developers need the flexibility to deploy on the infrastructure of their choice.
The problem needed fresh thinking and a new approach. What emerged was a new kind of middleware platform: one that could quickly, securely, and REST-fully expose backend data while instantly providing front-end developers with the APIs they need. That platform is the DreamFactory REST API backend.
DreamFactory was released on GitHub in 2013 under the Apache license. It has taken off fast. DreamFactory is now used by hundreds of thousands of developers and millions of users worldwide, serving as the RESTful backend for mobile, web, and IoT applications at thousands of companies, big and small. Developers and architects have been amazed to find a robust open source technology that could provide a sophisticated REST API backend for any data source. Users report that it would normally take months to do what DreamFactory does in seconds. It works and scales beautifully.
With rapid adoption and feedback from the community, DreamFactory technology matured quickly. In fact, we recently released DreamFactory 2.0, a full second-generation version that provides major enhancements to security, customization, performance, and scalability. But with all of this growth, developers and DevOps people needed an easier way to manage the growing number of DreamFactory instances used for development, testing, and production, as well as those across different projects, business groups, and customers.
They needed an easier way to manage DreamFactory. That’s DreamFactory Enterprise.
What is DreamFactory Enterprise?
DreamFactory Enterprise is a new commercial software package that helps you provision, govern, and report on multiple DreamFactory instances. It also enables DreamFactory to run more efficiently on shared computing infrastructure, something not easily done with DreamFactory alone.
Simply put, it’s the easiest way to manage multiple DreamFactory instances across the development lifecycle, as well as across projects and customers—all from a single management platform.
DreamFactory Enterprise runs on any Linux server and includes the DreamFactory run-time for instant provisioning. It provides administrators with an enterprise console where they can manage the entire platform. They can create individual accounts for any number of developers. They can create detailed reports on API usage across the system. They can set API usage limits at the cluster, instance, and user level. The administrator can also manage different server environments for development, testing, and production.
The individual developers on the platform are provided with a self-service dashboard where they can create and manage any number of their own DreamFactory instances. They can import and export snapshots of any instance across the system. This capability enables easy migration between development, testing, and production. A super administrator can individually create and manage developer accounts, or the enterprise dashboard can be opened up for guest registration to enable instant sign up by anyone.
In sum, the enterprise console allows platform administrators to:
- Group server clusters for different service levels or other purposes
- Manage ownership of administrative and developer accounts
- Create detailed reports on REST API calls handled by each DreamFactory instance
- Administer API call limits at the cluster, instance, and user level
And the enterprise dashboard enables the individual developers to:
- Create and manage multiple instances of DreamFactory
- Launch the instances to begin application development
- Import and export instance snapshots across the system
This is probably a good time to mention that the developers above can themselves create administrative access for other developers inside any of the instances that they manage. So there are quite a few levels of administration available for more complex scenarios as needed.
Who Can Use DreamFactory Enterprise?
DreamFactory Enterprise is for anyone who wants to manage DreamFactory REST API backends more effectively. Of course, this makes it well-suited for enterprise DevOps and Ops teams to manage RESTful backends for their applications. It’s also great for software development agencies, systems integrators (SIs), independent software vendors (ISVs), managed service providers (MSPs), and cloud Infrastructure-as-a-Service (IaaS) companies. There are some very interesting use cases for this new product.
The most straightforward use case for DreamFactory Enterprise is with large enterprises. Most have SQL plus other data sources that need to be securely mobilized via a growing number of mobile and web apps. With DreamFactory, they get a platform for building and scaling their applications with a secure RESTful backend to these data sources. With DreamFactory Enterprise, they now gain an easy way to provision and govern DreamFactory instances across different parts of the development lifecycle, projects, and business units. They also gain the ability to operate DreamFactory across shared infrastructure, improving efficiencies and scale.
Here is an example of how DreamFactory Enterprise administration can be organized for larger enterprise deployments.
Each business unit could have an administrator with access to the enterprise console. These administrators create accounts for project managers. The project managers use the enterprise dashboard to create DreamFactory instances for development, testing and production. They can assign instances to developers or testing professionals. A lead developer might invite other developers to participate in a given project.
Backend Ops and DevOps professionals can provision the necessary infrastructure for the entire platform. They can set limits and monitor the API usage as needed. They can identify and govern the backend data sources that need to be accessed via their apps through DreamFactory. At the business unit level, project managers can set up the role-based access controls in accordance with company policies and application requirements.
Development Agencies and Systems Integrators
Mobile and web development firms, as well as systems integrators, increasingly need RESTful backends for their projects. It can take weeks to months going back and forth with the customer’s IT group to get the APIs they need. Now they can deploy DreamFactory instances for individual customer projects, instantly get the APIs they need, and invite the customer into the instance for collaboration, review, or API logic customization. At the end of the engagement, they can choose to either host the application in place or seamlessly transfer the DreamFactory backend to their customer’s servers or chosen cloud. DreamFactory Enterprise makes all of this easier — and we’ve recently introduced the Velocity Partner Program to provide special access and support for DreamFactory in these scenarios.
Managed Service Providers
DreamFactory Enterprise allows an MSP to host any number of REST API backends where developers can instantly sign up for the service and start building modern applications with a full palette of REST APIs. The MSP can also customize the offering with special services, data sources, and applications. API usage limits and terms of service can be controlled for each instance and they can run DreamFactory in a multi-tenant fashion. With DreamFactory Enterprise, an MSP can become a Backend-as-a-Service (BaaS) provider to its customers.
By the way, we use DreamFactory Enterprise to provide a free, hosted development environment that allows developers to try DreamFactory on-demand. We do it with the “guest registration” feature. This allows anyone to sign up and get his or her own instance of DreamFactory instantly. The DreamFactory Enterprise product can also explicitly create and manage new signups if desired.
Cloud IaaS Providers
The ability to “productize” BaaS (Backend-as-a-Service) is particularly appealing for IaaS cloud providers. Modern developers need RESTful backend services, but they are often focused on front-end application development more than server-side infrastructure. Now any IaaS provider can create a portal on their cloud with instant developer sign up for RESTful backend services. When the developers want to move their applications to production, they can seamlessly upgrade to a dedicated server on the same cloud. This “cloud-first, API first” approach appeals to developers and helps the cloud providers to generate new workloads and revenue streams.
For example, we worked with our partner Verizon to create a free enterprise development portal. Developers can instantly sign up for a “dev and test” instance hosted on the Verizon Cloud. When users want to go into production, they can seamlessly upgrade to a dedicated server on Verizon Cloud as well. The portal provides a way for modern developers and DevOps professionals to coordinate activities and seamlessly deploy their applications on a secure, cloud-hosted backend.
Recently, some IaaS providers such as Amazon and Microsoft have started offering various backend services for mobile developers. But DreamFactory provides a more complete, customizable, and portable RESTful backend. It can work with virtually any data source and run on any cloud, on premise, or even on the desktop. It gives front-end developers the APIs they need and IT the control to secure, manage, and scale their backend infrastructure as they see fit. DreamFactory provides a horizontal and open source alternative to proprietary APIs and MBaaS offerings that are married to a particular cloud and their limited database options.