An Introduction to Linux Containers

By Susan Linton | Posted July 06, 2015

Linux container technology is the latest computing trend sweeping the computing world. A lot of financial and technical investors, Linux software programmers, and customers are betting that containers will change the way businesses manage their computer systems—from deployment to maintenance. Container technology has become its own ecosystem with no less than 60 companies supporting some aspect of the technology. But what exactly are Linux containers, and how can they help you?

Think about containers along the lines of separating your quarreling children into their own bedrooms. Once separated, the children's' behavior affects neither the other children nor the parents. Containers segregate your applications and services from other apps and services—and from the computer's operating system as well. This prevents misbehaving or comprised elements from disturbing the remaining system.

An introduction to Linux Containers

Container Technology Benefits

Containers are designed to address a number of frustrating IT issues. A traditional office computer setup consists of a physical desktop containing hardware and an operating system. Each of those systems requires security and application updates. When it comes to servers, you can have a room full of machines with one customer per machine, or you can employ virtualization and have multiple customers on each machine. A small office might use virtualization to serve their employees applications and storage to a thin desktop, which is sometimes called a local cloud.

If servers stop working, your whole office could be at a stand-still until the problem is fixed, which could be hours or even days later. If your IT guy quits, your new hire spends weeks and even months trying to figure out the last guy's system. Updating software and trying to manage versions and compatibilities can be a real burden. Sometimes the updates break things, again taking down your business for hours or days.

The Holy Grail of IT is to deploy secure technology at the speed of light with no downtime at all—and do this at an affordable cost. Redundancy and data backups are the mantra of IT. Containers reduce time and monetary investments first by eliminating total redundancy and limiting the number of backups required in normal operations. You'll still need to back up your work and data while your IT department backups its configuration files, but a container company or free software provider—like Red Hat, Docker, or Linux Containers (LXC)—handles the operating system as well as applications

Container technology's greatest promise is the change in deployment and updating. Traditional deployment can be confusing and time consuming finding the correct version for your particular system as well as trying to keep abreast of the latest security bulletins. With a commercial container supplier like Docker, or a complete system developer like Red Hat, most of that confusion disappears.

You start with your base operating system and install the container engine. Then using any application is as easy as starting it at the commandline (for now). The application and everything it needs to run are bundled together saving time, effort, and frustration. Updates are automatic in some cases and much easier in others. If you subscribe to a container company's services, your applications will arrive updated to the latest stable version with all the up-to-the-minute security patches.

Updates—independent of the underlying operating system—are verified to work. If a problem does arise, rollbacks are available for immediate use. If you administer a private cloud/container server, then updates arrive as a whole already tested for compatibility with the other components. Again, if a problem does occur the entire update will fail and automatically "rollback" to the previous state.

To make life even easier, several software companies are designing complete operating systems just for deploying containers, and most are even coming up with their own engines and applications. Red Hat has released Atomic Host, Ubuntu has Snappy Core, Intel's Clear Linux, and CoreOS are just a few. With these you install the image just as your do your traditional system now. Container technology can be installed on many operating systems, but these base operating systems—designed for containers and the cloud—simplify things.

The Advantages of Linux Container Technology

  • Easier deployment and maintenance
  • Faster and easier security and new version updates
  • Immediate rollbacks in case of disaster
  • No single user, service, or application can affect others; greater stability and security
  • Better resource allocation by eliminating virtualized hardware and wasted physical hardware allocation
  • Proven improved scalability and easier load balancing over traditional and virtualized systems

There are disadvantages as well. Right now, containers are a relatively new technology and the industry is moving fast. Several companies are competing to become king of the containers, and a few have teamed up to standardize the technology. While several high profile companies use container technology, it can be intimidating for smaller Mom & Pop's due to perceived and actual complexity. In addition, some people question if security will really improve as advertised since containers potentially have access to some protected parts of the system.

Container companies and free software groups are addressing those concerns. They're working on graphical configuration tools to make the technology easier, and Docker recently released a security configuration and auditing tool. CoreOS includes better tools for managing and securing containers as well. The industry seems to be moving toward a standard, and many companies with their own container offerings—except Docker—are declaring their support for what looks to be the emerging specifications.

Summing Up Linux Containers

Companies should educate themselves about container technology, because it's definitely coming. Whether actual deployment is right for you now depends on your company. Containers work well for smaller companies whose business depends on their Web presence, those that have more than a few employees, or those with employees that need to remotely connect to the company network.

A recent survey found that interest in containers comes not just from vendors and large companies, but from end-users and small start-ups as well. Smaller businesses should begin learning and provision a testbed. Start planning for the day that this concept becomes the way software is routinely delivered.

Containers offer too many advantages to developers who have struggled for years to compile and package their software for literally dozens of architectures, sets of libraries, and package management systems. Ideas for standardized software delivery have been tried several times, and they usually fail to gain wide acceptance. This one has the support of the hardware, mobile, services, Web, and software sectors. The consensus is containers are the future, and it won't hurt to have a jump on the game.

Susan Linton, a writer of, and expert in, all things Linux and open source, founded the website TuxMachines.org in 2004.

Do you have a comment or question about this article or other small business topics in general? Speak out in the SmallBusinessComputing.com Forums. Join the discussion today!

Comment and Contribute


     

    Get free tips, news and advice on how to make technology work harder for your business.

    Submit
    Learn more
     
    You have successfuly registered to
    Enterprise Apps Daily Newsletter
    Thanks for your registration, follow us on our social networks to keep up-to-date