DevOps with LSPS
By Radovan Cervenka
DevOps (software development and IT operations) aims to shorten the software application development life cycle and provide continuous delivery with high quality. In LSPS, DevOps comes hand-in-hand with BPM - DevOps focusses more on the development of a business software system and BPM more on modeling and running the business supported by a software system. Actually, the both are the different sides of the same coin - a business system supported by software. Let’s match the phases of these two approaches:
BPM | DevOps | |
---|---|---|
Design | Planning | |
Modeling | Coding, Building | |
Testing | Test | |
Execution | Releasing, Deployment, Operation | |
Monitoring | Monitoing | |
Optimization | Planning |
The planning phase is about management of requirements, getting feedback from stakeholders, gathering the monitoring results, preparing the development roadmap and planning the next steps. Simply, everything what happens before coding and modeling. You can use your favorite tools for ticketing, planning, requirements management, etc., however, also LSPS tools can help in this stage. For instance, business engineers can use the Designer to model the desired solution or changes of the existing business model and to prototype it. They use well-known modeling instruments for “drawing” processes, organization structures, data, UI, etc.
Thank to the continuous model validation, content assistance of model parts, one-click deployment and instant execution of a model and automated unit/integration/system tests, the model-test-fix cycle is really fast with the Designer during the coding, building and testing phases. For custom LSPS application, all available Java coding, building and testing tools can be used. LSPS uses the Maven ecosystem for application building.
All the modeling and custom LSPS application artifacts can be put to a version control system (VCS) to allow continuous integration of new or changed project artifacts by concurrently working developers. The Designer provides out-of-the-box Eclipse tooling for GIT and specific compare/merge tools for all GO‑BPMN model artifacts built over any VCS used by IDE. The Designer IDE allows to use any other Eclipse plugin for VCS.
Continuous releasing, testing and deployment are usually automated by tools such as Jenkins, Atlassian Bamboo, CruiseControl, GitLab CI/CD, and similar. You can use any of your choice.
Another option is to let LSPS to create a Docker image with the whole LSPS Server, LSPS application and application model easily deployable to any environment which can run Docker, e.g., to the most of the cloud services.
Operation phase is identical to the execution phase of BPM lifecycle when end-users are using the application.
Depending on requirements and accessability of the runtime environment, LSPS provides specific tools for application management and monitoring. Web-based LSPS Management Console, CLI for remote LSPS Server access and scripting tasks, or the Management perspective of the Designer tool. For technical monitoring of the application server, operating system resources, server resources, networking, etc. any tools can be used.
The issues of the application running and monitoring are usually recorded by a ticketing and problem-solving systems and come as input to the next planning phase.
With LSPS enriched by other 3rd-party (in our cases mostly free) tools we can effectively achieve continuous integration, continuous delivery, continuous deployment and continuous feedback - the main benefits of DevOps.