Get Started with Appian DevOps

Start your Appian DevOps Journey

This article addresses the most common challenges encountered by Appian experts when working with customers on their DevOps journeys. It emphasizes the importance of learning to use Appian's out-of-the-box Compare & Deploy capabilities, as well as integrating Appian's embedded DevOps capabilities with external or specialized tools and practices.

Additionally, it references how Appian's internal IT department empowers their DevOps developers and suggests implementing measures to track your DevOps success.

Leverage Appian Compare & Deploy

For organizations new to Appian, we recommend deploying your first applications with Direct Deployments within Appian using Compare & Deploy. This'll enable you to push your objects from one Appian environment to another and leverage Appian’s out-of-the-box DevOps features to:

  • Compare versions of an object within a single Appian environment in a graphical and intuitive way
  • Compare objects across Appian environments in a graphical and intuitive way (i.e. between DEV and TEST environments)
  • Create and deploy packages from one environment to another
  • Centralize deployment approval and review processes

In this early stage, it may be tempting to manually deploy changes. However, as the use of Appian increases across an organization, automating deployments and simplifying change and release processes eases the burden in a more scaled DevOps model. Furthermore, using agile delivery practices coupled with enhanced automation can allow for the early detection of code issues in an environment that supports more frequent application releases.

Application Vision Board
Using the Compare and Deploy feature to detect conflicts.

Organizations often overlook Appian's out-of-the-box deployment capabilities while trying to standardize their DevOps tool suite. While popular tools like Jenkins and Azure offer many features, forcing-fit Appian low-code objects into existing DevOps pipelines can cause issues. Assess how much of your organization's needs can be fulfilled by Appian's out-of-the-box DevOps capabilities before looking to alternative options.

Implement External Tools & Practices

As you develop and deploy more applications on Appian, you may need to use external DevOps tools to manage your deployment pipeline. This can help with source control, change auditing, and regulatory obligations. Using these tools can also make it easier to scale deployments due to customizable pipelines and automation. Consider how to implement these tools with your Appian applications.

The main advantage of using external tools is typically allowing the code for your applications to be source-controlled in a repository (such as GIT) and then building your patches and/or packages from there. However, managing Appian code in GIT is very different from managing high-code (such as Java) in GIT and can be extremely difficult. This can be done with your Appian applications through the Appian Version Manager (AVM).

The other main benefit of external tool integration is the ability to orchestrate automated test and regression suites post-deployment to ensure functionality is working as expected. This can take the form of executing test cases against your Appian expression rules or invoking automation suites built using tools such as Fitnesse or Cucumber. Be sure to have these results feed back into your pipeline and trigger exceptions if any failures occur.

When using other DevOps tools, challenges arise when exporting Appian objects as compressed files with non-deterministic XML. These are difficult to read outside of Appian, and comparing different versions using traditional text comparison tools is challenging. Unlike Appian's intuitive comparison features, comparing XML is resource-intensive and not user-friendly. Additionally, checking in Appian packages using a 'high code' approach can be complicated and time-consuming for developers, taking away from development time and causing potential deployment issues.

Empower DevOps Developers

Appian's internal IT teams substantially increased their development and delivery velocity to meet growing project demand from lines of business. They identified manual processes, handoffs, and repetitive tasks within the DevOps pipeline that were limiting developers. One issue developers noted was the bottleneck created by manual steps and reviews to promote applications across environments.

To address this, Appian created a self-service capability that allowed developers to directly promote applications and code across Development (Dev), Test, and Production (Prod) environments in real time. Prior to this, Appian developers often reported having to "hurry up and wait" for code reviews and for a governance body to manually promote code from one environment to the next.

To me, DevOps and CI/CD are fundamentally about the deployment pipeline and how you move code across environments. You need to make sure you can do it in a streamlined fashion that doesn’t involve too many tasks and leverages governance and structures already in Appian. By automating reviews and enabling any developer to promote from the Dev to Test environment, we not only increased the speed to delivery, but also reallocated 10% of our team to higher value activities.
Ahmed Elmorsy, Sr. Director - Business Applications at Appian

Read the full story about how Appian implemented these changes and tips for your organization on Empowering Developers Across the CI/CD Pipeline.

Track Success

To implement DevOps effectively, it is crucial to understand and measure key outcomes. Streamlining deployments through DevOps can significantly reduce deployment time and free up developers to work on new features or enhancements. Appian suggests tracking the following metrics as a baseline in most cases:

  • Time taken for developers to push their code changes to source control
  • Time taken to deploy a package to a target environment
  • Number of issues executing the deployment
  • Number of issues as a result of the deployment
  • Time taken to find the following metrics of current and past deployments:
    • Success / Not Successful
    • What was deployed
    • Who deployed and when

It’s important to track the success of your approach to ensure that what you’re implementing is doing more good than harm. DevOps shouldn’t just be implemented for the sake of ticking a box. By tracking the metrics mentioned above, you should be able to demonstrate how your team is becoming more agile and productive.

Key Take Aways

DevOps is and will continue to be an important aspect of software development. Organizations are looking to deliver features to end users faster and more efficiently. However, this can be a challenge when contrasting Appian's low-code platform with traditional high-code development.

To overcome this challenge, Appian offers a robust out-of-the-box set of DevOps features. These should be your go-to solution for your initial Appian application. Once your development cycle has matured, you may look to implement external tools. However, be sure to define and measure what success looks like for your organization.

Downloadable Resources