OpenCredo Uses Cloud Foundry to Deliver 3 Projects in 7 Months
- insurance services
- Web trading for SME
- financial services
- 3 new products for a major London-based insurance company launched in 7 months (instead of two years)
- products can now be updated 10 times faster
- Although CF tunneling allows for making changes, e.g., to your production DB directly, it is better to use a VCS.
- There may be hidden problems with the PaaS, so use logging to see what is going on.
- Build consistency can be difficult to achieve with open source technologies.
VMware vCloud Environment
Scala, Lift Web Framework, Tomcat, Node.js, JVM, Socket.io, Redis Pub/Sub, MySQL CF service, SendGrid, SagePay, Direct Debit, Jenkins CI, VMware vCloud
The WebTrader application, uses a CF setup that is completely default, so it can run on any CF provider.
OpenCredo was incorporated in 2000 and is based in Southampton, the UK. The company specializes in professional software services, technology training, and software delivery for European and North American customers. It is also the provider of OpenCredo AMQ, OpenCredo Esper Extension, and OpenCredo Cloud-Storage.
(This case study is based on the blog post that originally appeared at blog.cloudfoundry.org.)
Shrinking app delivery time with Cloud Foundry
OpenCredo used Cloud Foundry to build three applications for a large London-based insurance underwriter. 3–6+ people were working on these projects in parallel. One of them is WebTrader, an insurance app for small- to medium-sized online businesses. All the three apps employ Cloud Foundry, Lift, and Scala.
The main reasons for choosing Cloud Foundry for this job were:
Using the mix of Scala and Lift to build the application for online businesses combined with open source Cloud Foundry to continuously deploy and run the application in production, we were able to reliably reduce our turnaround (develop-stage-demo-to-production) cycles by easily a factor of 10. Jonas Partner, CEO of OpenCredo
- Lift support
- availability of Micro Cloud Foundry (a cloud deployed to a local machine)
- configuration of all SQL services from the persistence layer to the Web layer is handled by CF
- polyglot programming: CF brings a lot of different technologies into a single environment
- automated provisioning
CF is deployed on a VMWare vCloud environment. The WebTrader app has a default CF setup, so that it can run on any provider, including AppFog, Iron Foundry, Stackato, etc. The apps use JVM and Node.js application runtime environments and Tomcat as the Web server. The project’s quoting engine has an intricate data model and works with Redis and MySQL. So Scala was chosen as the programming language for its sophisticated type system and support of both NoSQL and SQL data stores. Lift provides the database integration layer. The project also uses external systems, such as SendGrid, SagePay, and Direct Debit.
Initially, the code was tested out against Micro Cloud Foundry. Currently, the deployment process is almost entirely automated. There are 3 Cloud Foundry instances of different scale—one for staging and one production instance for each application. Jenkins CI provides continuous integration, automatically polling for changes in the code. The project is built, then automatically released from the CI server, and then pushed to the staging environment, if testing is successful. After the client has validated the features, the operator runs a script that pushes the changes to the production environment. The entire iteration only takes a few minutes, instead of hours. As a result, OpenCredo is able to update the apps ten times faster than normally.
The project was built with scalability in mind. Although scaling is not automatic, it is easy to scale Cloud Foundry to get more instances without any downtime.
To deliver a new product through a technical distribution channel in three months is nothing short of miraculous. This type of development in the financial services industry usually takes more than double that. Matt Cowdrey, Executive Partner at Pilot Lite Ventures
You can also watch this video where Colin Humphreys, who was Director of Technology, Carrenza, at the time it was recorded, shares some details about OpenCredo’s Cloud Foundry deployment.
To stay tuned with the latest updates, subscribe to our blog or follow @altoros.