Windows administrators who are making the jump to Linux are often disoriented by how different everything is; not
just the terminology, but the way things work, including many of the same basic types of applications.
Because the geography is so dissimilar, many of the same things exist in parallel implementations that don't look the same; the way directory services and authentication are done, for instance. In this article, I'll walk through many of the common applications and services that Windows provides and discuss their Linux equivalents.
Directory services and authentication are as important in Linux as they are in Windows. That said, Windows admins who are familiar with Active Directory (AD) -- and if you aren't, you need to be -- may wonder what the Linux equivalent is.
One important thing to understand is that AD serves two functions in a Windows environment: it provides directory information about users and objects, and is used to authenticate or authorize those users and objects to do certain things. Linux has two separate, but interrelated, entities for accomplish each of those tasks.
The first, directory information, is done through an implementation of LDAP, such as OpenLDAP. The second, authentication, is done through a mechanism like Kerberos. The second is usually accessed through the first in some form (i.e., to talk to Novell eDirectory, you can use an LDAP call of some kind). The exact implementation of Kerberos may vary between distributions of Linux, but most any GNU/Linux distributions include some kind of Kerberos package, either as a client-authentication package or a server.
A number of different directory service possibilities exist for Linux, each with their own quirks but all designed to cover the same territory. If you set up a major professional distribution of Linux, some variety of directory and authentication service is almost always included. Novell's SuSE Linux Enterprise Server, for instance, comes with Novell's eDirectory product, which has some AD-like functions such as being able to automatically replicate directory information between multiple directory masters. Red Hat Fedora Directory Server covers much the same territory, and can even export select portions of the directory to read-only servers; in Active Directory, every directory server has to copy everything and be read/write.
The most "generic" implementation of LDAP in Linux is probably OpenLDAP, but it has some limitations; mainly, it can only support one master catalog server at a time in any given domain. OpenLDAP, being open source, is also available in a Windows implementation.
Because these are theoretically open standards, it's not uncommon to see interoperation between Linux and Windows servers; for instance, in a transitional environment, where you're moving from one architecture to the next. One example of this might be using a Windows domain controller for the core Active Directory LDAP repository and have Linux servers talk to the Windows server to perform Kerberos authentication.
Microsoft Exchange (coupled with Outlook) is the most common Windows email solution in organizations, and it also provides collaborative services like calendaring. The single biggest commercial solution for Linux in this space is also one of Exchange's biggest direct competitors on Windows as well—none other than IBM's Lotus Notes. There's great breadth of adoption and support for Notes, and it should probably be one of the first choices to consider when making a switch. Version 7 now exists in both Linux client and server editions for Red Hat and SuSE. I must add, however, that Notes'quirks are broadly documented.
Other solutions also exist at varying levels of complexity and commercial support. The Open-Xchange project has both open-source and commercial implementations, each of which is suited to different levels of need. Please note that a fast-growing or midsized organization tends to outgrow the free version fairly quickly. Zimbra is a similarly-forked project, with a free open-source and a commercially-supported edition, which mainly uses its own AJAX-driven web interface, but also works with some proprietary clients such as Outlook and Novell Evolution.
I should also mention Scalix, a commercial product also accessible from multiple clients, and Ximian, now Novell Evolution, a front-end client which integrates with Novell GroupWise, Exchange, and a number of other backends. If you're working in a mixed environment, knowing about solutions like this can come in handy.
Network control and proxying
One of the interesting things about using Linux as a network-control system -- i.e., a proxy or firewall like ISA Server IPCOP, for instance, or Trustix Secure Linux, both of which include only what is needed to get the job done and have a heavy emphasis on stability as well as security.
Commercial Linux distributions sport some variety of proxying and network control as a standard feature. The Red Hat Network systems management platform includes, among many other things, a proxy server of its own with a web-based management interface.
Not everyone running a database on a Windows server would use Microsoft SQL Server, but it tends to be a common presence, especially for users of Windows Small Business Server 2003, where it's one of the standard options. Many of the database packages that exist on Linux also exist in Windows implementations and are used fairly commonly there, too. MySQL and PostgreSQL are the two most commonly-used products, thanks to their highly liberal licensing, their advanced feature sets, and their broad communities of support; not just for using the products, but also for migrating to and from other databases.
Applications that have been written from the ground up to talk to multiple database products will usually include detailed instructions on how to connect to each database, although they may not have migration tools. For instance, to move a SQL Server-hosted data package to MySQL, you would probably need to export the data from one and re-import it on the other. This would not cover things like stored procedures or other database-specific things that might need to be rebuilt from the ground up, though. Many major commercial databases also exist in Linux implementations, such as IBM's DB2 and Oracle, and converting a SQL Server database into one of those systems can usually be done with good support from the manufacturers, or from third parties like Ispirer or SwisSQL.
The key thing to remember is that the vast majority of things you see in Windows have existed in the Unix world for a long time and, consequently, in the Linux world, too. The Windows versions are typically derived directly from them. Kerberos, for instance, had been in use in the Unix world in various ways before it was adopted as the default authentication protocol in Windows 2000 and higher. As long as you remember to look for substitutes by function and need -- rather than by appearance or implementation --you'll be able to cover all the same territory you did in Windows, and probably more.