The most popular Linux distribution for the desktop

Ubuntu Linux Journal

Subscribe to Ubuntu Linux Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Ubuntu Linux Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Ubuntu Linux Authors: Elizabeth White, Don MacVittie, SmartBear Blog, Liz McMillan, Jnan Dash

Related Topics: Ubuntu Linux Journal, DevOps Journal

Blog Feed Post

Ubuntu Core: Snappy with a Side of DevOps By @LMacVittie | @DevOpsSummit [#DevOps]

Ubuntu Core is what's being called a "micro-OS"; a stripped down, lean container-supporting machine

Lacking the traditional fanfare associated with any technology that can use the word "container" or mention "Docker" in its press release, Ubuntu Core and its new Snappy system management scheme was introduced late last year. Since then, it's been gaining steam with Microsoft and Amazon and Google announcing support for the stripped-down version of the operating system.

Ubuntu Core is what's being called a "micro-OS"; a stripped down, lean container-supporting machine that's becoming more popular for web and hyper-scale environments like cloud and mobile devices and even networking devices. At Mobile World Congress in March, the Canonical team put together what they called the cheapest X86 with 6 ports to become the smartest switch at the show. Networking, IoT and refrigerators came together all thanks to Ubuntu core and its snappy new system.

While that might not be your cup of tea (not being a big networking fan), it's what it demonstrates that's important to DevOps: the ability to reach beyond apps and into the broader application infrastructure with a new software management system, Snappy.

Snappy differentiates itself from other software management systems by being transactional. That means there's essentially a big red "rollback" button available that, in the event of an issue with an update, can restore the software to its previous (working) state. It manages this because a Snappy system is broken up into three partitions; two of which are not writable and are managed exclusively by Snappy. The third partition is writeable and is where all persistent data is stored. The two read-only partitions are used by Snappy to manage updates. As the frameworks and apps in a system are updated, they are automatically backed up, if you will, using the read-only partitions and if something goes wrong, the images on those partitions can be used to restore the active (writeable) partition.

Snappy also differentiates frameworks like Docker from the apps deployed using that framework through different security and isolation policies. Frameworks extend the base system, so they're governed by security policies while apps are isolated and have limited ability to poke around the system.

Ubuntu Core and Snappy are being touted as designed for microservices, which are growing in popularity as the basis for web and hyper-scaled applications and which tend to incorporate notions of immutability that fit well with this new update paradigm.

Snappy is particularly well suited, then, to those implementing DevOps-driven processes not necessarily because of its stripped down size or suitability to fit into a containerized environment, but because of the way it manages updates (and thus maintains state of the system). Snappy's transactional system fits well into the world of continuous delivery, particularly as CD continues to push outside its traditional boundaries of app dev and into the infrastructure owned by operations, as noted by DZone's Guide to Continuous Delivery.

A significant percentage (57%) of respondents interested in DevOps and specifically, continuous delivery, want to implement CD for infrastructure. Systems like Ubuntu Core with Snappy are making that desire feasible not only by extending CD to application infrastructure but even further into the application affine networking components like load balancers and application proxies.

That's critical as microservices, microsegmentation and cloud architectures continue to push the envelope in terms of scale of infrastructure required but also how fast the elements within those architectures change. Manual processes that don't scale along with the architectures can be significant obstacles in realizing business goals of faster time to market and higher levels of responsiveness to customer demand in addition to maintaining stability in the face of extreme growth.

The ability to standardize toolsets and processes makes it easier to extend CD in a wider circle of influence around the application, and that's one of the (perhaps unintended) advantages Ubuntu's Snappy brings to the table.

Read the original blog entry...

More Stories By Lori MacVittie

Lori MacVittie is responsible for education and evangelism of application services available across F5’s entire product suite. Her role includes authorship of technical materials and participation in a number of community-based forums and industry standards organizations, among other efforts. MacVittie has extensive programming experience as an application architect, as well as network and systems development and administration expertise. Prior to joining F5, MacVittie was an award-winning Senior Technology Editor at Network Computing Magazine, where she conducted product research and evaluation focused on integration with application and network architectures, and authored articles on a variety of topics aimed at IT professionals. Her most recent area of focus included SOA-related products and architectures. She holds a B.S. in Information and Computing Science from the University of Wisconsin at Green Bay, and an M.S. in Computer Science from Nova Southeastern University.