OpenCredo Uses Cloud Foundry to Deliver 3 Projects in 7 Months

by Volha KurylionakJuly 1, 2015
CF deployed to VMWare vCloud environment enabled OpenCredo to launch apps in months, not years, and decreased the time necessary to implement updates by 10x.
Why read this?
Use Case for Cloud Foundry:

- insurance services
- Web trading for SME
- financial services

Business or Technical Result:

- 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

Lessons learned:

- 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.

CF deployed to:

VMware vCloud Environment

What else is in the stack?

Scala, Lift Web Framework, Tomcat, Node.js, JVM, Socket.io, Redis Pub/Sub, MySQL CF service, SendGrid, SagePay, Direct Debit, Jenkins CI, VMware vCloud

Cool fact about deployment:

The WebTrader application, uses a CF setup that is completely default, so it can run on any CF provider.

Company Description:

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.

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

The main reasons for choosing Cloud Foundry for this job were:

  • 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

opencredo-cloudfoundry-process
 

A high-level architecture diagram (Source: blog.cloudfoundry.org)

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.

opencredo-cloudfoundry-high-level-architecture
 

A high-level development and deployment process (Source: blog.cloudfoundry.org)

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

Related videos

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.

PaaS_Lessons_Learned

Interested in how to manage secure Cloud Foundry deployments distributed across multiple data centers?

To stay tuned with the latest updates, subscribe to our blog or follow @altoros.

  •  
  •  
  •  
995