Home Blog Page 539

TNS Research: Tell Us About Your Kubernetes Experience

The New Stack provides comprehensive coverage of the Kubernetes open source container orchestration engine, and we’re looking to invest in the community even further. In 2016, our survey reported on “The Present State of Container Orchestration,” but a lot has changed in the last year. While Kubernetes’ current mind-share surpasses that of many competitors, the container wars are far from over. The success of Kubernetes depends on the satisfaction of early adopters and documentation of its success across many different use cases.

That’s where you come into the picture! We are surveying people that have already evaluated Kubernetes. We’re looking to better understand how and why those early adopters chose Kubernetes, and how they’re currently using it. The results will form the foundation of an upcoming e-book series on The State of the Kubernetes Ecosystem.

Take the Kubernetes user survey now!

Read more at The New Stack

Node.js Docker “Good Defaults”: A Best Practice Template for Node In A Container

TL;DR: Get the Project Skeleton on GitHub and improve your Node+Docker skills

I’ve been a Node fan since 2012, when Kevin Griffin and I shifted our bootstrap startup to it from asp.net. I’m no expert (like the ETA shop is) but I’ve used it and Docker long enough to learn the happy path for Developers + Operations.

So I made you this with ❤️

This project turns on all the Buttery Goodness of Docker and Docker Compose so your Node app will develop and run best in a Container, both for development, and for production.

I’ve created documentation and a project skeleton on GitHub, and welcome feedback in the issues.

Read more at Bret Fisher

Agile Development Spawns a Lexicon

In his 1957 book Parkinson’s Law, and Other Studies in Administration, the naval historian and author C. Northcote Parkinson writes of a fictional committee meeting during which, after a two-and-a-half-minute nondiscussion on whether to build a nuclear reactor worth US $10 million, the members spend 45 minutes discussing the power plant’s bike shed, worth $2,350. From this he coined Parkinson’s Law of Triviality: “Time spent on any item of the agenda will be in inverse proportion to the sum involved.”

Using Parkinson’s example, the programmer Poul-Henning Kamp popularized the term bikeshedding: frequent, detailed discussions on a minor issue conducted while major issues are being ignored or postponed. The functional opposite of bikeshedding is trystorming, which refers to rapidly and repeatedly prototyping or implementing new products and processes. In a bikeshedding culture, ideas get only a short discussion before being put off “for further study.”

Read more at IEEE Spectrum

Tales of a Chef Workflow: Data Bags

One of the many features of Chef is something called a Data Bag. Simply put, this allows you to store a blob of JSON based data on a Chef server that is shared across your Chef environments. If you have organizational level data that must be shared and not unique across environments, this is a great, easy system to store and retrieve this data. For this article, my example is the list of our network blocks at DNSimple. We have quite a bit of address space with the amount of hardware we have deployed and we share this data in various cookbooks to know which systems are on our network. This comes in handy when we want to put in firewall rules to allow only traffic from within our own networks, etc.

As I mentioned earlier, data bags are basically a bucket into which you put blobs of JSON data known as a data bag item into. 

Read more at DNSimple

An Introduction to Libral, A Systems Management Library for Linux

Libral provides a uniform management API across system resources and serves as a solid foundation for scripting management tasks and building configuration-management systems.

Linux, in keeping with Unix traditions, doesn’t have a comprehensive systems management API. Instead, management is done through a variety of special-purpose tools and APIs, all with their own conventions and idiosyncrasies. That makes scripting even simple systems-management tasks difficult and brittle.

For example, changing the login shell of the “app” user is done by running usermod -s /sbin/nologin app. This works great until it is attempted on a system that does not have an app user. To fix the ensuing failure, the enterprising script writer might now resort to:

Read more at OpenSource.com

lnav – Watch and Analyze Apache Logs from a Linux Terminal

Less than two weeks ago, the Wannacry ransomware attack compromised thousands of computers, causing considerable losses to big companies and individuals alike. That, along with other widespread vulnerabilities found in recent years (such as the Shellshock bug), highlight the importance of staying on top of your mission-critical systems.

Although vulnerabilities often target one specific operating system or software component, examining the traffic that goes in and out of your network can be a significant help to protect the assets you are responsible for.

Read more at Tecmint

A Brief Look at the Roots of Linux Containers

In previous excerpts of the new, self-paced Containers Fundamentals course from The Linux Foundation, we discussed what containers are and are not. Here, we’ll take a brief look at the history of containers, which includes chroot, FreeBSD jails, Solaris zones, and systemd-nspawn. 

Chroot was first introduced in 1979, during development of Seventh Edition Unix (also called Version 7), and was added to BSD in 1982. In 2000, FreeBSD extended chroot to FreeBSD Jails. Then, in the early 2000s, Solaris introduced the concept of zones, which virtualized the operating system services.

With chroot, you can change the apparent root directory for the currently running process and its children. After configuring chroot, subsequent commands will run with respect to the new root (/). With chroot, we can limit the processes only at the filesystem level, but they share the resources, like users, hostname, IP address, etc. FreeBSD Jails extended the chroot model by virtualizing users, network sub-systems, etc.

systemd-nspawn has not been around as long as chroot and Jails, but it can be used to create containers, which would be managed by systemd. On modern Linux operating systems, systemd is used as an init system to bootstrap the user space and manage all the processes subsequently.

This training course, presented mainly in video format, is aimed at those who are new to containers and covers the basics of container runtimes, container storage and networking, Dockerfiles, Docker APIs, and more.

You can learn more in the sample course video below, presented by Neependra Khare (@neependra), Founder and Principal Consultant at CloudYuga, Docker Captain, and author of the Docker Cookbook:

Want to learn more? Access all the free sample chapter videos now!

Web Developer Security Checklist

Developing secure, robust web applications in the cloud is hard, very hard. If you think it is easy, you are either a higher form of life or you have a painful awakening ahead of you.

If you have drunk the MVP Kool-aid and believe that you can create a product in one month that is both valuable and secure — think twice before you launch your “proto-product”. After you review the checklist below, acknowledge that you are skipping many of these critical security issues. At the very minimum, be honest with your potential users and let them know that you don’t have a complete product yet and are offering a prototype without full security.

Read more at SenseDeep Security

10 JavaScript Concepts Every Node.js Programmer Must Master

With JavaScript and the V8 engine at the core, an event-driven architecture, and scalability out of the box, Node.js has quickly become the new de facto standard for creating web applications and SaaS products. Many frameworks like Express, Sails, and Socket.IO enable users to quickly bootstrap applications and focus only on the business logic.

Of course Node.js owes much to JavaScript for its enormous popularity. JavaScript is a multiparadigm language that supports many different styles of programming, including functional programming, procedural programming, and object-oriented programming. It allows the developer to be flexible and take advantage of the various programming styles.

Read more at InfoWorld

Using Docker in Production

Right now, Docker is an excellent tool to manage distributed applications. This is the result of quite a bit of evolution; in its earlier stages, Docker focused mainly on managing containers themselves. Thinking back to two or three years ago, getting started with Docker was a bit of a pain because there weren’t very mature developer tools in the ecosystem. Instead you were left with documentation and really long “docker run” commands, and you really had to know what was happening at the container level. Now Docker has grown and evolved a bit to where the container is just an implementation detail, allowing you as an engineer to focus on what’s really important: the services themselves. 

Read more at O’Reilly