Home Blog Page 421

Tips for Automating Distributed Logging on Production Kubernetes

Any Kubernetes production environment will rely heavily on logs. Using built-in Kubernetes capabilities along with some additional data collection tools, you can easily automate log collection and aggregation for ongoing analysis of your Kubernetes clusters.

At Kenzan, we typically try to separate out platform logging from application logging. This may be done via very different tooling and applications, or even by filtering and tagging within the logs themselves.

Read more at The New Stack

JavaScript Trends for 2018

Trying to bet on how many new JavaScript frameworks will be released each month, is, the best software engineer’s game in the past 5 years.

Something interesting since last year: The race to the “best ever ever ever framework” in JavaScript slowed down and the focus is more on tools or features around popular frameworks. It’s like a shift between “I like this from A, I don’t like this from B, so I will create C!” and “I did a good job with A, let’s improve this part by creating A+”. I really think 2018 will be the perfect time for learning one Javascript framework for good. At least before the “next big framework” 🙂

GraphQL: I believe that GraphQL could become a standard in 2018. GraphQL brings a new way to query data from server to frontend. You can think of it as a new protocol, a communication standard between client and server. Not only for websites, but also for desktop and mobile apps. This concept of “fetching only what you need” is important and should be at the core of every front and back end development. Reducing the size of every network exchange is crucial, especially for users with slow networks.

React: who doesn’t know React in 2018? React is actually not easy to learn, I see my students challenged by it everyday. But when all concepts of props, state, life cycle, actions, etc… are mastered, it is a very powerful tool. It will remain a strong Javascript framework in 2018…

Vue.js: We witnessed an interesting fight between React and Vue.js last year. Both are powerful, but Vue.js is easier to learn than React. The community around it is starting to grow rapidly and I predict that the industry will continue to adopt it in production.

React Native and Electron: While they are still not at the level of native app languages (iOS, Android and desktop), their performances are really impressive. Two frameworks that will do well for desktop and mobile apps.

Reason: The new way to write React applications; bye bye pure Javascript! It is trendy, but I believe that with the support of Facebook it could become the next standard for writing React applications. We should keep an eye on it and watch how the language evolves in the year to come.

Next and Now: React has a strong ecosystem. Next and Now are proof of it. It is easy to use and makes React projects ready for production. Deploying and distributing React applications at scale can be challenging, mainly for small teams because they are designed to make a developer’s life easier.

Lona : transform Sketch files to UI code: iOS, Android, Web and Web mobile. It’s based on a simple app that can solve a lot of communication issues between Designers and Developers. With Lona, designers can directly integrate and test their creation easily without bothering developers.

Aurelia : is a complete solution to  easily creating a simple online presence: web, mobile and desktop. It’s a good tool for any new project or start-up: easy to learn, easy to put in place and good support.

By Guillaume Salva, Full-Stack Software Engineer at Holberton School

The 5 Best Linux Distributions for Development

When considering Linux, there are so many variables to take into account. What package manager do you wish to use? Do you prefer a modern or old-standard desktop interface? Is ease of use your priority? How flexible do you want your distribution? What task will the distribution serve?

It is that last question which should often be considered first. Is the distribution going to work as a desktop or a server? Will you be doing network or system audits? Or will you be developing? If you’ve spent much time considering Linux, you know that for every task there are several well-suited distributions. This certainly holds true for developers. Even though Linux, by design, is an ideal platform for developers, there are certain distributions that rise above the rest, to serve as great operating systems to serve developers.

I want to share what I consider to be some of the best distributions for your development efforts. Although each of these five distributions can be used for general purpose development (with maybe one exception), they each serve a specific purpose. You may or may not be surprised by the selections.

With that said, let’s get to the choices.

Debian

The Debian distribution winds up on the top of many a Linux list. With good reason. Debian is that distribution from which so many are based. It is this reason why many developers choose Debian. When you develop a piece of software on Debian, chances are very good that package will also work on Ubuntu, Linux Mint, Elementary OS, and a vast collection of other distributions.

Beyond that obvious answer, Debian also has a very large amount of applications available, by way of the default repositories (Figure 1).

Figure 1: Available applications from the standard Debian repositories.

To make matters even programmer-friendly, those applications (and their dependencies) are simple to install. Take, for instance, the build-essential package (which can be installed on any distribution derived from Debian). This package includes the likes of dkpg-dev, g++, gcc, hurd-dev, libc-dev, and make—all tools necessary for the development process. The build-essential package can be installed with the command sudo apt install build-essential.

There are hundreds of other developer-specific applications available from the standard repositories, tools such as:

  • Autoconf—configure script builder

  • Autoproject—creates a source package for a new program

  • Bison—general purpose parser generator

  • Bluefish—powerful GUI editor, targeted towards programmers

  • Geany—lightweight IDE

  • Kate—powerful text editor

  • Eclipse—helps builders independently develop tools that integrate with other people’s tools

The list goes on and on.

Debian is also as rock-solid a distribution as you’ll find, so there’s very little concern you’ll lose precious work, by way of the desktop crashing. As a bonus, all programs included with Debian have met the Debian Free Software Guidelines, which adheres to the following “social contract”:

  • Debian will remain 100% free.

  • We will give back to the free software community.

  • We will not hide problems.

  • Our priorities are our users and free software

  • Works that do not meet our free software standards are included in a non-free archive.

Also, if you’re new to developing on Linux, Debian has a handy Programming section in their user manual.

openSUSE Tumbleweed

If you’re looking to develop with a cutting-edge, rolling release distribution, openSUSE offers one of the best in Tumbleweed. Not only will you be developing with the most up to date software available, you’ll be doing so with the help of openSUSE’s amazing administrator tools … of which includes YaST. If you’re not familiar with YaST (Yet another Setup Tool), it’s an incredibly powerful piece of software that allows you to manage the whole of the platform, from one convenient location. From within YaST, you can also install using RPM Groups. Open YaST, click on RPM Groups (software grouped together by purpose), and scroll down to the Development section to see the large amount of groups available for installation (Figure 2).

Figure 2: Installing package groups in openSUSE Tumbleweed.

openSUSE also allows you to quickly install all the necessary devtools with the simple click of a weblink. Head over to the rpmdevtools install site and click the link for Tumbleweed. This will automatically add the necessary repository and install rpmdevtools.

By developing with a rolling release distribution, you know you’re working with the most recent releases of installed software.

CentOS

Let’s face it, Red Hat Enterprise Linux (RHEL) is the de facto standard for enterprise businesses. If you’re looking to develop for that particular platform, and you can’t afford a RHEL license, you cannot go wrong with CentOS—which is, effectively, a community version of RHEL. You will find many of the packages found on CentOS to be the same as in RHEL—so once you’re familiar with developing on one, you’ll be fine on the other.

If you’re serious about developing on an enterprise-grade platform, you cannot go wrong starting with CentOS. And because CentOS is a server-specific distribution, you can more easily develop for a web-centric platform. Instead of developing your work and then migrating it to a server (hosted on a different machine), you can easily have CentOS setup to serve as an ideal host for both developing and testing.

Looking for software to meet your development needs? You only need open up the CentOS Application Installer, where you’ll find a Developer section that includes a dedicated sub-section for Integrated Development Environments (IDEs – Figure 3).

Figure 3: Installing a powerful IDE is simple in CentOS.

CentOS also includes Security Enhanced Linux (SELinux), which makes it easier for you to test your software’s ability to integrate with the same security platform found in RHEL. SELinux can often cause headaches for poorly designed software, so having it at the ready can be a real boon for ensuring your applications work on the likes of RHEL. If you’re not sure where to start with developing on CentOS 7, you can read through the RHEL 7 Developer Guide.

Raspbian

Let’s face it, embedded systems are all the rage. One easy means of working with such systems is via the Raspberry Pi—a tiny footprint computer that has become incredibly powerful and flexible. In fact, the Raspberry Pi has become the hardware used by DIYers all over the planet. Powering those devices is the Raspbian operating system. Raspbian includes tools like BlueJ, Geany, Greenfoot, Sense HAT Emulator, Sonic Pi, and Thonny Python IDE, Python, and Scratch, so you won’t want for the necessary development software. Raspbian also includes a user-friendly desktop UI (Figure 4), to make things even easier.

Figure 4: The Raspbian main menu, showing pre-installed developer software.

For anyone looking to develop for the Raspberry Pi platform, Raspbian is a must have. If you’d like to give Raspbian a go, without the Raspberry Pi hardware, you can always install it as a VirtualBox virtual machine, by way of the ISO image found here.

Pop!_OS

Don’t let the name full you, System76’s Pop!_OS entry into the world of operating systems is serious. And although what System76 has done to this Ubuntu derivative may not be readily obvious, it is something special.


The goal of System76 is to create an operating system specific to the developer, maker, and computer science professional. With a newly-designed GNOME theme, Pop!_OS is beautiful (Figure 5) and as highly functional as you would expect from both the hardware maker and desktop designers.

Figure 5: The Pop!_OS Desktop.

But what makes Pop!_OS special is the fact that it is being developed by a company dedicated to Linux hardware. This means, when you purchase a System76 laptop, desktop, or server, you know the operating system will work seamlessly with the hardware—on a level no other company can offer. I would predict that, with Pop!_OS, System76 will become the Apple of Linux.

Time for work

In their own way, each of these distributions. You have a stable desktop (Debian), a cutting-edge desktop (openSUSE Tumbleweed), a server (CentOS), an embedded platform (Raspbian), and a distribution to seamless meld with hardware (Pop!_OS). With the exception of Raspbian, any one of these distributions would serve as an outstanding development platform. Get one installed and start working on your next project with confidence.

Learn more about Linux through the free “Introduction to Linux” course from The Linux Foundation and edX.

This Week in Open Source News: Barcelona Chooses Linux, Open Source 3D Printing Majorly Cuts Costs & More

This week in Linux and open source headlines, the city of Barcelona ditches Microsoft in favor of Linux, 3D Printing with open source results in a staggering decrease in price, & more

1) Barcelona picks Linux for “full technological sovereignty.”

Windows vs Linux: Open Source Beats Microsoft to Win Barcelona’s Backing– ZDNet

2) Open source 3D printing results in savings of “over 17,000% when compared to commercial slot die systems for laboratories” a study finds.

Open Source 3D Printing Cuts Cost From $4,000 to only $.25 Says New Study– 3D Printing Industry

3) The Linux Foundation announced the availability of a new training course, Administering Linux on Azure.

Linux Foundation Shares Some Love Back For Microsoft Azure– Forbes

4) “Verizon has solidified ONAP as the next-gen automation standard.”

Verizon’s Participation Solidifies ONAP as a Service Automation Standard, Says Analyst– FierceTelecom

5) Starting on Thursday, Slack will be available as a Snap, (an application package that’s available across a range of open-source-based Linux environments.)

Slack Comes to Linux as a Snap– TechCrunch

The Gravity of Kubernetes

Most new internet businesses started in the foreseeable future will leverage Kubernetes (whether they realize it or not). Many old applications are migrating to Kubernetes too.

Before Kubernetes, there was no standardization around a specific distributed systems platform. Just like Linux became the standard server-side operating system for a single node, Kubernetes has become the standard way to orchestrate all of the nodes in your application.

With Kubernetes, distributed systems tools can have network effects. 

Read more at HackerNoon

 

Blockchain Technology: From Davos to Daily Life, Its Impact is Here

Headlines frequently herald how blockchain technology will revolutionize financial services markets, but blockchain will also have a transformative impact on everything from the food industry to healthcare. While some companies are looking at blockchain’s future impact, the technology is changing our world right now. According to a Forbes article, blockchain is revolutionizing contracts, payment processing, asset protection, and supply chain management. And, a market intelligence report by BIS Research reports that blockchain-driven cost savings of $30 to $40 billion per year will be achieved in trade finance.

Meanwhile, blockchain technology is already impacting various industries. In the area of global food supply chain management, for example, Intel is collaborating with the Hyperledger community to implement a modern approach to seafood traceability. 

Read more at The Linux Foundation

First Impressions: Asus Tinkerboard and Docker

I’ve spent many hours playing with both 32-bit and 64-bit ARM System-on-Chip (SoC) boards, so you may be wondering why I ordered another – the Asus Tinkerboard. Well here are my first impressions with the board as I try to get Docker and Kubernetes up and running.

Highlights

The Asus Tinkerboard looks like a Raspberry Pi and has a similar form-factor, but it’s a much more powerful board than the Raspberry Pi with double the RAM and potentially 10x more Ethernet bandwidth available. You also get a heat-sink included and a warning that the board can run quite hot.

Read more at Alex Ellis blog

Upcoming Free Webinars From The Linux Foundation

Learn about The Linux Foundation’s latest initiatives and industry trends, or dive into technical training topics with our free webinar series. Register today to save your spot!

Global Container Adoption: A Closer Look at the Container Ecosystem in China

Tuesday, March 20th, 2018 10:00 Pacific Time

Containers are an unstoppable global development. New survey data from the Cloud Native Computing Foundation shows that almost all (97 percent of Mandarin-speaking) respondents were using containers in some way. 

Join us for a webinar with Huawei CTO Dr. Ying Xiong, CNCF VP of Marketing Dee Kumar and The New Stack Editorial Director Libby Clark to get the latest research, analysis and perspectives on how the container ecosystem is evolving in China. 

Attendees will get early access to new CNCF data that identifies adoption patterns, challenges and opportunities with container and Kubernetes deployments in China.  

A founding platinum CNCF member and one of the earliest Kubernetes adopters in China, Huawei will share how the container ecosystem is evolving in Asia. Huawei’s Kubernetes experience spans many business scenarios and industries, leveraging ServiceStage and cloud container engine (CCE) on its own public cloud. At present, Huawei is also the leading contributor to the Kubernetes community in China and fifth in the world overall.  

The New Stack’s Libby Clark will highlight their new data on how Kubernetes is deployed and the infrastructure powering those deployments, including storage and networking. She’ll discuss findings from the new ebook Kubernetes Deployment & Security Patterns, sponsored by KubeCon + CloudNativeCon. 

Register today for the latest findings on global container ecosystem growth. 

Register


deploying linux on azure webinar

Deploying Linux on Azure

Wednesday, March 21st, 2018 10:00 Pacific Time

Managing Linux in an Azure environment is different. In this webinar you’ll learn how Linux is different in an  Azure environment, and which skills Linux and Azure administrators should possess to successfully manage Linux in an Azure environment.

Register


Past Webinars

Access and replay video recordings of any of our previous webinars. Once you’ve registered on our webinar portal you can simply enter your email on subsequent visits to access and watch all of our on-demand webinar content. Visit our online webinar portal.

View more on-demand webinars by topic:

Getting Started >>

System Administration >>

Linux Kernel >>

Embedded Development >>

Open Source Strategy >>

Networking >>

Cloud >>

 

Strong Incident Response Starts with Careful Preparation

Through working every day with organizations incident response (IR) teams, I am confronted with the entire spectrum of operational maturity. However, even in the companies with robust IR functions, the rapidly evolving threat landscape, constantly changing best practices, and surplus of available tools make it easy to overlook important steps during planning. As a result, by the time an incident occurs, its too late to improve their foundational procedures. 

Broadly put, there are three phases to an IR plan: Preparation, Response, and Post-Incident. In this three-part series, I’ll cover the important steps in each phase that many organizations overlook. 

Read more at Security Week

Linux Fu: Custom Bash Command Completion

If you aren’t a Linux user and you watch someone who knows what they are doing use Bash — the popular command line interpreter — you might get the impression they type much faster than they actually do. That’s because experienced Linux users know that pressing the tab key will tend to complete what they are typing, so you can type just a few characters and get a much longer line of text. The feature is very smart so you may not have realized it, but it knows a good bit about what you could type. For example, if you try to unzip a file, it knows the expected file name probably has a .zip extension.

Turns out completion depends on a particular GNU library known as readline. It reads text for lots of different programs, including Bash and you can configure it using the .inputrc file in your home directory. For example, here’s my .inputrc:

Read more at Hackaday