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 ]

Test like you fly - intro

Categories

Tags app-development tdd devops software-architecture agile performance

In contrast to all the other important test methodologies, “Test Like You Fly”, or TLYF for short, emphasizes testing to find fundamental flaws in a system that will prevent it from performing the mission. Most testing methodologies strive to confirm that requirements - the input to our designs - are being met by the system as written. By Tim Chambers.

TLYF is all about confirming that the system - as a whole - will operate in the environment it is designed to operate, the environment we typically refer to as “live” or “production”. It is vitally important to find what doesn’t perform as expected and to understand the reasons for this anomalous behavior, especially where such defects can degrade, cripple, or abruptly end a mission.

In our testing strategies we frequently attempt to isolate the component under test - large or small - from the rest of the system. We know what we want to test, and fine-grained or coarse, we test segments of the system. The larger the component, or the broader the test, the more we tend to try and prove it WILL work - work “as designed”.

TLYF comes at the system from the other direction. Testing Like You Fly is designed to as completely as possible drive the system as it will exist in production. It demonstrates that the mission of the system or application can achieve success, not that it merely meets requirements. All components are wired together and available in as real-world an environment as is possible. Read this article in full to get some very interesting insights!

[Read More]

Best practices for load balancing Kubernetes containers

Categories

Tags app-development kubernetes software-architecture cio agile

Some organizations have hundreds of small containers across many different servers in different development, test, and production environments. This can be tricky to manage, which is why companies have turned to Kubernetes for container orchestration. By Craig Risi.

This has made Kubernetes not only a vital part of many development pipelines but also a central system and potential performance bottleneck that needs to be managed and balanced to ensure optimized performance.

The article deals with:

  • How to set up a load balancer on Kubernetes
  • Enable the readiness probe on a deployment
  • Enable the readiness probe on a deployment
  • Enable CPU/Memory requests and limits
  • Flag when RBAC rules change
  • Control the container images deployed into your cluster
  • Apply network policy to your deployments
  • Flag any service account changes
  • Adjusting POD toleration

Applying Security Groups policies to your VMs or your Kubernetes worker nodes is considered essential to security. We should do the same with Kubernetes workloads. And load balancing is essential to keeping your Kubernetes clusters operational and secure at a large scale.Good read!

[Read More]

How to undo (almost) anything with Git

Categories

Tags app-development cloud devops containers agile

One of the most useful features of any version control system is the ability to “undo” your mistakes. In Git, “undo” can mean many slightly different things. By Joshua Wehner.

When you make a new commit, Git stores a snapshot of your repository at that specific moment in time; later, you can use Git to go back to an earlier version of your project.

The article will give you more info on how to:

  • Undo a “public” change
  • Fix the last commit message
  • Undo “local” changes
  • Reset “local” changes
  • Redo after undo “local”
  • Once more, with branching
  • Branch in time saves nine
  • Mass undo/redo
  • Fix an earlier commit
  • Stop tracking a tracked file

Each section has scenario with command(s) description and explanation what is happening behind the scenes. Older article but evergreen. Nice one!

[Read More]

Redis at the Edge with Cloudflare Workers

Categories

Tags app-development cloud software-architecture nosql performance

Computing at the Edge is one of the most exciting capabilities in recent years. CDN allows you to keep your files closer to your users. Edge computing allows you to run your applications closer to your users. This helps developers to build globally distributed, performant applications. By Enes Akar.

Cloudflare Workers is the leading product in this space right now. It gives you a serverless processing environment without cold starts. You leverage Cloudflare’s global network to minimize latency of your applications. You can write your functions in JavaScript, Rust, C and C++.

The article also deals with:

  • Comparing with Cloudflare Workers KV
  • Analytics at the Edge
  • Cloudflare workers code
  • Analytics tool code
  • Upstash edge roadmap

Similar to Serverless functions (AWS Lambda etc.), Cloudflare Workers are stateless. Unfortunately, most databases are not designed for serverless environments, they require persistent connections. We developed the REST API over Redis to enable serverless edge functions to access Upstash in the simplest and fastest way possible. Good read with link to the code used in the article.

[Read More]

Administrator's guide: What makes passwordless, dare we say it, phish-proof?

Categories

Tags app-development cloud infosec devops web-development

In some ways, the term “passwordless” is a misnomer. Yes, it’s a password-less authentication method, greatly streamlining the login experience, and while that’s a great incentive to use passwordless for logging in, it’s not an improvement in authentication security in and of itself. By Jeremy Erickson.

To prevent phishing, there are a few general properties that your authentication solution needs:

  • No Shared Secrets is the property that secrets are never shared and are always kept local to the authenticator device
  • Origin Binding is the property that the site you (as a user) are attempting to log in to must match the domain, or origin, of the site you’re actually on
  • Channel Binding is the property that the communication channel from the authenticator to the website must be strongly tied to the browser session attempting to authenticate

The article then looks in depth into how WebAuthn and FIDO2 implement these properties and provide a very robust resistance to phishing. Excellent!

[Read More]

10 common SQL operations to perform using Pandas

Categories

Tags database machine-learning big-data data-science python

One of the key features of being a data analyst is to query the data from files, databases etc to perform some data manipulation or visualisation and sometimes it’s much better if we can do it directly through code instead of looking into the database tables over and over again.. By Akash Mishra.

Pandas is a python library which can store query results in variables called “dataframes” and it helps us to perform data manipulations, visualisation and can convert our results back in the databases or files as write operations.

# In SQL:
SELECT name,roll_no,phone FROM student_details;

# In Pandas:
import pandas as pd

student_details = pd.read_csv('students.csv')
result = student_details(['name', 'roll_no', 'phone'])
result

This blog basically describes how one can use 10 basic SQL operations using the pandas library:

  • Selecting the data
  • Using aggregate functions
  • Order By clause
  • Group By clause
  • IN and NOT IN
  • Joins
  • Creating new column using existing ones
  • Selecting data conditionally

.. and more. You will also get 2 datasets to work with on your learning journey. This is just introduction to how one can execute basic SQL operation using pandas and there are many more operations of SQL which can be easily done using pandas. Nice one!

[Read More]

Storage performance for cloud native applications

Categories

Tags cloud linux devops cio containers

We talk with our IT clients on a regular basis, and also conduct primary research into emerging IT trends. One of the leading trends we hear is the adoption and deployment of cloud native applications, including containers and Kubernetes, and the infrastructure changes required. By Russ Fellows.

The result of IT transformation to using cloud native applications has significant implications for on-premises as well as public cloud environments. With containers and Kubernetes comes new storage interfaces and storage system requirements. The topics of storage and data protection for container-based applications is one of the biggest concerns we’ve heard from our IT clients for several years.

The article further mentions:

  • Real world performance testing
  • Performance Comparison

There are many aspects to consider when evaluating storage options for cloud native and container environments. These include ease-of use, manageability, reliability, scalability and other criteria. Undoubtedly, performance is one critical metric that impacts application service levels, and also may have significant cost and architectural implications. Follow the link to the full article to get charts and other comparison data. Nice one!

[Read More]

How are client hints really useful for web performance

Categories

Tags apis devops software web-development performance

Client Hints are HTTP request header fields that a server can request from a client in order to get information about the client’s device, network, etc. The server can then determine the type of data to be displayed according to the client information received. By Hargunbeer Singh.

A server must tell the client that it supports client hints, this can be done using the Accept-CH header. When a client that supports client hints receives the Accept-CH header it can append client hint headers that match the advertised field-values to subsequent requests.

Client hints can also be specified in HTML using the <meta> tag with http-equiv attribute.

The client hints which determine which resources are sent in responses should be included in the Vary header. This ensures that a different resource is cached for every different value of the hint header. Usually, client hints like Width and DPR are specified in the Vary header. Interesting read!

[Read More]

Top new features of Cucumber JVM v6

Categories

Tags tdd java software performance web-development

Behavior Driven Development or BDD is one of the magical terms that many organizations are looking for today. The influence of the BDD methodology has significantly impacted the way the development model works. Its powerful business-driven approach has helped many teams collaborate with different stakeholders to define a better requirement. By Giridhar Rajkumar.

One of the well-known tools that help to automate the requirements for the BDD projects is Cucumber. In this article, you will learn about some of the coolest features available as part of Cucumber 6 (cucumber-jvm) & previous versions and how you can leverage them with your automation pack and business discussions:

  • Rules & examples
  • Other useful keywords
  • Online cucumber reports

One of the major features released in cucumber-jvm 6.0.0 is the usage of the Rule keyword. In general, the Rule keyword will help the team members to think of the scenarios as examples of acceptance criteria or business rules. Examples are different types of scenarios in which the requirement has to be mapped.

The new features in Cucumber 6 will be of great help to the business stakeholders who like to define their requirements more understandably. You will also get link to Cucumber example video demo and links to further resources. Good read!

[Read More]

Microsoft, Google to invest $30 billion in cybersecurity over next 5 years

Categories

Tags miscellaneous ssl google azure infosec cio

Google and Microsoft said they are pledging to invest a total of $30 billion in cybersecurity advancements over the next five years, as the U.S. government partners with private sector companies to address threats facing the country in the wake of a string of sophisticated malicious cyber activity targeting critical infrastructure, laying bare the risks to data, organizations, and governments worldwide. Ravie Lakshmanan.

The big tech sector is also rallying behind with a roster of initiatives, including —

  • Microsoft will invest $20 billion over the next five years to deliver advanced security solutions, in addition to making available $150 million in technical services to help federal, state, and local governments with upgrading security protections.
  • Google will invest over $10 billion to bolster cybersecurity, including expanding zero-trust programs, helping secure the software supply chain and enhancing open-source security. It’s worth noting that the search giant, earlier this June, announced a framework called the Supply chain Levels for Software Artifacts (SLSA or “salsa”) to safeguard the integrity of software supply chains.
  • Apple will work with more than 9,000 of its suppliers to push for mass adoption of multi-factor authentications, vulnerability remediation, event logging, and security training.
  • IBM will train 150,000 people in cybersecurity skills over the next three years, and will partner with 20 Historically Black Colleges & Universities to establish a more diverse cyber workforce.
  • Amazon will make available to all Amazon Web Services account holders a multi-factor authentication device to protect against phishing and password theft at no extra cost.

While it remains to be seen how these efforts will unfold in practice, the commitments demonstrate the urgency in prioritizing and elevating cybersecurity after a relentless stretch of high-profile cyber attacks targeting SolarWinds, Microsoft, Colonial Pipeline, JBS, and Kaseya in recent months. Nice one!

[Read More]