Author: Colin Schoenfelder | Sep 2020
In the past year, we have been developing our own DevOps pipeline for Appian projects that we call the Macedon Application Pipeline (MAP). We built it to address our internal projects’ needs, which has allowed us to put it through rigorous real-world testing. At the time of this writing, MAP actively manages 9 repositories, 89 applications, 52 branches, and boasts 824 deployments. Our development teams and structure are complex, and our applications have large code bases that require careful governance to manage. MAP has been a huge success, allowing us to maintain a high velocity in a dynamic development environment.
How We Got Here
For the last five years, Macedon has used Appian to build out our company’s internal applications. These systems control a broad range of our back-office and delivery functions, ranging from expense management, project health and staffing, CRM tools, accounts payable and receivable, and even snack management. Our business very much runs on Appian.
By their nature, our internal projects have a high degree of staffing change and reprioritization for customer projects, and we often have several parallel streams of development running at the same time. This has introduced a big challenge for code promotion and deployment, as resources may work on an internal project for a few days, complete a few stories, then roll onto a customer project. The need for coordination around changed objects and deployment is critical.
Using Appian Deployment Manager to stage and deploy code seemed like the obvious solution. However, this required local environment setup, and there was a ramp-up period with the command line tools before a developer could be effective. We needed a solution that was easy for developers to use, easy for deploy-masters to manage, and secure so that we had control over what was promoted to higher environments. Naturally for us, Appian seemed like a logical platform choice for us to build our solution.
Sharing the Value
We are always looking to create efficiency in our delivery at Macedon, and when we find something that works we are quick to systemize and implement broadly. Once we proved its effectiveness, we packaged MAP into an AppMarket solution that any Appian customer could take advantage of.
For customers who do not have established systems and processes for custom software development, Macedon can setup and maintain the environments that are needed to support the MAP pipeline. MAP interfaces with a Jenkins installation and a Subversion repository in order to execute builds and deployments as well as stage and store code.
For customers who do have established DevOps technologies, MAP is constructed in a modular manner so that it can be adapted to work with a Git repository, and any other pipeline tool like Bamboo or GitLabs. In this way, we can be flexible to bring the efficiencies MAP offers to any type of software development environment.
MAP will continue to be iterated upon, bringing in new features that will make lives even easier for developers and coordinators. However, deployment is only part of the development lifecycle. We are exploring integration with the full SDLC process, from automation idea generation, to backlog management systems, automated testing tools, and beyond.
At Macedon, we recognize that delivery is far more than just development. Our goal is to make sure that every customer, from those where custom software is new to those where it is widely adopted, all get maximum value from their initiatives. MAP is now part of the toolset that Macedon proudly brings to engagements to meet that goal.
For a more thorough look at MAP, join our Webinar on September 30th where we’ll walk through the full solution and be ready to answer any questions about how it can fit in your organization.
Want more insights from Technest? Stay in the loop and subscribe to our blog.