For the last year, the SpringSource team has been intently focused on bridging the gap between development and operations. The team has also been moving quickly to re-tool their platform to become a Cloud-native. Cloud-native platforms are built to exhibit cloud computing characteristics (i.e. self-service, elastic and scalable, virtualized, and dynamic) compared to the 'earthborn migrant' runtime stacks which are simply traditional application platforms hosted on cloud infrastructure without application container and framework modifications.
Cloud-native platforms enable users (including non-developers) to customize pre-built templates. They offer abstractions for workload granularity that lighten the developer’s burden for many scalability and operational concerns. While Cloud-native platforms will attempt to transparently address scalability and elastic provisioning/de-provisioning, the platform will assume that an application is already horizontally scalable, or can be redesigned to conform to Cloud application architecture restrictions that facilitate a scalable solution. Moving to Platform as a Service forces architects to fundamentally re-examine their application architectures. Tackling parallelism and single points of bottleneck (usually database access) will become paramount.
With a new programming model, developers can approach solving problems that are resistant to traditional application architecture practices. Democratizing the process of building massively scalable web applications and delivering high-quality applications in a superfast time to market are two examples that are becoming mainstream concerns. SpringSource, a framework innovator, is well-positioned to address the programming model evolution.
Attenuating the feedback loop between VMWare's vSphere and SpringSource's application servers will enable finer grained application footprints and timely elastic scaling. Imagine the ability to dynamically provision a specialized stack (i.e. container, framework, application meta-data and code) to handle a discrete unit of work (e.g. web request, transaction, resource query), intelligently pool the stack, and tear it down when not needed. SpringSource's investment in OSGI, inversion of control, lightweight containers, and application management interfaces establishes a necessary foundation to re-think and shrink run/manage away from monolithic systems (e.g. hardware virtual machines, application servers, and applications) and towards discrete business services.