Portland, Ore.-based ELC Technologies’ chief technology officer Dylan Stamat has tried many different Platform as a Service (PaaS) providers -- some he’s liked, some he hasn’t.
The experience has
“Look at what you might need to do in terms of configurability," Stamat said. "[Some] platforms have constraints architecturally, and there needs to be an assessment of what those constraints are and if they meet your needs."
Stamat currently uses a mixture of PaaS providers, vendors who offer developers virtualized servers and associated services for running, developing and testing applications. They include Heroku, Cloud Foundry and Engine Yard, a San Francisco-based provider that ELC started using four years ago.
ELC was drawn to Engine Yard because it was the only vendor besides Heroku and Cloud Foundry that supported Ruby on Rails (RoR), an open source framework for development in the Ruby programming language.
Stamat said Engine Yard is relatively easy to use and offers a straightforward way to configure an environment in which to deploy applications. He added that the vendor also met ELC's need for a responsive support team.
Before Engine Yard, ELC primarily used Amazon Web Services’ command-line tools to develop, test and run applications. The company employed three system administrators to manage the deployment.
“[Engine Yard] allowed us to move that [management] piece off to the side and free up a resource,” said Stamat, adding that ELC has just one system administrator who deals solely with ELC clients in the health care industry and government sector, where on-site work is needed. “We were able to free up two full-time resources.”
Other vendors that have entered the RoR space include BitNami Cloud, DotCloud and Railscloud. Stamat says ELC has continued to use Engine Yard because it allows for easy configuration, which helps when applications are distributed across a variety of ELC’s clients.
“[With Engine Yard] you actually have control of what software you want within the system, and on something like a Heroku or Cloud Foundry you’re kind of bound to a predefined software stack," Stamat said. "There’s [also] the ability to configure your infrastructure-level environment.”
While Engine Yard offers an advantage as far as configurability, Stamat recognized Heroku as being a key ELC resource for programming in the Python language and Cloud Foundry for supporting VMware -- capabilities that distinguish those providers and keep them in ELC’s arsenal.
When considering a PaaS provider, it is important for developers to identify needs such as configurability, scalability and whether your requirements will evolve faster than the provider’s ability to meet them, according to experts. There are also risks to consider, such as “lock-ins,” situations where applications developed in the provider’s cloud can’t be moved off to another infrastructure.
JRuby and learning from the past
ELC was recently in a similar situation as it was before it found Engine Yard -- this time the company needed a PaaS provider that could support JRuby, a programming language that allows Ruby to run on the Java Virtual Machine.
Stamat sees JRuby as an important, growing language in the PaaS community but laments that none of the major PaaS players truly supported it until last week, when Engine Yard announced the availability of the language on its cloud service.
“There is a lot of JRuby usage out there in the wild and there’s a lot of reasons to use it,” Stamat said. “I think Engine Yard is going to see a big increase in adoption of JRuby and the platform in general.”
ELC has been pushing its clients towards JRuby, including one of its biggest clients.
“We worked with a large electronics company to introduce JRuby into their platform, and Engine Yard worked with us to prove that it was the right solution,” Stamat said. “It was a three-month effort that we worked together, and they finally saw that JRuby was the way to go and now they use it in production.”