Using Proget and SynchroFeed to drive componentization and automation
At Alkami, we have been componentizing our monolith application by breaking it down into packages. These packages are nuget packages for .NET libraries and choco packages for microservices and widgets. Proget is our package server which is fed artifacts from our Bamboo server. We then use a product we open sourced called SynchroFeed to validate packages and mirror packages to our external feeds. This presentation will highlight Alkami's CI/CD architecture using Bitbucket -> Bamboo -> Proget -> Whitesource -> SynchroFeed -> Team City for deployment and how it allowed us to handle the explosive growth in microservices.
Outline/Structure of the Presentation
- About Me
- We started with a monolith...and life was good
- Unfortunately, the monolith was getting messy - Too big, Too much testing, Too slow to deploy
- We need to componentize - The march to microservices
- Challenges breaking down the monolith
- Alkami's CI/CD Toolset
- Pre-release build process
- Pre-release validation process
- Whitesource - Security and Compliance
- SynchroFeed Open Source Project
- What can I do with SynchroFeed?
- SynchroFeed Command Pipeline - Validate and Catalog Package
- SynchroFeed and Slack - Communicate failures to Development team
- Pre-release/Release Deployment - Team QA testing
- Release Deployment - Integrated QA testing
- Release Deployment - Staging Deployment
- Release Deployment - Production Deployment
- SynchroFeed External Feed Synchronization - Supporting our SDK Customers
- SynchroFeed Proget sync to folder - reducing load on Proget server
How Alkami handled componentization and the move to microservices which caused an explosion of growth in repos, build plans, packages and deployments.
Developers, DevOps, System Reliability Engineers
Prerequisites for Attendees
The participants should have an interested in automating CI/CD through packages.