In 2001, the group of founders got together and added the last details to the OutSystems business plan. We wanted to solve a big problem: fix the IT productivity issue of delivering large Intranet (browser-based internal apps) and Extranet (customer and partner portals and APIs) systems. These projects were plagued with failure, delays and were constantly over budget. We also wanted to ride the one trend we knew would revolutionize enterprise IT: software systems running on hardware hosted outside the enterprise data center. In March 2001, OutSystems was born.
The core idea was to empower the enterprise developer community to develop applications that would run in Application Service Provider data centers. These applications would be created, changed and managed from a remote IDE and a web browser. In short, we went about creating a development platform and business operation that would be available as a service.
In 2002, we launched version 1.0 of the OutSystems Platform in partnership with an ASP. Version 1.0 of the platform pushed all normal development operations to the hosted server, thus creating a multi-tenancy platform for developers. We designed a web-based console that would enable developers and operations teams to wrap applications and deploy them into production environments streamlining collaboration between development and operations – now known as DevOps. Today, analyst evaluation criteria for a high-productivity platform as a service (PaaS) are uncannily similar to the initial specs of version 1 of the OutSystems product.
It’s obvious now that our plan was doomed to fail from day one. We were at the beginning of a bubble-burst recession, and enterprise developers, ops folks and IT in general did not even dream about relinquishing control of development and production environments to the cloud. We had no market. At the time I thought the company was doomed.
Luckily, we had built a product that solved a real problem for the enterprise on an architectural framework that was “enterprise architect-friendly.” So we started selling the OutSystems Platform as an installable on-premises product. The combination of high-productivity model-driven development and automated DevOps proved to be an irresistible combination for developer project teams that wanted to get applications built and delivered fast without having to worry about things like scalability, high-availability and complex operations.
2003: PaaS-in-a-Box for the enterprise
In 2003, we started selling a “PaaS in a Box” directly to enterprise IT groups that were facing the following challenges:
- A large application backlog not addressed by packages or SaaS solutions.
- Frustration with traditional application development because of unpredictability and delays in delivery and the high costs of built and change.
During the next nine years, we partnered with hundreds of enterprise customers that have delivered thousands of applications. We have shared a long journey with our customers and we have evolved our Platform to tackle the massive application portfolios of our larger customers. There is no situation, problem or challenge we haven’t faced and solved.
The time for the cloud is now
In the past 12 months, we have started seeing the trickle of demand for a high-productivity platform that would work in the cloud. We have decided to go back to our 2001 perception of the future and deliver our original idea. On October 1st 2013, we launched the OutSystems Platform – Enterprise Cloud, a high-productivity enterprise cloud platform as a service (PaaS).
The wait has been long, but there are some advantages to having a robust technology that is proven in the market:
- Portability between cloud and on-premises. OutSystems-built applications are represented by a meta-model. That is the core innovation that allows us to package a large enterprise app in a small representation and deploy it across environment stages. We are extending that capability to the cloud. For example, our customers will be able to start developing in the cloud and deploy in an on-premises environment behind the firewall.
- Open to be extended with Java and C# code. The OutSystems Platform is used to build mission-critical applications at Fortune 500 companies. From day one we have given them warranties of no lock-in. So we decided to follow a code generation philosophy where the Platform generates standard, documented, native, high-performance Java and .NET code. By extending this capability to the cloud, we can offer a PaaS with no proprietary stacks or interpreters, a rare feature in today’s landscape of PaaS vendors.
- Enterprise DevOps and impact analysis. Deploying a small departmental app from dev to production is easy. It is difficult when your app has grown, because it depends on tens of other services and components and the whole thing is shifting and changing. Enterprise DevOps is about managing the life cycle of a large ecosystem of apps and services, orchestrating the work of a lot of people without breaking anything, and delivering high productivity. Our PaaS gives you that.
I tell my students and advisees, usually fresh or wanna-be entrepreneurs, that I am equipped to give them advice because of the many mistakes we have made at OutSystems and the many things we have learned by trial and error. In this case, the mistake was timing. I feel embarrassed about that. But the vision was right and I feel very good about that. And I have huge admiration and gratitude for the team that has walked this walk with me for over 10 years… the time now is now ours. Welcome back, to the future.
This post first appeared in http://www.paulorosado.com.