Welcome to curated list of handpicked free online resources related to IT, cloud, Big Data, programming languages, Devops. Fresh news and community maintained list of links updated daily. Like what you see? [ Join our newsletter ]

How does Alibaba ensure performance of system components in a 10,000-node Kubernetes cluster?

Categories

Tags devops kubernetes cloud containers software-architecture

The production environment of Alibaba consists of more than 10,000 containerized applications, with the entire network of Alibaba being a massive system using millions of containers running on more than 100,000 hosts. This is how they run it. By alibaba.com.

When running common loads in the simulated cluster, the team encountered extremely high latency, up to 10s in fact, for some basic operations such as pod scheduling. Moreover, the cluster was also unstable.

The article then describes, how:

  • Storage capacity of etcd was improved by separating indexes and data and sharding data. The performance of etcd in storing massive data was greatly improved by optimizing the block allocation algorithm of the bbolt db storage engine at the bottom layer of etcd. Last, the system architecture was simplified by building large-scale Kubernetes clusters based on a single etcd cluster
  • List performance bottleneck was removed to enable the stability of operation of 10,000-node Kubernetes clusters through a series of enhancements, such as Kubernetes lightweight heartbeats, improved load balancing among API servers in high-availability (HA) clusters, List-Watch bookmark, indexing, and caching
  • Hot standby mode greatly reduced the service interruption time during active/standby failover on controllers and schedulers. This also improved cluster availability
  • Performance of Alibaba-developed schedulers was effectively optimized through equivalence classes and relaxed randomization

Excellent read, well worth your time!

[Read More]

How a single Raspberry Pi made my home network faster

Categories

Tags software iot software-architecture learning

The Pi Hole project adds an entire new level of performance and security to our home network. Powered by Docker and a Raspberry PI I can now block all unwanted Ads and Metrics network wide. By Brian Christner.

The author used Raspberry Pi project Pi Hole as the gatekeeper to his home network.

The Pi Hole answers your computer’s DNS queries and if it is a domain on the blacklist, it sends the request to the Pi Web server. This Web server just serves up a blank page. So instead of loading the ad from the real domain, the blank page from the Pi is downloaded, thus “blocking” the ad or metric.

The article then describes:

  • Installing Pi Hole – everything in a Docker container
  • Pi Hole in Operation
  • Review after 1 month in operation

The Pi has been chugging along at 8% memory utilization, and the network is considerably faster when surfing the web. Statistically speaking author’s household averaged 15% of queries blocked and a spike over a bad weather weekend of 30% blocked. Nice one!

[Read More]

Run Python versions in Docker: How to try the latest Python release

Categories

Tags python docker containers learning programming

Geir Arne Hjelle put together this guide about how to run different Python versions using Docker, including how you can have the latest alpha running on your computer within minutes.

A Docker container is an isolated environment. Therefore, you usually don’t need to add a virtual environment inside the container. Instead, you can run pip directly to install the necessary packages

In this tutorial, you’ll learn:

  • Which versions of Python are available
  • How to get started with Docker
  • How to run different Python versions in Docker containers
  • How to use Docker containers as Python environments

Links to further resources and interesting reading provided. Good, detailed guide for anybody relatively new to containers and Docker. Give it a try!

[Read More]

Distributed teams are helping startups scale faster

Categories

Tags startups teams miscellaneous career cio

An article by Alexandre Lazarow about a broader trend – the growing trend of a distributed workforce model.More startups are using a distributed workforce model earlier in their lifecycle.

Mary Meeker’s latest Internet Trends Report shows for instance that 5% of the American labor force works remotely (nearly double the 3% in 2000), representing over 8 million Americans. Astoundingly, nearly 50% of the US workforce has spent at least some time working remotely.

The article dives into:

  • What ‘distributed’ means
  • Diversifying the talent pool
  • The labor cost advantage
  • More integrated, not less

Distribution refers to an organization where the team is dispersed across multiple locations. For startups, that might mean the technology development team and sales teams are in different geographies. Some startups choose to go a step further by becoming remote, where they may not have formal offices. Nice one!

[Read More]

How to conduct UX research if you're an introvert

Categories

Tags ux how-to big-data data-science management teams

If your goal is to gather as many insights as possible, you need to open your participant up. And how do you open someone up if you’re scared yourself? Here are some things I learned along the way that you might find helpful. By Olga Wojnarowska.

Memorize formalities you have to say at the beginning. And in case you get nervous and your memory fails, have some notes on you that will help you go on.

The article then describes the steps you can take to conduct interview:

  • Be prepared
  • It’s your territory – you are in charge here
  • Start off with an icebreaker
  • Take breaks
  • Try an unconventional approach

If you’re an introvert, it might not mean that you’re super shy, but it probably means that social interaction drains you. So take breaks to help your energy levels. Good read!

[Read More]

Practicing computer science skills anytime

Categories

Tags learning programming how-to data-science

As parents, we are constantly getting advice on how to prepare our children for the future. At the same time, the tools they are using to learn, like tablets, computers, and the internet, may be very different than the ones we grew up with. By Katie Hessen, M.S.

For this young generation, computer science will be a part of many aspects of their lives — even if they don’t become professional computer programmers. While many schools do not start computing classes until middle school, there is no need to wait to introduce your child to computer science.

Computational thinking practices set up learners for more than working on a computer. Building your child’s computational thinking skills will increase her confidence and better prepare her for the road ahead. Best of all, you are probably already using computational thinking practices in your everyday life. Here are some ways you can practice computational thinking skills as a family:

The article focuses its attention on some ways you can practice computational thinking skills as a family:

  • Decomposition
  • Debugging
  • Persistence
  • Pattern Recognition

The article also has plethora of further resources for playing, reading, watching. Excellent!

[Read More]

HTML, CSS and Go: Vugu premise and example

Categories

Tags javascript frameworks nodejs web-development miscellaneous

An article by Brad Peabody about Vugu andd WwebAssembly. Vugu is a Go library that makes it easy to write HTML markup and Go code which is compiled and run in the browser using WebAssembly.

To put it differently: Vugu lets you write single-page web applications (SPAs) starting with HTML layout and using Go to handle program logic.

The article dives into the topic:

  • How it Works
  • Hello, World
  • But Why?
  • What Makes Web Development Productive
  • Reactive web programming has proven its effectiveness

… and more. The example code is also available in this repo. While Vugu is in its infancy, it still supports many features one would expect in a complete web UI library or framework: single-file components, event handling, conditions and loops with vg-if and vg-for, nested components with properties, static html generation, a caching system to reduce unnecessary updates, a development server to handle the edit/build/reload cycle upon page refresh, a basic playground. Give it a try!

[Read More]

Safer code with container types (Either and Maybe)

Categories

Tags javascript nodejs web-development programming how-to

Joan Llenas put this article together about safer types with TypeScript. There are only two hard things in Computer Science: null and undefined.

Every time we annotate a variable with a Type, that variable can hold either a value of the annotated Type, null, or undefined (and sometimes even NaN!).

That means, to avoid errors like Cannot read property ‘XYZ’ of undefined, we must remember to consistently apply defensive programming techniques every time we use it.

Another tricky aspect of the above fact is that semantically, it’s very confusing what null and undefined should be used for. They can mean different things for different people. APIs also use them inconsistently.

The article then focuses on:

  • What can go wrong?
  • Maybe to the rescue
  • Either to the rescue

And here is an example:

import { Maybe } from "ts.data.maybe";

interface User {
  id: number;
  nickname: string;
  email: string;
  bio: Maybe<string>;
  dob: Maybe<Date>;
}

We’ve learned that container Types are wrappers for values that provide APIs so we can safely operate with them. Nice one!

[Read More]

Build a simple blog using Axios with React

Categories

Tags react web-development programming how-to apis

In this article, we are going to learn how to use Axios with React to make API requests and also how to handle the response. We’d learn this by building a simple blog using a fake API server. By Dillion Megida.

Communicating with APIs before was usually done with the fetch API. Axios doesn’t replace this but only makes the communication easier. It also has better error handling, easy header configurations and the readability of code is improved.

The article content is split into:

  • What is Axios?
  • Blog Project
  • POST Request

Plenty of code examples. Good read for new comers into web development!

[Read More]

The many meanings of Open: Open Data, Open Source, and Open Standards

Categories

Tags open-source miscellaneous cloud programming

Anne Hale Miglarese wrote this explanation of various ‘open’ terms. Open data, open source, and open standards are not synonymous and should not be conflated.

The confusion poses a challenge for many organizations, in particular, those which lack technological expertise but nevertheless work on global issues that seek out “open” digital solutions. In this article, we define the parameters of open data, open source, and open standards, and identify the key differences between them.

The article describes in some detail what is:

  • Open Data
  • Open Source
  • Open Standards

The Open Knowledge Foundation defines open data as “data that can be freely used, shared and built-on by anyone, anywhere, for any purpose.” In these instances, data are shared with an open license, such as the public copyright Creative Commons license. Nice one!

[Read More]