Third-party integrations (DevOps)
The Thinkwise Platform supports using specialized third-party DevOps tools to automate DevOps workflows, gain deeper insights, and speed up deployments. This page contains an overview of proven third-party DevOps tools for each of the phases of the DevOps Lifecycle. They are either natively integrated or can be used in conjunction with the Thinkwise Platform.
For functional integrations, see Third-party integrations (functional).
Choosing the right tools
The tools listed on this page are examples of tools that can be used with the Thinkwise Platform.
The Thinkwise Platform only uses mainstream technologies, provides an extensive API, and supports many different platforms. Because of that, you can integrate virtually any other third-party tool throughout the entire DevOps Lifecycle, regardless of whether it is mentioned here.
For more information on how to integrate third-party tools, see Indicium OData API and deployment automation.
All tools have advantages and disadvantages, and which tools suit your needs depends on your unique situation and requirements.
Planning integrations
During the Plan phase, development teams and stakeholders define the project goals, gather requirements, and set up a development roadmap.
You can use the following planning tools:
Development integrations
During the Develop phase, you create the data model, process flows, and user interface of your application.
The Thinkwise Platform provides an integrated SQL code editor and a full-fledged version control system with advanced model-based branching and merging capabilities. It is not necessary to use external code versioning systems like GitHub or GitLab.
Creating business logic
For some aspects of your application, like complex business logic and dynamic modeling, you need to write SQL code. You can use the integrated code editor, but the Thinkwise Platform also supports using a different SQL editor.
You can use the following editors (and popular extensions):
- SQL Server Management Studio - an integrated environment for SQL development that supports GIT integration, dark mode, Copilot, and more.
- Visual Studio Code with the MSSQL extension - a lightweight, cross-platform editor that supports many extensions.
- Azure Data Studio - this editor is supported, but is becoming obsolete in favor of Visual Studio Code with the MSSQL extension.
Merging code changes in different branches is supported through integration with differencing and merging tools.
You can use the following differencing and merging tools:
The Thinkwise Platform also provides integration with LLM providers to generate models and code based on natural language descriptions. You can use LLMs in your applications to build features with generative AI. In the Thinkwise Platform this is used to, for example, analyze and review code, and to generate descriptions of model objects or code templates. Currently, OpenAI and Azure OpenAI are supported. See also Enable generative AI.
Integration development and testing
You can use the following API development tools for developing and testing integrations with third-party applications and services:
Debugging
The Thinkwise Platform provides integrated tools to aid you when testing and debugging your code or integrations in running Thinkwise applications during development:
Build integrations
During the Build phase, you compile your source code, run automated tests, and prepare the software to be released. On the Thinkwise Platform, this phase consists of generating and validating the definition, followed by generating and executing the source code.
These steps can be executed manually from the Thinkwise Software Factory development, but can also be automated through the Thinkwise Platform API.
You can use the following CI/CD tools to automate the build pipeline:
You can use most of these CI/CD tools throughout the entire DevOps process, not just during the Build phase.
Test integrations
During the Test phase, your application is tested thoroughly for bugs, regressions, and other issues. You can use both the built-in testing features of the Thinkwise Platform and third-party testing tools to ensure the quality of your applications.
For more information, see Introduction to testing
Release integrations
During the Release Phase, your application is finalized and prepared for deployment.
Some components of the Thinkwise Platform, namely IAM, the Indicium Application Tier, and the Universal User Interface, are usually pre-deployed and do not necessarily change with a new release of your application.
The application-specific components can be deployed from the Software Factory development environment or manually, but for production environments we recommend using Deployment Packages. With deployment packages, you can easily deploy applications to separate locations, customers, or tenants.
You can create a deployment package manually in the Software Factory or through the platform's API. You can also automate this step using the recommended build pipeline tools.
Deployment integrations
During the Deployment phase, your Thinkwise application is deployed to production environments. Key activities include configuring environments, deploying applications, and verifying deployments, in both on-premises or cloud environments.
Configuration management
In certain cases, for example, if you want to deploy your application to multiple tenants, you might want to automate the configuration of the infrastructure.
You can use the following configuration management tools:
- TerraForm - manages infrastructure as code, allowing for automated provisioning of infrastructure, multi-cloud.
- Azure Resource Manager (ARM) Templates and Bicep - define and deploy Azure infrastructure resources.
- AWS CloudFormation - offers a way to model and set up Amazon Web Services resources using templates.
- Ansible - automates application deployment, configuration management, and continuous delivery.
- Chef - manages infrastructure as code, automating the setup and maintenance of servers.
- Puppet - automates the delivery and operation of software, ensuring consistency across environments.
Intelligent Application Manager
You can download deployment packages for the IAM platform components from the Thinkwise Community Portal. Execute the packages using the included Thinkwise Deployment Center, either through the GUI or the CLI. To automate deployments, you can use the CLI together with deployment and release management tools, see Automate deployment.
You can use CI/CD automation tools for deployment and basic release management.
If you are working with complex environments, you can use dedicated tools that provide more advanced features, for example:
- Octopus Deploy - dedicated deployment automation tool.
Application model and database
The deployment package of your application is created during the Release phase of the DevOps lifecycle. You can deploy it using the included Thinkwise Deployment Center, either through the GUI or the CLI.
Indicium and Universal GUI
You can download the runtime components of the Thinkwise Platform (the Indicium Application Tier and the Universal User Interface) from the Thinkwise Community Portal, and deploy them using the included Thinkwise Deployment Center, either through the GUI or the CLI.
You can also use the provided container images that you can download from the Thinkwise Container Registry. A container image is an application together with all the required dependencies wrapped together into a single image, which can be deployed and updated on many different platforms.
You can use the following tools for container deployment and orchestration:
- Docker Compose with Swarm
- Kubernetes with Helm or Kustomize
All major cloud platforms provide services for running and managing container environments, like Azure Container Apps and Kubernetes Services, AWS App Runner, and Amazon Elastic.
Data migration and ETL
The Thinkwise Platform offers support for data migration from existing applications with the Thinkwise Upcycler. You can also import data via the Thinkwise GUI or API. For other data migration scenarios, you can use third-party tools.
Data migration via the Thinkwise Upcycler
The Thinkwise Platform provides all the tools to migrate the data from your old application to the Thinkwise application, including any data conversion and transformation required.
For more information, see Thinkwise Upcycler.
Data migration via the Thinkwise GUI or API
Sometimes, data migration scenarios include, for example, ISVs that need to import data from many different sources. The out-of-the-box import features of the Thinkwise GUI or API can often be used. Staging tables can help to clean up the data or to fix integrity issues.
Other data migration scenarios
In cases where the standard import does not suffice, you can use dedicated data migration or ETL (Extract Transform Load) tools that work directly on the Thinkwise database or through the Thinkwise API.
You can use the following data migration and ETL tools:
Operating integrations
The Operate phase focuses on maintaining and managing applications and infrastructure once they are in production. This includes incident management, performance tuning, capacity planning, and ensuring overall system reliability.
Common tools that are used in this phase are often provided by the used Cloud platforms. For container deployments, Kubernetes also plays a key role in the monitoring, scaling, and management of containerized applications.
Monitoring integrations
During the Monitor phase, both the application itself and the performance of the infrastructure it runs on are monitored continuously. That way, you can identify issues and gather information for potential improvements.
Backend
You can use the following tools to monitor Thinkwise applications and infrastructure:
- Azure Monitor
- Application Insights - part of Azure Monitor focused on the performance and user behavior of applications.
- Amazon CloudWatch
- PRTG
- Zabbix
- Nagios
Database
You can use the following tools to monitor and tune your database performance:
- SQL Server Query Store
- SQL Server Extended Events
- SolarWinds Database Performance Analyzer
- Brent Ozar - First Responder Kit
- Glenn's SQL Server Performance - Diagnostics Queries
Frontend
You can use the following tools to monitor the frontend of your application: