Quality assessment in DevOps: Automated Analysis of a Tax Fraud Detection System Diego Perez-Palacin, Youssef Ridene, José Merseguer University of Zaragoza, Netfective Technology Diego Perez-Palacin
Big Blu eGov Tax Fraud Detection System Under Development by Netfective Technology Diego Perez-Palacin
Big Blu eGov Tax Fraud Detection System Under Development by Netfective Technology u Tax fraud represents a huge problem for governments. https://ec.europa.eu/taxation_customs/fight-against-tax-fraud-tax-evasion/missing-part_en u EU has estimated tax evasion to be of the order of 1 trillion euros Diego Perez-Palacin
Big Blu Big Blu is developed following Agile and DevOps principles Follow an iterative process with incremental iterations pursuing • Ø Quick design Ø Quick delivery of enhancements Ø Quick feedback Bring closer Development and Operations activities to improve • the effectiveness of each incremental iteration Ø Achieve faster iterations Ø Achieve higher proportion of iterations with satisfactory results Diego Perez-Palacin
Big Blu u Software Architecture composed of 3 main layers: GUI: web based application. Unique interface • Web Services: implement RESTful interoperability and deployed • on Tomcat Back-end: Data processing elements • Diego Perez-Palacin
Big Blu u Software Architecture composed of 3 main layers: GUI: web based application. Unique interface • Web Services: implement RESTful interoperability and deployed • on Tomcat Back-end: Data processing elements • Diego Perez-Palacin
Big Blu u Software Architecture composed of 3 main layers: GUI: web based application. Unique interface • Web Services: implement RESTful interoperability and deployed • on Tomcat Back-end: Data processing elements • Diego Perez-Palacin
Big Blu u Software Architecture composed of 3 main layers: GUI: web based application. Unique interface • Web Services: implement RESTful interoperability and deployed • on Tomcat Back-end: Data processing elements • Diego Perez-Palacin
Big Blu u Software Architecture composed of 3 main layers: GUI GUI: web based application. Unique interface • Web Services: implement RESTful interoperability and deployed • on Tomcat Web Services Back-end: Data processing elements • Back-end Diego Perez-Palacin
DICE approach Researches towards building a quality-driven framework for development, deployment, monitoring and continuous improvement of Data-Intensive Cloud Applications. u Pursues developments with Iterative Quality enhancements u Delivers a toolchain for: Design • Quality analysis • + PROFILING Deployment • Testing • Monitoring (collect data, visualization, anomaly detection, trace • checking) Enhancement • Diego Perez-Palacin
DICE approach Researches towards building a quality-driven framework for development, deployment, monitoring and continuous improvement of Data-Intensive Cloud Applications. u Pursues developments with Iterative Quality enhancements u Delivers a toolchain for: DICE Simulation tool Design • Quality analysis • + PROFILING Deployment • Testing • Monitoring (collect data, visualization, anomaly detection, trace • checking) Enhancement • Diego Perez-Palacin
DICE Simulation Tool u Based on eclipse plugins Delivered with SimTool Simulator Simulator GUI GreatSPN adapter Credentials manager Diego Perez-Palacin
DICE Simulation Tool u Based on eclipse plugins Delivered with SimTool Simulator Simulator GUI GreatSPN adapter Credentials manager Diego Perez-Palacin
DICE Simulation Tool u Based on eclipse plugins Delivered with SimTool Simulator Simulator GUI set model configure simulation GreatSPN adapter Credentials manager Diego Perez-Palacin
DICE Simulation Tool u Based on eclipse plugins Delivered with SimTool Simulator Simulator GUI launch GreatSPN adapter Credentials manager Diego Perez-Palacin
DICE Simulation Tool u Based on eclipse plugins Delivered with SimTool Simulator Simulator GUI simulate GreatSPN adapter Credentials manager Diego Perez-Palacin
DICE Simulation Tool u Based on eclipse plugins Delivered with SimTool Simulator Simulator GUI simulate read credentials GreatSPN adapter set credentials Credentials manager Diego Perez-Palacin
DICE Simulation Tool u Based on eclipse plugins Delivered with SimTool Simulator Simulator GUI view results GreatSPN adapter Credentials manager Diego Perez-Palacin
DICE Simulation Tool Usefulness in Agile cycles following DevOps u Scenario 1: Development of new functionalities PROBLEM In agile cycles, the required quality of the new functionalities may • not be clear for developers Ø The quality requirements refer to the overall system quality CONSEQUENCES • Obtained quality of the new functionality is not good enough and the cycle has to be repeated Diego Perez-Palacin
DICE Simulation Tool Usefulness in Agile cycles following DevOps u Scenario 1: Development of new functionalities APPROACH TO SOLUTION Obtain values for ``appropriate quality’’ of the new functionality • that can be already asserted during the unit tests Developers deliver a functionality that passes these unit tests a go • to next phases of the cycle with some confidence about the quality Diego Perez-Palacin
DICE Simulation Tool Usefulness in Agile cycles following DevOps u Scenario 1: Development of new functionalities APPROACH TO SOLUTION Obtain values for ``appropriate quality’’ of the new functionality • that can be already asserted during the unit tests Ø Analyze the expected system quality based on what-if values of the quality offered by the new functionality. E.g., predict system response time considering different resource demands of the new functionality https://en.wikipedia.org/wiki/File:Devops-toolchain.svg Deliver a functionality that passes these unit tests • Diego Perez-Palacin
DICE Simulation Tool Usefulness in Agile cycles following DevOps u Scenario 2: Maintenance of functionalities PROBLEM Quality of a functionality has to be improved… • Ø Due to changes in the utilization of the application Ø Due to new quality restrictions and improvable designs …and can be improved in different phases of DevOps toolchain • CONSEQUENCES Maintenance may not achieve the expected quality • Modifications result more expensive than necessary • Diego Perez-Palacin
DICE Simulation Tool Usefulness in Agile cycles following DevOps u Scenario 2: Maintenance of functionalities APPROACH TO SOLUTION Update the models with recent monitored data • Identify quality issues • Evaluate the alternatives to solve the issues • Decide for the maintenance that seems the ”smartest” action • https://en.wikipedia.org/wiki/File:Devops-toolchain.svg Diego Perez-Palacin
Big Blu Quality assessment Diego Perez-Palacin
Big Blu Quality assessment Diego Perez-Palacin
Big Blu Quality assessment u Quality malfunction reported à maintenance Diego Perez-Palacin
Big Blu Quality assessment u Quality malfunction reported à maintenance Diego Perez-Palacin
Big Blu Quality assessment u Quality malfunction reported à maintenance Workload= 1 request every 10 minutes??? prob=0.5 3 s 2 s 20 s 2.5min Performance requirement: Mean response time should be lower than 10 minutes Diego Perez-Palacin
Big Blu Quality assessment u Quality malfunction reported à maintenance Workload= 1 request every 10 minutes??? prob=0.5 3 s 2 s 20 s 2.5min??? Performance requirement: Mean response time should be lower than 10 minutes Diego Perez-Palacin
Big Blu Quality assessment u Quality malfunction reported à maintenance u Using the SimTool we obtain Diego Perez-Palacin
Big Blu Quality assessment u Quality malfunction reported à maintenance u Using the SimTool we obtain u Developers see two possible solutions Acquire more computing nodes to parallelise requests • Reengineer Launch Fraud Detection activity to make it faster • u Using the SimTool we obtain Diego Perez-Palacin
Big Blu Quality assessment u Quality malfunction reported --> maintenance u Using the SimTool we obtain u Developers see two possible solutions Acquire more computing nodes for to parallelise requests • Reengineer Launch Fraud Detection activity to make it faster • u Using the SimTool we obtain Diego Perez-Palacin
Big Blu Quality assessment u Quality malfunction reported --> maintenance u Using the SimTool we obtain u Developers see two possible solutions Acquire more computing nodes for to parallelise requests • Reengineer Launch Fraud Detection activity to make it faster • u Using the SimTool we obtain Diego Perez-Palacin
Big Blu Quality assessment u Adding a new functionality API that is invoked frequently • Provides volatile information to all clients • Diego Perez-Palacin
Big Blu Quality assessment u Adding a new functionality API that is invoked frequently • Provides volatile information to all clients • It executes in the Web Services layer • New functionality Diego Perez-Palacin
Recommend
More recommend