2013/04/28 15:00 Tamar Eilam, Gosia Steinder, Seetharami Seelam (IBM Research), “Future Clouds: Software Defined Environments and Polyglot”

IBM Research (Tamar Eilam, Gosia Steinder, Seetharami Seelam, Yuqing Gao), IBM Impact Conference, Las Vegas, Nevada

This digest was created in real-time during the meeting, based on the speaker’s presentation(s) and comments from the audience. The content should not be viewed as an official transcript of the meeting, but only as an interpretation by a single individual. Lapses, grammatical errors, and typing mistakes may not have been corrected. Questions about content should be directed to the originator. The digest has been made available for purposes of scholarship, posted by David Ing.

Following the GTO session by Steve Abrams, in the first track that IBM Research has run at the Impact conference

Polyglot:  allows you to run different programming models in the same runtime

Two trends that are motivating this work

1. Evolution of workloads:

  • Traditional was few, stable and known workloads, configured manually once to run; then required manual intervention to change
  • Current is now diverse workloads (mobile, analytic), dynamic requirements, may benefit by special hardware, can have different components that require different configuration, have APIs that don’t give configuration of the hardware, can run in pools but not cross pools
  • Future, with cloud, would like to see more flexibility to configure hardware, but can’t have manual and slow, would like dynamic automatic composition of heterogenous systems

2. Other trend is bottom-up, software design of architecture

  • Decision logic buried inside switches is being moved out
  • Software controlling networks in a flexible way
  • A way to program the infrastructure in code
  • Emergence of standards:  OpenStack, to define in a uniform way

Goal: How to leverage Software Defined Infrastructure for both agility and optimization

  • Agility to respond to changing business needs: changing the structure of the workload (e.g. from big data to more security, as changes in middleware and hardware
  • Optimization:  changes in hardware, or making best use of hardware you have in place, non-functional constraints

Software Defined Environment

  • Hardware at bottom
  • Then resource abstraction
  • Agile Workload Development Services that do Workload Orchestration and Optimization
  • Then have Workload Abstraction as Transactional, Web, etc.


  • Want to enable many-to-many mappings, due to life cycle
  • Service may evolve in the cloud:  initially want to get to end user quickly, the requirements evolve, and will want to scale
  • Software patterns mapped to infrastructure patterns

“Desired State” Based Management

  • IBM pioneers and champions TOSCA(with OASIS) as an open standard to represent all parts of the workload

How to define the work cloud?  Then once you have the description, how do you optimize?

In IBM Research, developed Weaver, a Domain Specific Language

DevOPS:  don’t design the application, and throw it over the wall, to find that don’t know what’s wrong

  • Get teams to work from inception, through build and deploy
  • Weaver is the basis of such a project

Weaver has three parts to collaborate

  • Infrastructure topology:  e.g. web server, Hadoop
  • Application topology:  application-specific properties
  • Environment topology (that maps the two together)

Have validators and rules

  • Used in the base of the IBM SmartCloud product


Workload orchestration and optimization

  • Think of this like configuring Java virtual machines
  • Want to include computer, storage and networking requirements
  • Desired state is what you want to provision
  • Have to be able to provide diagnostics, if something breaks

Workloads are complex wirings, embodying requirements



In the future of the cloud, have discussed the infrastructure

Will now talk about what languages that programmers will use, which implies challenges for infrastructure

Java has ruled enterprise application space for 15 years, but some erosion, in terms of new applications

Middleware platforms are changing in cloud centric era

  • Cloud Middleware (PaaS) market is sprawling:  a few vendors provide limited support for multiple languages e.g. AppFog, Heroku, Azure, CloudFoundry

So the cloud middleware (PaaS) will be an integrated polyglot

What does a polyglot application look like?

  • Web UI (HTML5/Javascript) with web app (node.js) and enterprise logic (Java)
  • Then add on PHP applications (e.g. Yelp, Twitter)

Top languages on Github:  Javascript, Ruby, Python, Java, Shell, PHP

Since Javascript is so popular, where is it being used in cloud-centric runtimes?

  • IBM Cast Iron, IBM Worklight, IBM BPM products

Research will be the foundation for the IBM next generatoin (polyglot) cloud application platform

  • Initially will target node.js applications
  • Want to build a language-agnostic platform with tight interplay of services and capabilities

#cloud, #polyglot, #software-defined-environments