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 ]

Toward functional programming analogy for microservices

Categories

Tags microservices functional-programming software-architecture

Bobby Calderwood - distinguished Engineer at Capital One - excellent article on micorservices and whether organizations should adopt, refrain from, or abandon microservices architecture. But more importantly what style of microservices would map most closely to the needs of the organization?

Author then touches on (at least) two styles of microservices:

  • Famous Death Star diagram - small services calling each other synchronously, usually via HTTP
  • Functional programming analogy

Death Star style view of microservices shares much in common with object-oriented programming: encapsulated data access and mutable state change are both achieved via synchronous calls. However, when the object-oriented analogy is extended to distributed systems, many problems arise.

Author also compares and contrasts the FP-style of microservices with the ubiquitous OO-style along several important dimensions: data access patterns, orchestration patterns, handling failure, write-time and read-time latency, reasoning about state over time, and dealing with side-effects. Excellent article!

[Read More]

Advice for new JavaScript programmer

Categories

Tags programming javascript

Christian Heilmann blog post full of advice to new programmers who just learned JavaScript. JavaScript has evolved from being a “toy language”, “real programmers” laughed at into the language that powers the web and beyond.

JavaScript is everywhere

It means that the versatility of JavaScript can be its own undoing. JavaScript runs everywhere.

Author further lists:

  • Resources where you can learn about JavaScript
  • Learning browser developer tools
  • Moving from console.log() to breakpoint debugging
  • Linting – prevent bugs by not writing wrong code
  • Finding an editor that makes you more effective

And much more. Good reading.

[Read More]

3 common cybersecurity maturity failings

Categories

Tags cloud infosec devops

Oliver Rochford published short article on cybersecurity maturity and it’s failings. The article touches on some interesting points. Especially on how vendors, investors and the media rely on flawed statistics, surveys and a fair dose of wishful thinking in assessing the security maturity of the average enterprise, projecting market growth and product viability.

Author describes his experience, at Gartner and as a penetration tester. For example, he never conducted a project where he needed more than off-the-shelf open source tools and known exploits to breach an organization.

Three main failings considered in this article:

  • Relying on prevention
  • Relying on technology
  • No management buy-in

Good security, and especially effective monitoring, requires people and processes.

[Read More]

Learn from how Netflix mastered 24-hour disc shipping

Categories

Tags how-to cloud startups

Heather McGough piece about how Netflix began as a shoestring startup bolstered by a group of passionate entrepreneurs with a crazy idea, and persistent Lean Startup experimentation ensured the company didn’t fail.

The article walks you some mantras:

  • Anything can be an experiment
  • Define the important metrics
  • Create business partnerships
  • Don’t quit after the first (or 101st) try

With Lean Startup, you sometimes invalidate your idea and prove you should stop trying because there’s a better way or better idea. Continuous innovation means working through experiments to find the best way of doing something and then saying, “I bet we could do one better.”

[Read More]

Atomic design in web development

Categories

Tags ux web-development

Dave Rupert blog post which is complenetary to his book about Atomic design. A lot has been said about creating design systems, and much of it focuses on establishing foundations for color, typography, grids, texture and the like.

As the craft of Web design continues to evolve, we’re recognizing the need to develop thoughtful design systems, rather than creating simple collections of web pages.

The lengthy article brings insights on:

  • What is Atomic Design
  • What are Atoms, Molecules, Organisms
  • What are Templates and Pages and how it all fits together

Atomic design provides a clear methodology for crafting design systems. Clients and team members are able to better appreciate the concept of design systems by actually seeing the steps laid out in front of them. Interesting reading!

[Read More]

Make a Node.js Twitter Bot

Categories

Tags web-development programming cloud

Ryan wrote neat article about Node.js bot application. It uses the Twitter API in order to make requests for that Twitter Bot, such as tweeting, retweeting, liking, and more. Bots are a fun way to improve your coding skills through creativity.

The tutorial is divided in 3 main parts:

  • Hello, Twitter Bot
  • Making the Bot smarter
  • Deploying the Bot

It also deals with Tutorial application setup - which you will need in order to connect to Twitter API. And making a request is an asynchronous call. Example code is available for you in GitHub repository.

[Read More]

AWS Cloud9 – cloud developer environments

Categories

Tags programming aws

Randall Hunt published article on how to run your Integrated Development Environment (IDE) in the cloud. One of the first things you learn when you start programming is that, just like any crafts person, your tools matter. A powerful editor and testing pipeline supercharge your productivity.

This article is about AWS Cloud9, an Integrated Development Environment (IDE) for writing, running, and debugging code, all from your web browser.

AWS Cloud9 has all the typical IDE features you would expect:

  • live syntax checking, auto-indent, auto-completion
  • code folding, split panes, version control integration
  • multiple cursors and selections
  • also - it’s fast, even for large (100000+ line) files.
  • no lag or other issues while typing
  • ideal for pair programming

The AWS Cloud9 IDE is truly “cloud native”. The service is provided at no additional charge, and you only charged for the underlying compute and storage resources. When you create an environment you’re prompted for either:

  • an instance type and an auto-hibernate time
  • or SSH access to a machine of your choice

Also with AWS CodeStar you can easily provision an end-to-end continuous delivery toolchain for development on AWS. Now, with a few simple clicks you can provision a Cloud9 environment to develop your application.

[Read More]

HTTP/2 PUSH vs HTTP Preload

Categories

Tags web-development programming devops

Inian Parameshwaran article about difference between HTTP/2 Push and HTTP Preload. HTTP/2 PUSH is a feature that lets a server preemptively push resources to the client (without a corresponding request). HTTP Preload is a way to indicate to the browser resources it would require while loading the current page.

Both these mechanisms are used to optimize the unused bandwidth of the client to download resources preemptively and are an excellent way to decouple the download with the actual “execution” of the resource.

You will learn:

  • How are they similar
  • How are they different
  • What kind of resources you can push / preload
  • Cache semantics
  • Resource prioritization

And much more. Excellent article with schemas and chart helping you understand both concepts. Well done!

[Read More]

Automated image builds with Jenkins, Packer, and Kubernetes

Categories

Tags cicd kubernetes containers gcp

Detailed article - tutorial from Google Cloud Platform (GCP) engineers about deploying faster. Creating custom images to boot your Google Compute Engine instances or Docker containers can reduce boot time and increase reliability. By pre-installing software into a custom image, you can also reduce your dependency on the availability of 3rd party repositories that are out of your control.

You choose how much software and configuration to include in your custom images - from minimalistic image to a fully-configured image—referred to as an immutable image in this tutorial.

The process of building images has a lot in common with building software: you have code (Chef, Puppet, bash, etc.) and the people who write it; a build happens when you apply the code to a base image; a successful build process outputs an artifact; and you often want to put the artifact through some tests.

In thisT article you will learn:

  • Images type including what are foundation images and immutable images
  • Architecture and implementation of an automated image building pipeline
  • you also get loads if images explaining building process

And as a bonus the complete contents of the tutorial, including instructions and source code, are available on GitHub.

[Read More]

A brief guide to user experience maps

Categories

Tags web-development ux

Christopher Ratcliff to the point article about user experience maps. An industry is struggling to agree on one standardised name for the same thing and author tries to find answer why is that.

This article is guide to different experience maps, including:

  • Customer journey maps
  • Customer experience maps
  • User story maps
  • Wireframes, workflows and wireflows
  • Empathy maps and more …

Article also includes some points from Twitter discussion with UX community with answers when to create each type of map, importance of each etc. You will also find pictures and charts supporting each type of map in this article.

[Read More]