The solution is primarily used for the ETL process. Another use case is transforming data from one format to another format.
The solution is easy to use and developer friendly. Many customizations can be performed with a good grasp of the C# language.
There are a lot of connectors that are not available right now. Some third-party connectors and adapters are available, but not directly from Microsoft data, which is an issue. And in terms of maturity, it is a good product. But, again, the way the industry uses these ETL tools, SSIS is not preferred because of many factors. Microsoft is no longer promoting the tool itself and is more focused on its cloud framework. That could be one of the reasons, but a smaller company prefers to SSIS because it is usually free with the SQL Server.
There are a lot of things that Microsoft could improve in relation to SSIS. One major problem we faced was when attempting to move some Excel files to our SQL Server. The Excel provider has a limitation that prevents importing more than 255 columns from a particular Excel file to the database. This restriction posed a significant issue for us, and as a workaround, we had to convert the files to CSV format before importing them. While it involved some manual effort, it was not a big deal since it was a one-time task. These are some small areas of improvement. There's one tool, a very famous and popular tool among banking clients, that supports this kind of data load in SSIS.
Moreover, in the case of a pivot, which is available in your Excel, there are a lot of ways an Excel file can be created, and you can have a favorite kind of data format in Excel. Importing data of that kind into SSIS can be problematic, and it cannot be done easily. It requires writing some sort of custom code. These basic issues need improvements.
However, I don't think Microsoft would be willing to make any modifications to the existing capabilities provided by the tool. The reason is that there are already many third-party vendors offering similar functionality through their plugins.
For example, you can install these plugins within your Visual Studio, and they provide an extra set of features integrated into Visual Studio and SSIS. Perhaps that's why Microsoft has stopped actively improving upon certain features. But, again, this introduces an overhead in terms of development cost. To access additional tools or features, I have to purchase them from another vendor and then implement them.
Moreover, if something is not directly supported by Microsoft and relies on third-party tools, it can become a significant issue, as I'll have to depend on those vendors, which poses another challenge.
I have been using SSIS for more than 12 years.
The solution is pretty mature.
I rate the solution’s stability a nine out of ten.
We have never faced any significant issues as long as your underlying hardware has a good amount of resources.
Scalability depends on the kind of workload and implementation you are giving to SSIS.
It is best suited for small and medium. However, for enterprises, it depends on the specific implementation they require. Real-time scenarios might not be the best fit, but for batch processing, it can still be suitable.
I rate the solution’s scalability an eight out of ten. It essentially gives most of the small and medium use cases, you will be easily able to implement and scale SSIS.
It is very difficult to get support from Microsoft. They will support you till they're getting paid. Microsoft is not interested in support in case of a small issue or help. It is very difficult to get support directly from Microsoft.
When it comes to ease of use, SSIS has an advantage over a tool called Informatica, which is also an ETL tool I've worked with. SSIS is more developer-friendly, even though Informatica provides GUI support. However, SSIS has a wider range of connectors compared to Informatica, making it easier to perform various transformations within the server itself.
On the other hand, Informatica's repository feature is quite robust. SSIS has a repository feature but doesn't have its own implementation. To use a repository feature like DFS, Azure DevOps, or SVN, you need to purchase extra licenses and integrate them into your solution.
The initial setup was pretty simple. To install the SQL Server, select the feature during installation on the same server. In the case of a separate server, opt for SSIS service installation instead of installing the SQL Server, and it will be pretty quick. You can have your server up and running within ten minutes.
The solution is economical. It comes free with the SQL Server. You don't have to worry about the pricing as long as you're installing both services on the same server.
Overall, I rate the solution an eight out of ten. There is room for improvement.