Mindjet’s Spigit Migrates from Heroku to IBM Bluemix, Cuts Deployment Time to Seconds

by Carlo GutierrezApril 15, 2016
Ongoing customer concerns about the ability of Heroku to support existing enterprise applications drove the need for Spigit to adopt a new PaaS—IBM Bluemix—based on Cloud Foundry.
Why read this?
Use Case for Cloud Foundry:

Meet the security and compliance demands of enterprise clients, significantly reduce application deployment time, and cut operational costs.

Business or Technical Result:

Successful transition from Heroku to IBM Bluemix in two weeks. Improved productivity with application deployment times of "mere seconds."

What else is in the stack?

RabbitMQ, MongoHQ, AWS S3, Jenkins CI, IBM Containers (Docker-based), IBM DevOps services

Company Description:

Spigit is a subsidiary of Mindjet. It is a California-based cloud software company that provides innovation management using crowdsourcing for the Fortune 500.

Cool fact about the company:

The company has helped users from 150+ countries generate over $1B in increased revenue and over 200 patents from their enterprise innovation programs.

(This case study is based on a presentation by Mindjet CTO and IBM’s and Chinh Vo at IBM InterConnect 2016, with additional information from the IBM Bluemix blog.)

 

Millions served across the world

“The agile and open capabilities of IBM’s Bluemix, including the new Docker-based IBM Container services, helped us cut our deployment times to mere seconds and increase our freedom to do what every startup wants to do more of focus on innovation for our clients.”

Thus said James Gardner, CTO of Mindjet, at IBM InterConnect 2016 in Las Vegas. James, along with IBM’s Jay Allen and Chinh Vo, offered attendees a fascinating look at how it migrated its Spigit application from Heroku to Bluemix with help from IBM’s jStart team.

Spigit provides crowdsourcing software for innovation use by companies in the systems integration, financial services, insurance, pharmaceutical, healthcare, and technology industries. Spigit was a company founded in 2009 in San Francisco, and acquired by Mindjet in 2013.

James Gardner, CTO, Mindjet

James Gardner, CTO, Mindjet

Today, Spigit has approximately 4.5 million users across 150 countries generating over $1 billion increased revenue from their innovation programs. Its users include IBM, Capgemini, Cigna, Citibank, Metlife, Pfizer, and United Healthgroup.

“Spigit is responsible for all of the operations and management of the infrastructure,” according to James. “Its users require enterprise-class scale and security, as Spigit houses a lot of intellectual property (IP). Furthermore, two-thirds of Spigit customers deploy to their entire global employee base.”

“Spigit is responsible for all of the operations and management of the infrastructure.”
—James Gardner, CTO, Mindjet

IBM jStart—the team that assisted Spigit with the migration—typically focuses on emerging technologies that have commercial potential within 12–18 months. According to IBM, this allows jStart to keep ahead of the adoption curve, while being prepared for client engagements and partnerships. The team mainly works with predictive and prescriptive analytics, cognitive computing, cloud technologies, big data, social data, and mobile platforms.

There was also a cooperative effort between jStart and the Bluemix Garage team. IBM calls it “a consultancy with a startup DNA empowering companies, large and small, to design and build engaging applications using IBM Design Thinking, Lean Startup, and Agile DevOps.”

 

The need for change

James told his audience the Spigit initiative originally started in 2010 with Heroku, “which has the most extraordinary developer experience you can imagine. Attracted by its ease of use, “we thought now this is going to be fantastic,” he related. However, as the experience of moving from single-tenant to multi-tenant production environments emerged, the company’s more challenging customers were looking for security reviews, audits, SLAs, and other sophisticated aspects of enterprise applications.

The company then turned to IBM and Bluemix. James said doing so ended the existing customers worries, “but we began to realize that we were going to need more than hosting. We were going to need certain machine learning capabilities.”

“We were going to need the ability to analyze text in certain ways. We’ll then have to start building recommendation engines just like Netflix was doing.”

Spigit needed a vendor that could provide the entire infrastructure, so that it didn’t have to handle the operations side of the business. “We are only a 300-person company, so it’s not exactly that we can invest in massive new computer science, massive new crowd science, and re-platforming our applications to scale all at once,” James noted.

“IBM had Watson.” —James Gardner, CTO, Mindjet

IBM Bluemix’s catalog of services had the potential to meet Spigit’s needs, according to James. “IBM had Watson. At the time, Watson was beginning to be a thing,” he explained. “We thought could it be possible that we can get this shortcut by moving from Heroku to Bluemix and then starting to rely on services out of Bluemix to do this stuff.”

 

spigit heroku ibm interconnect bluemix logo

 

The migration process

Jay described an important factor in the migration process that started a year ago which was, “the key part of our migration—we did this in one day—was the migration of the codebase. If the codebase won’t move, you have a big set of problems.”

“The codebase is the main thing. The first day we were there about a year ago, by the end of the day, we had the code from Heroku running on Bluemix,” said Jay. “Now it was not production ready—it was one instance. We didn’t have an auto scaling service attached to it. There was a cache of things that needed to be done to make it horizontally scale but the most important thing is—does the code run on Bluemix? Yes—it was done in one day.”

“The key part of our migration—we did this in one day—was the migration of the codebase
—Jay Allen, IT Architect, IBM

Spigit is a MEAN application: MongoDB, Express, AngularJS, and Node.js. It originally used Heroku add-ons for RabbitMQ, Mongo, and Auth, as well as AWS S3 for file storage and New Relic for monitoring.

spigit heroku ibm interconnect bluemix mean

Bluemix’s application-centric nature, with being loosely-coupled services, allows for easy mix and matching and swapping in and out. Bluemix services were able, over time, to replace the Heroku services used in the original POC (proof of concept). Once integrated with Bluemix, high-value IBM services could begin—monitoring, scaling, and IBM DevOps, according to James.

spigit heroku ibm interconnect bluemix graph

 

Achievements

Chinh noted one instance where they saw Bluemix outperforming Heroku which was, “from a load testing perspective, there was an interesting scenario we went through there.”

chinh-vo

Chinh Vo, Chief Architect, IBM

“We used the Load Impact service that came with the Bluemix layer. From there we did the initial load testing for performance compared to the Heroku side of things,” said Chinh. “From initial testing at that point and time, the profile showed that at the beginning, we were getting the same type of response time. As we moved up to the 50 to 250 range, Bluemix handled that better than Heroku.”

“As we moved up to the 50 to 250 range, Bluemix handled that better than Heroku.”
—Chinh Vo, Chief Architect, IBM

Main results:

  • Successfully migrated application in two weeks
    • RabbitMQ (CloudAMQP) on Bluemix
    • MongoHQ on Heroku
    • AWS S3
  • Created a delivery pipeline that utilized Jenkins and DevOps Services
  • Load testing
    • Horizontal scaling of Node.js application
  • Application deployment times cut down to mere seconds
    • IBM Containers on Bluemix helped development teams operate more efficiently, innovate with speed, improve engagement, and boost productivity.

spigit heroku ibm interconnect bluemix mean summary

 

Lessons learned

Over the course of the migration process, Spigit and IBM faced a number of issues and came up with workarounds:

  • Build containers in DevOps Services did not support outgoing connection on all ports.
    • DevOps team made changes to support outgoing connections.
  • DevOps Services pipeline maintenance
    • Reorganization and deletion of stages
    • E-mail notification on failures
  • Limited access to application debugging
    • Cannot SSH into a container
    • Improved logging—logs can be captured and analyzed, but there is a need for more robust monitoring and analytics.
  • NPM (node package manager) builds did not cache modules.
    • Support has been added to DevOps Services.

 

Related videos

Here is an overview of the Spigit crowdsourcing platform.

 

About the speakers

James Gardner Mindjet bio
James Gardner is a visionary leader with experience in Silicon Valley, London, and Asia Pacific with a track record of driving impressive technology-led growth. He is currently Chief Technology Officer at Mindjet in San Francisco, where he leads a team of engineers, designers, product managers and scientists who are delivering breakthrough software for crowd based enterprise innovation.

 

Jay Allen IBM bio
Jay Allen is a software architect and developer experienced in leading small to large development teams in the creation, management and support of Internet-facing production systems. He is an expert in modern web and cloud technologies such as Java, Node, SQL, PHP, Python, HTML 5, mobile and CSS. He is currently a managing consultant in IBM’s Emerging Technology group jStart helping lead customer engagement around IBM’s new platform-as-a-service cloud offering IBM Bluemix.

 

team-chinh
Chinh Vo is the Strategic Cloud Adoption Leader in the Cloud Software Lab Services team. In this role, Chinh leads efforts to help customers adopt first-of-a-kind deployments of Cloud Software solutions. Additionally, Chinh leads the team of WW Bluemix Solution Architects. Prior to Chinh’s current role, he was the Chief Architect for IT & DevOps in the Rational Lab Services organization. In this role, he focused on deploying complex DevOps solutions at large and strategic customers.