The eighth release of OpenStack, Havana, is out now. And I recently attended OpenStack Summit Hong Kong, where planning for the next release, Icehouse, kicked into full gear.
In Hong Kong, I had the honor of moderating a panel of stalwarts from the OpenStack community who each represented different viewpoints from an application developer’s perspective. The panel, OpenStack for Enterprise Developers: Should They Care?, was intentionally given a provoking title – I had submitted this proposal in the aftermath of the Portland OpenStack Summit, where I found myself a feeling bit out of place as an application developer.
During a pre-panel meeting, we started by qualifying the term “developer,” since it means different things in different contexts. Given our enterprise backgrounds, we thought we should probe the issue of how relevant OpenStack is to enterprise developers or application developers as opposed to OpenStack developers (contributors to the OpenStack project(s)).
We all agreed that OpenStack has become more developer friendly with the Havana release. The Heat project, which includes AutoScaling and can be triggered from Ceilometer data, is aimed squarely at application development. Project Neutron provides services, like VPN, Load Balancing, Firewalls and so on that are extremely relevant to application development on top of OpenStack. Project Trove, which is a Database as a Service; Project Marconi, which is a Queuing service; and Project Savanna, which is intended for Big Data processing are all incubated in the Icehouse release.
We also discussed the new kid in the block — Project Solum. We determined that it has the capability of turning the OpenStack tide heavily in favor of the application developer. Project Solum aims to pull together a number of different pieces that are part of the everyday “Edit-Compile-Profile-Debug-Deploy-Manage” life of a developer. Support for source code repositories like git and for IDEs like Eclipse, along with language packs, are planned for early releases of Solum.
In addition, the keynotes and other sessions from OpenStack users on day one made it clear that although the main mission of the Foundation was to build the OpenStack platform, there is a huge emphasis on building an ecosystem of OpenStack users and developers who build on OpenStack.
The challenge, as always, is how can the cloud in general and IaaS in particular be made more appealing to application developers?
IaaS and the Developer
Before my life as a Racker and OpenStacker, I was an application developer. I developed in Java/Java EE. There are parallels that can be drawn from Java/Java EE to development on OpenStack. In addition to multi-vendor support, vendor neutrality and application portability, which are all hot buttons for a developer, the OpenStack platform attempts to solve complex infrastructure-related issues such as scalability, high availability and so on and let the developer focus on the business problem. I started the panel by drawing attention to the Design Tenets of OpenStack, which concisely enunciate the philosophy behind OpenStack design. These design tenets can be considered commandments for distributed application development in general. They incorporate well-established design patterns such as loose coupling, shared nothing architecture, data locality and so on.
After introducing the panelists, I opened it up for questions (although in retrospect I probably should have started from the list that I had already compiled). The questions reflected the maturation of the OpenStack project and the overall challenge of how to make IaaS more appealing to the developer.
The questions (in no particular order) and comments included:
- How PaaS was more relevant to developers than IaaS
- How could the community devote more resources towards Software Development Kits (SDKs) on top of OpenStack?
- Interoperability and Agility
- Support for Regulatory Compliance
- Sizing guidelines and so on
You can check out a video recording of this session and other sessions, including the keynotes from the Summit. There are a number of other sessions and panels that also attempt to tackle issues similar to those raised in this panel.
Many of these challenges are not unique to OpenStack. In the new world of DevOps, there are overlapping responsibilities in the roles of developers and operators, and although PaaS is more relevant to developers, PaaS will depend on IaaS to provide developer services. Although Solum will leverage Heat heavily, the topic of whether a PaaS belongs in OpenStack has been debated and is summed up nicely in this blog.
The OpenStack community has come a long way since the previous Summit I attended just six months before. One of the invaluable aspects of attending an international conference of this sort is the networking and the hallway conversations. I ran into a number of former colleagues who, like me, attended several JavaOne conferences, which are among the largest developer conferences in the world. We agreed that the level of interest in OpenStack was approaching the same level of interest and buzz as the early JavaOne events. We are all bullish about OpenStack and its reach to application developers, although there is recognition of the large amount of work that needs to be done. As a community, I think we’re embracing the challenge.