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 ]

Good engineering practices while working solo

Categories

Tags teams performance devops miscellaneous

An article by Shalvah about time when you got to go it alone and how do you make the most out of it. And while much of product development involves being able to manage or work with the rest of the team, it’s equally important to develop good practices while working solo.

Why should I bother about my engineering practices?

  • You’ll be an asset to your team
  • You’ll be a better developer

Some of these good practices:

  • Stick to a workflow
  • Compose reusable components and modules
  • Write documentation
  • Communicate
  • Monitor
  • Observe and iterate

We liked: Transparency leads to accountability. When you know you have to report your dealings to someone (be it your peers or your boss), it helps you to remain focused. This is one reason why many companies have standup meetings. Nice one!

[Read More]

Behavioral programming with Petri Nets

Categories

Tags programming miscellaneous

Fabrizio Romano Genovese wrote article about behavioural programming and how to use Petri nets to design software. A Petri net, also known as a place/transition (PT) net, is one of several mathematical modeling languages for the description of distributed systems.

In behavioral programming, as the name suggests, you must think in terms of which properties (behavior) you want your software to have.

In this sense, programming becomes goal-oriented, and starts with a high-level sketch of the software structure. In our context, this means that we will start sketching the code structure, we will test for its behavior and then we will refine it so that it meets our goals.

The article then explains very simple and understandable problem: you have four philosophers at a table which can either think or eat. The catch is that they have to share cutlery, and coordinate between them about this.

Read the article to learn how they model it! There are also links to further resources and video explaining modeling of the problem using Petri nets. Nice read!

[Read More]

Application metrics in Istio

Categories

Tags devops kubernetes software-architecture

Mete Atamel authored simple tutorial for adding Application metrics in Istio. The default metrics sent by Istio are useful to get an idea on how the traffic flows in your cluster. However, to understand how your application behaves, you also need application metrics.

Author then points at Prometheus and it’s client libraries that you can use to instrument your application and send those metrics. Prometheus is an open-source systems monitoring and alerting toolkit originally built at SoundCloud.

Author then explains:

  • Istio versus standalone Prometheus
  • Sending application metrics
  • Configuration

He also describes some common problems, e.g. Iisue with Istio certificates and Prometheus. The ocde examples are available for download. Very useful!

[Read More]

9 Reasons why feature teams are the best team structure

Categories

Tags devops teams agile programming

Interesting read by Łukasz Muszyński on SoftwareHut web site. They are primarily Agile software house believing in Agile to be main factor in their success. They discovered in the recent time that features teams based structure is one of the best Agile team structure for our software development projects.

In the past, they used to organize their teams around the layers of architectures.

While working on the new project it turned out that our architecture focused teams responsible for presentation layer couldn’t get a good grasp – either of their JavaScript developers nor the structure as a whole.

Experimentally, they gathered some of their developers from various specialization areas to create one team.

The main benefits of feature teams the SoftwareHut observed:

  • Scaling up Agile development
  • End-to-end delivery of working features
  • Better code quality
  • The power of a balanced multidisciplinary team
  • Highly effective communication

… and few more. Some interesting points!

[Read More]

Kubernetes ingress controller setup using KOP and Nginx-Ingress

Categories

Tags web-development kubernetes apis nginx containers

A tutorial by Lokesh Jawane explaining how to set up Kubernetes ingress controller using kops (Kubernetes Operations) & Nginx-Ingress. Kops automates the provisioning of Kubernetes clusters in AWS and GCE. Authors like to think of kops as kubectl for clusters.

The Ingress is a Kubernetes resource that lets you configure an HTTP load balancer for applications running on Kubernetes

Managing the multiple load balancer for services deployed on k8s is a difficult job, where k8s itself is a big world. It can be expensive to have multiple load balancers. In this tutorial author uses only single load balancer.

The tutorial then walks you through:

  • Creation of namespace, service account, default secret and customization config map
  • RBAC configuration
  • Ingress controller deployment
  • Getting access to ingress controller
  • Application deployment

All commands listed and in the tutorial. Links to further resources included. Well done!

[Read More]

Building a reverse proxy in .NET Core

Categories

Tags web-development programming open-source microservices

Andrea Chiarelli published this interesting guide focusing on building a reverse proxy in .NET Core. .NET Core is a free and open-source web framework, offering higher performance than .NET. It is developed by Microsoft and the community.You will learn how to use .NET Core to implement a reverse proxy to overcome specific needs.

A reverse proxy is a special type of proxy server that hides the target server to the client. The client requests a resource to the proxy server which retrieves it from another server and provides it to the client.

Among the various elements of a network infrastructure (such as DNS servers, firewalls, proxies and similar), reverse proxies gained a lot of popularity due to the growth in popularity of microservice architectures.

The explanation for following is provided:

  • Why use a reverse proxy (load balancing, URL rewriting, static content serving, API gateway, combine multiple resources into one)
  • Why implement a custom reverse proxy
  • Implementing a reverse proxy in C#

Instructions include setting up the project with .NET Core. And all code needed is in GitHub repository linked in the article. Accomplished!

[Read More]

Authentication at Edge with StackPath

Categories

Tags web-development serverless apis infosec javascript

Jason Byrne thoughts on using cloud Edge for some common tasks. As we spread our applications out into serverless microservices, what better place for our entitlement checks than on the CDN?

Whether most of the industry realizes it or not, serverless is the future. It is extremely freeing to embrace no longer worrying about managing infrastructure or trying to stay ahead of the traffic curve.

However, one thing you can not forget about is securing your content. Today we primarily use one of two methods: signed URLs or tokens. Both of these methods work okay, but they create more work than necessary.

There are a growing number of CDN providers that offer the ability to execute code on their Edges.

You will find capability to execute code on the Edge with:

  • AWS Lambda@Edge
  • Cloudflare Workers
  • Fastly (via custom VCL)
  • StackPath EdgeEngine

This article then focuses on describing StackPath EdgeEngine which is their code-at-edge service.

  • They offer out 40Tb/s of network capacity and 45 full-scale PoPs on five continents
  • Easy CDN setup
  • Ability to create Edge script with a few clicks
  • Deployment of changes to Edge servers worldwide within a couple of seconds
  • Link to repository with template to get up and running with StackPath EdgeEngine and TypeScript

And much more. It also has example code for parsing the cookies from the request and then examine them to determine if the user is authenticated. Great introduction to serverless on the Edge!

[Read More]

How to find hidden cameras and spy gear like a professional: the definitive guide

Categories

Tags miscellaneous infosec

Detailed article published on senteltechsecurity.com describing the most thorough guide to detecting hidden cameras and covert spy gear that is online.

The simple strategies that the authors show you will effectively clear most rooms for hidden cameras and bugs without having to use super expensive counter surveillance gear or an outside company.

Most of the processes and steps in this guide are adopted from some of the best government agencies, where counter surveillance is of a grave concern to them, so these techniques have been tried and tested.

The article then gives information on:

  • What type of device could be used against me?
  • Breaking the bug sweep down into few steps
  • Finding video surveillance and audio recorders
  • Objects or amenities that could be vulnerable to surveillance equipment
  • Tips and tricks how to pick up Infrared radiation light with your phone

… and much more in this engaging article. Well done!

[Read More]

Comparing JVM performance; Zulu OpenJDK, OpenJDK, Oracle JDK, GraalVM CE

Categories

Tags jvm java performance devops programming

Comparison article by Maarten Smeets in which he tries to help you to choose the best Java Virtual Machine (JVM) for your project. There are numerous different choices for a JVM for your Java application.

Solid performance research however is difficult. In this blog author describes a setup he created to perform tests on different JVMs at the same time. He also looked at the effect of resource isolation (assigning specific CPUs and memory to the process).

The test application consisted of a reactive (non-blocking) Spring Boot REST application and he used Prometheus to poll the JVMs and Grafana for visualization. Below is an image of the used setup. Everything was running in Docker containers except SoapUI.

The article then describes:

  • Isolated measures
  • Setup
  • Different OSs
  • Garbage collection
  • Results explanation

Author conducted a load test using SOAP UI with a reactive Spring Boot REST application running on 4 different JVMs behind a round robin haproxy load balancer. He used Prometheus to poll the JVM instances and Grafana and Prometheus to visualize the data.

Find out more!

[Read More]

Why high-performers don't use to-do lists

Categories

Tags miscellaneous agile teams cio

An article by Aytekin Tank about high performers productivity. For most of us we find ourselves in hand-to-hand combat with a to-do list so long and so vast it resembles the spiraling tentacles of a giant squid.

It’s a race to the bottom, except there is no bottom.

After all, the go-to piece of advice we’ve been told since grade school during feelings of overwhelm is, “Make a list and start crossing things off.”

Some reason why to-do lists do not work:

  • We are terrible at estimating how long tasks take
  • To-do lists are never quite done (some almost always “roll” into tomorrow)
  • They place us into a mindset where everything must go on the list – regardless of the level of impact it has on our day
  • To-do lists allow us to avoid the important

Author offers to use instead “hunter” strategy. Instead of writing down dozens of tasks that you need to get done each day … choose one that MUST get done and will deliver the most impact.

When you walk into your office, pull one of those post it notes out and write down one big high-impact goal you would like to achieve for the day. Stick the post-it note somewhere on your laptop and start working. Good advice!

[Read More]