Industry: Financial Services
Geography: Global
Summary: To stay ahead of nimble competitors, Morningstar turned to CloudBees to build a faster, more automated and consistent software delivery platform.
Challenge: In an industry powered by software, Morningstar needed to accelerate its development operations by aligning teams on a consistent platform, automating its pipelines, ensuring product quality and security and streamlining release management.
Solution: Implemented the CloudBees Platform to automate its pipelines from development to production and empower teams on a unified software platform with consistent approaches and minimal downtime and failures.
Results
Introduced greater pipeline automation and faster testing
Gained consistency, speed, and reliability
Supported faster time to market
Improved management of software releases
Improved developer satisfaction
Improved build speeds by 75% – from two hours to 30 minutes
Improved onboarding a new team from several days to 3 minutes
Reduced build and development time by 70%
Product: CloudBees Platform
Morningstar, Inc. is a leading provider of independent investment research in North America, Europe, Australia, and Asia. The company offers an extensive line of products and services for individual investors, financial advisors, asset managers and owners, retirement plan providers and sponsors, and institutional investors in the debt and private capital markets. Morningstar provides data and research insights on a wide range of investment offerings, including managed investment products, publicly listed companies, private capital markets, debt securities, and real-time global market data. Morningstar also offers investment management services through its investment advisory subsidiaries, with approximately $260 billion in assets under advisement and management as of Sept. 30, 2021. The company has operations in 29 countries.
Challenge
Software powers the products that make Morningstar a leader in its industry – which is why its software operations need to stay nimble and efficient, continuously delivering high quality applications and services in rapid iterations to keep ahead of agile competitors. "The business wants high quality software that runs reliably, that doesn’t have a lot of downtime or incidents affecting their customers and they want fast time to market,” says Michael Allen, Head of Technology for the Workplace Solutions group within Morningstar Investment Management LLC, a subsidiary of Morningstar.
With Morningstar’s technology decision to move products to the cloud and continue its digital transformation, there was an opportunity to invest in and modernize CI/CD pipelines. CloudBees was the right provider as it offered the scale for a company Morningstar’s size, while still offering flexibility for the development teams to have control over their delivery processes.
"The goal was to eliminate the problems we had with our releases taking a long time and requiring a lot of people and manual efforts and to create a process that was more predictable, well oiled, efficient and automated,” says Allen. Morningstar’s teams wanted more consistency in their development and release processes, and a lack of visibility made it difficult to pinpoint problems and track key metrics such as build times, unit test coverage, build failure rates, and recovery time.
"The first thing we wanted to do was get everybody on a baseline and get builds running in a standard fashion without any failures,” says Adolfo Rodriquez, DevOps Engineer in the Workplace Solutions group.
Technical Challenges
Inconsistent software development across teams
Prior to adopting the CloudBees Platform, development teams used their own patterns to build and deploy code to different environments.
Lengthy development processes
Building and deploying multiple software repositories took longer than expected. Morningstar currently has many code repositories – and each repository had to be built serially before deployment.
Deployment errors
Lack of standardization led to more deployment errors than desired, missed deployments resulting in mismatched versions across multiple environments, which required Morningstar developers to spend additional time and effort to identify and rectify environment inconsistencies.
Quality problems
Lack of tools, standardized processes, and metrics made it challenging to baseline software delivery processes and identify areas that needed improvement.
Opportunity cost
Lengthy release processes meant less time was available for innovation and developing new features.
Customer satisfaction challenges
Lengthy development, testing and release cycles and quality issues led to delays in delivering products to end customers (internal and external) and slowed innovation.
Poor developer experience and team engagement
By using legacy tools and dated processes, the development lifecycle contained a high degree of friction, resulting in decreased productivity and a lack of enthusiasm in solid DevOps practices.
DevOps Goals
Morningstar’s software organization wanted a CI/CD solution that would:
Be flexible enough to handle complex deployment strategies targeting various environments (on-prem, cloud and multi-cloud).
Enforce governance through quality and approval gates, leveraging built-in integration with external tools.
Support a self-service model where a centralized team can manage the platform and act as the center of excellence while deployment teams manage and execute their own deployment processes.
Drive scalability through standardization, encouraging teams to develop solutions that can be quickly replicated and easily adopted by other teams.
Solution
To continue to deliver quality software for its clients and modernize its software development processes, Morningstar migrated its development and operations teams to a standardized CI/CD platform orchestrated by the CloudBees Platform. The solution enables Morningstar to:
Create an effective branching strategy
CloudBees allows the teams to merge a release branch and generate a new branch. Using CloudBees, the teams can automate and integrate with Bitbucket to merge and generate branches for releases. This allows standardization of the branching strategy across all code repositories without manual intervention.
Streamline deployments to the cloud
CloudBees provides plugins to allow teams to create procedures that use the AWS SDK to perform deployments. CloudBees acts as the orchestrator for this process. This enables Morningstar to write custom code to handle the deployment logic.
Establish automated rules
CloudBees enables the engineering teams to define development and release processes that are bound by automated rules.
Deploy efficient CI/CD templates
CloudBees helps Morningstar deploy CI/CD templates that work for multiple types of deployments in AWS, including:
APIs
Batch processes
Single page applications (SPAs)
Create standardized pipelines
CloudBees helps teams create pipelines using standard templates. The pipelines are standardized across all repos and adhere to the same set of standards to:
Build artifacts
Merge release branches
Generate branches for new sprints
Notify stakeholders of important events through Microsoft Teams webhooks
Validate and deploy to higher environments
Establish consistent processes
Morningstar uses CloudBees to develop an automated process to create any new repository using the following easy steps:
Update a JSON file that defines the new repo/ deployment style
Generate new deployment pipelines using existing pipeline templates (using the same set of previously established processes)
Leverage complementary developer tools within deployment pipelines
Morningstar uses CloudBees’ growing list of supported plugins to automate previously manual tasks:
Issue tracking software after a successful deployment
Container scanning in AWS Elastic Container Registry
Stakeholder communication before and after releases
Results
After Morningstar started migrating its development and delivery teams to CloudBees, developers quickly realized the advantage of the standardized platform, helping the organization achieve:
Consistent CI/CD patterns across all squads and repositories within the development team
By establishing uniform development patterns and approaches on a single platform, Morningstar can more easily move developers from one team to another, boosting agility.
Transparent processes
Teams can easily adopt deployment pipelines with built-in automation guardrails, eliminating the need for manual verification.
Quicker deployments
By migrating to CloudBees and leveraging more automated, uniform processes, Morningstar reduced deployment time by 70%. By decreasing the deployment times the teams were able to deliver software to market efficiently.
Faster software builds
After adopting the CloudBees Platform, build speeds went from two hours to 30 minutes; a 75% improvement.
High quality deployments across all environments
With CloudBees, teams can deliver a consistent solution that works well with on-prem, but also facilitates growth in the public cloud.
Better adherence to audit and compliance controls
CloudBees allowed Morningstar to define authorization roles on pipeline execution between lower and higher environments. Developers are granted permission to deploy up to QA, while DevOps manages deployments to user acceptance testing/ production with validations related to the change advisory board process. Having the pipeline enforce segregation of duties controls gave developers the flexibility they needed while still enabling Morningstar to meet their compliance objectives.
Self-service
The platform’s self-service functionality lets each developer access new services on their own and onboard quickly and consistently.
Greater developer productivity
Today, developers spend less time worrying about deployments and can focus on delivering high quality features to clients.
More developer flexibility
Although development teams share common patterns, they aren’t tied to a specific set of software tools. Teams can choose what works best for them individually. This also means that Morningstar can leverage existing tools in its toolchain.
Improved scalability
Morningstar can release additional pipeline functionality across multiple teams procedurally, so every team can take advantage of new pipeline features without significant impact to project deadlines.
Looking Ahead
With little more than a year of the CloudBees Platform under its belt, Morningstar is rolling out plans to further enhance the power of its software delivery platform. The development and central IT organizations are currently looking for ways to continue to evolve and enhance its approach, including:
Improve code quality (integrating CI with SonarQube) using build gates
Identify security vulnerabilities earlier in the development cycle
Adopt the use of feature flags to turn off failing features in production – automatically
Use metrics/data to drive continuous improvement across the organization