CI/CD pipeline with Apprenda, Jenkins, and ONTAP 9 with APIs
Continuous Integration (CI) tests the code in an iterative and automated process to improve code quality by identifying bugs in the code in the early stages. CI allows developers to respond to market demands and release applications a lot quicker by having more control over the workflow. CloudBees Jenkins Enterprise is one of the most popular CI tools commonly used by developers.
Continuous Deployment (CD) means a successful build can be promoted to QA testing or preproduction staging. The build-to-QA-to-staging workflow can be completely automated. CD is extremely useful for consumer-driven and e-commerce businesses that require very short release cycles—constantly pushing new features, content, and services to mobile devices, websites, and social media channels.
Apprenda Platform as a Service (PaaS) is one of the most popular platforms used to provide a standard and consistent runtime environment for applications that are developed and deployed into production. NetApp provides storage and data management capabilities for all data that is created from development to deployment and makes sure that data is protected over the entire application lifecycle.
The following video walks you through a NetApp-Jenkins-Apprenda integration, demonstrating a CI/CD workflow that supports applications moving from development into production:
Apprenda reduces the friction between building and deploying applications by using the Apprenda Jenkins Plugin that pushes the application archive along with artifacts to Apprenda for deployment. This entire process is scripted to automate and improve the deployment experience with Apprenda on NetApp:
The CI workflow runs on the Apprenda PaaS but the Jenkins jobs run in Docker containers that mount volumes on the NetApp storage over NFS. Apprenda manages the creation of Docker containers on hosts that support Docker and mounts the NetApp shared volumes using theNetApp Docker volume Plugin (nDVP) for persistent storage. While Docker containers provide scalability at the compute layer, NetApp provides data scalability and load balancing at the storage layer.
The CD workflow takes successful code builds in the form of .war files (if it is a Java-based application) through the process of staging and user acceptance testing before the application is finally deployed in production.
NetApp native technologies like Snapshot® and FlexClone® in ONTAP® 9 integrate directly into the CI/CD workflow using RESTful APIs to significantly reduce build time and improve developer productivity. NetApp also provides high data availability, storage space efficiency, data security, encryption, compliance, and other data-level services.
Automating the CI/CD workflow enables organizations to have an integrated code pipeline that pushes out new releases in hours or days compared to weeks or months. Using NetApp provides up to 65% of storage space savings while lowering the load on compute and storage systems, thereby dramatically reducing overall infrastructure costs.
For a detailed technical overview of the NetApp integration with Apprenda, see TR-4559: Continuous Integration (CI)/Continuous Deployment (CD) Pipeline with Apprenda ONTAP 9