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 ]

Automate like an expert with Ansible validated content

Categories

Tags ansible devops app-development event-driven cio

During AnsibleFest 2022, we announced the launch of Ansible validated content. This new initiative is focused on delivering an expert-led approach for automating your platform portfolio across infrastructure, networking, cloud, security and edge use cases. By Massimo Ferrari.

The blog post then explains:

  • Why should I care about Ansible validated content?
  • What does “validated” mean?
  • What is Ansible validated content for?
  • What does Ansible validated content look like?
  • Where can I find Ansible validated content?

Validated content stems from and complements Red Hat’s Validated Patterns initiative. A selection of Ansible content is curated by experts like the Red Hat Automation Community of Practice. Good read!

[Read More]

Testing asynchronous message driven architecture

Categories

Tags tdd devops app-development event-driven php

Tests are vital parts of our systems. Easy to understand and modify tests will help us in keeping the project in good shape for long period of time. First we may start with synchronous code, however sooner or later we will need to start processing part of our flows asynchronously, and this is when Message Driven Architecture becomes handy. By Dariusz Gafka.

Further in the article:

  • Asynchronous execution
  • Running Publisher and Consumer in separate processes
  • Running asynchronous code as synchronous
  • Running Consumer with in memory channel
  • Switch from Polling to Event-Driven
  • Limit scope of your tests

Testing message driven architecture may be challenging, due to decoupled nature and asynchronicity. However it comes with so many pros, especially when the system grows, that is becomes a need at some point of time. Good read!

[Read More]

Kubernetes events: In-depth guide and examples

Categories

Tags apis devops app-development open-source streaming event-driven

Kubernetes events help you understand how Kubernetes resource decisions are made and they can be helpful for debugging. Learn more about k8s events in this in-depth guide. By Tyler Charboneau.

Thankfully, Kubernetes events help paint a performative picture of your clusters. These objects allow you to see how Kubernetes resource decisions are made. Teams seeking greater transparency should leverage these in an analytical manner. In this guide, author will share the ins and outs of Kubernetes events and explain their importance in container orchestration and observability:

  • Provisioning and state in Kubernetes
  • The basics of Kubernetes events
  • Kubernetes event classifications
  • Filtering and monitoring events
  • Accessing events in Kubernetes
  • ContainIQ’s events dashboard and tooling

In this piece, you’ve learned why Kubernetes events are vital for troubleshooting within your application. Whether gathered in retrospect or real-time, both third-party tools and kubectl can help you find and sort events. Events aren’t something to be ignored, and because they’re so easy to harness, you shouldn’t hesitate to incorporate them into your cluster maintenance routines. Good read!

[Read More]

Spatial search functionality with Neo4j

Categories

Tags apis how-to devops web-development open-source nosql miscellaneous

In this post we explore some techniques for working with geospatial data in Neo4j. We will cover some basic spatial Cypher functions, spatial search, routing algorithms, and different methods of importing geospatial data into Neo4j. By William Lyon.

You will learn about:

  • Spatial cypher functions and the Point type
  • Spatial search with Neo4j
  • Radius distance search
  • Cypher bounding box search
  • Point in polygon search
  • Working with line geometries
  • Routing with graph algorithms

In this post authors introduced some of the spatial functionality natively supported by Neo4j including the Point type and related Cypher functions and demonstrated how to accomplish various spatial search operations as well as a brief look at routing with graph algorithms. There are also further resources mentioned in the article. Great read!

[Read More]

Migrating to Google Cloud Spanner

Categories

Tags php cicd cio miscellaneous

This blog covers a typical migration journey from your existing database to Google Cloud Spanner DB. It covers the entire journey into three parts — essential things to do before, during, and after migration, so that you can also follow along similar lines and ensure a smooth migration of your data. By Hardik Taluja.

There are a lot of things that you need to explore before getting started with the migration process. Further the article explains:

  • What is Google Cloud Spanner?
  • Understand your requirements
  • Some features of Spanner
  • How does Cloud Spanner work?
  • Design DBs and Tables
  • Remodeling and course correction opportunities
  • Cleanup
  • Follow best practices and avoid anti-patterns for Spanner
  • Application side changes
  • Migration strategy
  • Key takeaways

… and much more. Try to avoid manual steps in the process as much as possible to avoid any chances of errors due to human intervention. Data validation is of utmost importance. Keep some scripts ready to validate data in both sources after the bulk restore, CDC records, and reverse CDC records. If something gets missed in validation, there is no going back, as it will be too late once we realise any discrepancy later. Nice one!

[Read More]

How we automatically share new content on social media

Categories

Tags php cicd cio miscellaneous

When authors publish a new post on Laravel News, many things happen in the background for it to be automatically sent out to all the places around the internet. In this post, let’s look at how they share it with all the services. By Eric L. Barnes.

As you can see, we utilize many different services, but once they are set up, it’s not something we’ve had too much trouble with, and it all happens automatically.

Explained in the article is automation related to:

  • Laravel notification channels
  • Emails
  • RSS feed
  • RSS to Zapier
  • JSON Feed
  • Google news feed

This is how authors share with many different services when a new post is published. This setup has been in production for almost a decade and has been solid. Of course, one could also use various APIs directly, but they’ve found going through Zapier passes on API changes to them instead of something they need to worry about. Good read!

[Read More]

Securing Lambda function URLs using Amazon Cognito, Amazon CloudFront and AWS WAF

Categories

Tags infosec microservices devops serverless

Lambda function URLs is a dedicated HTTPs endpoint for a AWS Lambda function. You can configure a function URL to have two methods of authentication: IAM and NONE. IAM authentication means that you are restricting access to the function URL (and in-turn access to invoke the Lambda function) to certain AWS principals (such as roles or users). Authentication type of NONE means that the Lambda function URL has no authentication and is open for anyone to invoke the function. By Marcia Villalba.

Lambda function URLs provides a simpler way to invoke your function using HTTP calls. However, it is not a replacement for Amazon API Gateway, which provides advanced features like request validation and rate throttling. Proposed solution is described:

  • A Lambda function with function URLs enabled
  • Amazon Cognito User Pool
  • CloudFront distribution using AWS WAF
  • Public website that invokes the Lambda function

In this blog, you create a Lambda function with function URLs enabled with NONE as the authentication type. You then implemented a custom authentication mechanism as part of your Lambda function code. You also increased the security of your Lambda function URL by setting it as Origin for the CloudFront distribution and using AWS WAF Geo and IP limiting rules for protection against common web threats, like DDoS. GitHub repository with JavaScript CDK is also included. Nice one!

[Read More]

Composability: The future of innovation

Categories

Tags miscellaneous app-development cio cicd microservices devops

In recent years there has been a constant stream of software architecture movements: microservices, API-led connectivity, event driven architecture, composable enterprise, automation, and data mesh. We’re going to address how these trends can be positioned in a broader innovation strategy. By Jeroen Reizevoort.

The article deals with:

  • Essential and accidental complexity
  • Building-block technologies
  • People, process, and technology
  • From projects to products

To be agile at scale, these building blocks will need ownership, consistent builds and design, to be discoverable for reuse, and to be secure and monitored.

That is where the concept of digital products comes in. The building blocks that are created should be managed as products. This concept is one of the foundations for the microservices world; in BizDevOps small teams of business, developers and operations people own the complete lifecycle of a microservice.

Innovation is top-of-mind, and businesses seek opportunities to increase customer, partner, and employee experiences. But they have to do that in labor shortages and economic headwinds. That requires organizations to do more with less. Good read!

[Read More]

OptionSet in Swift explained with code examples

Categories

Tags swiftlang app-development ux web-development

OptionSet in Swift allows you to define a set of options for configurations. It’s the Swift variant of the well-known NS_OPTIONS in Objective-C and it’s used throughout the standard libraries. By Antoine van der Lee.

The main focus of the article:

  • What is an OptionSet?
  • How to create an OptionSet
  • Reading values from an OptionSet

A set of options is often confused by a set of enum cases, but they’re not the same. While you could create a similar solution using enums, they’re meant to be used singularly. OptionSet in Swift allows you to define a set of configurations with a method or type initializer. Throughout the standard libraries, you can find examples of option sets to configure types like a JSONSerializer. By providing available options, you allow implementors of a type to configure instances in a readable manner without exposing too many implementation details. Good read!

[Read More]

Measuring Java 11 Lambda cold starts with SnapStart - Using Quarkus framework

Categories

Tags devops serverless java app-development containers cicd

In this article authors are going to measure the performance of snapstart using Quarkus as another popular Java framework. All in serverless environment with AWS Lambda. By Vadym Kazulkin.

In this article you will get information on:

  • Quarkus Framework and its features
  • Writing AWS Lambda with Quarkus
  • Measuring the cold starts

The author measured 100 cold starts, using 1024MB and average values are in this table.

Percentile timings for Quarkus in ms timings for Quarkus with SnapStart in ms
p50 3164.19 1337.16
p90 3262.57 1374.76
p99 3823.99 1473.87

If we compile our application with GraalVM Native Image and deploy our Lambda as Custom Runtime, we can further reduce the cold start to between 450 and 550m. Quarkus Framework is Kubernetes Native Java stack tailored for OpenJDK HotSpot and GraalVM, crafted from the best of breed Java libraries and standards. Nice one!

[Read More]