There was a period in ADF's early life when I kept a mental list of sources that weren't supported. It was a meaningful list -- long enough to influence architecture decisions. That period is over.
ADF crossed 90 supported connectors in 2020. The blog posts from 2014-2015 complaining about connector limitations are historical artifacts now. What I want to do here is explain what a comprehensive connector library actually means in practice for the real workloads I see in client engagements.
The Full Connector Picture
Azure Services -- Complete Coverage
Every Azure data service you'd realistically use: Azure SQL Database, Azure SQL Managed Instance, Azure Synapse Analytics, Azure Cosmos DB (multiple APIs), Azure Table Storage, Azure Blob Storage, Azure Data Lake Storage Gen2, Azure Database for MySQL, Azure Database for PostgreSQL. If Microsoft built it and stores data in it, ADF connects to it.
Relational Databases -- The Full Roster
SQL Server, MySQL, PostgreSQL, Oracle, Teradata, IBM DB2, Sybase, SAP HANA, Amazon Redshift, Google BigQuery, Netezza, and yes, Greenplum. If you're connecting to a relational database in 2020 and it's not on that list, you're probably working with something genuinely obscure.
SaaS Platforms -- The Ones That Actually Matter
Salesforce, Dynamics 365, SAP (ECC, BW, S/4HANA via SAP ODP), ServiceNow, Marketo, HubSpot, Zendesk, Concur, QuickBooks Online. The connector for each of these varies in depth -- some have rich read/write capability, some are read-only or limited to specific objects -- but the connection exists and works for the most common use cases.
File Formats
Parquet, ORC, Avro, Delta, CSV, JSON, XML, Excel (yes, Excel), binary. Compression codecs: GZip, bzip2, deflate, ZipDeflate, Snappy, LZ4. If you're working with a file format on a modern data platform, it's covered.
Cloud Storage
Azure (Blob, ADLS Gen2), AWS S3, Google Cloud Storage, FTP, SFTP, HTTP. Cross-cloud data movement works out of the box.
What This Actually Changes in Client Work
The practical impact is that the connector is almost never the bottleneck in project conversations anymore. In 2015, a significant portion of a project scoping call could go toward "will ADF connect to this?" Today that question comes up rarely, and when it does, the answer is almost always yes.
The conversations have shifted to more interesting problems: How do we model the incremental load? What's the right watermark strategy for this source? How do we handle schema drift when the source changes? How do we isolate failures in a ForEach loop so one bad source doesn't abort the entire run?
Those are better problems to be solving. They're also harder problems -- the connector was just configuration, these require design decisions.
The Remaining Connector Gaps
I said the connector gap story is essentially over. "Essentially" is doing work in that sentence. There are still gaps, and they're worth naming.
Some REST APIs with complex OAuth flows -- multi-step token exchange, non-standard grant types, APIs that require per-request HMAC signing -- still require the Generic REST connector plus a Custom Activity for the auth layer. The Generic REST connector handles standard OAuth 2.0 well, but vendor-specific authentication quirks can push you off the happy path.
Legacy on-premises sources -- older AS/400 connections via proprietary drivers, Progress OpenEdge, some older Informix deployments -- sometimes require ODBC through a Self-Hosted IR. The ODBC connector works, but you're managing the driver on the SHIR machine.
A handful of niche SaaS platforms aren't on the list and likely never will be unless they become mainstream enough to justify the development cost. For those, the Generic REST or HTTP connector usually gets you there, with some work.
The Takeaway
The connector library in 2020 is comprehensive enough that "ADF doesn't support it" is no longer a routine concern in architecture conversations. That's a meaningful maturity milestone. The platform that couldn't connect to Teradata in 2014 now handles 90+ sources and sinks across cloud, on-premises, relational, NoSQL, file, and SaaS categories.
If you're hitting a specific connector case that isn't covered by the standard library, reach out. I've probably run into the same edge case and have a working pattern. I'm here to help.