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 ]

CQRS and Event Sourcing implementation in PHP


Tags php app-development web-development frameworks event-driven

Command Query Responsibility Segregation (CQRS) with Domain Driven Design is more and more popular recently. Its implementation in PHP, which will be the topic of the article, generates some new possibilities, making a process more efficient. For example, it gives you the opportunity to restore the whole system easily. By Michał Żądło.

Before I step to the CQRS and Event Sourcing implementation in PHP - I’ll try to briefly explain what is the general concept behind CQRS. In 1986, Bertrand Meyer came up with an idea of Command Query Separation (CQS). According to the concept - each method in the object in its current state must belong to only one category out of the following two: command - a method which changes an object’s state, query - a method which returns the data.

The article deals with:

  • Using Command Query Responsibility Segregation (CQRS pattern)
  • What is Event Sourcing and Event Store?
  • Pros and cons of Event Sourcing
  • What is Broadway and what components it gives us?
  • Write Model implementation
  • Read Model implementation
  • The change in requirements
  • Snapshots
  • CQRS and event sourcing - summary

… and more. Author advises you to invest some time and try this solution to decide whether or not it’s useful for you. You should also brush up on related topics such as event log, domain model, data store, event driven architecture, event processing or temporal queries. Excellent read full of in depth details about event sourcing with links to further reading!

[Read More]

How to mock data in Angular applications


Tags angular nodejs app-development web-development frameworks google

It’s common to use APIs when working with external data sources on some features in Angular. However, you may occasionally work on a feature in parallel without immediate access to the database or API. By Muhammad Amir.

There are several ways to mock the same results. We will discuss three such approaches in this blog:

  • Using json-server
  • Using Postman
  • Mocking data with a simple JSON file

Postman, which used to be a simple browser extension, is now a full-fledged API development toolkit. You can download it separately and install it on your system. To run the mock servers in Postman, we need an account and a workspace. The workspace allows you to easily share the mock server and other APIs with team members.

It’s easy to get started with json-server, and a basic requirement is a simple JSON file with data. There are also JavaScript libraries like MirageJS or axios-mock-adapter for similar purposes. Good read!

[Read More]

How to reduce the size of a Docker image using dive


Tags devops docker app-development performance

Making use of the existing layer cache as frequently as possible is key to speeding up Docker image builds. The less work we have to redo across builds, the faster our builds will be. By Kyle Galbraith.

In this post, we will look at reducing the overall image size, to improve build time and reduce the amount of data transferred in each image. We will use a popular open-source project, dive, to help analyze a Docker image, stepping through each individual layer to see what files it adds to the image and how it impacts the total image size.

The article consists of the following parts:

  • dive into a Docker image
  • Reducing image size
  • Make use of .dockerignore
  • Use smaller base images
  • Leverage multi-stage builds
  • Smaller images where possible

A multi-stage build allows you to specify multiple FROM statements in a single Dockerfile, and each of them represents a new stage in a build. You can also copy files from one stage to another. Files not copied from an earlier stage are discarded in the final image, resulting in a smaller image size. Nice one!

[Read More]

Angular landing page with Airtable integration and Netlify functions


Tags angular nodejs serverless app-development javascript

If you want to build a public landing page with Angular and email signup you likely don’t want to expose any secret keys, and author will show you how with Netlify cloud functions. By Simon Grimm.

In this tutorial we will connect a simple Airtable table as some sort of backend to store emails to our Angular landing page. We do this with the help of Netlify where we will both host our application and also deploy a cloud function!

In this tutorial you will find detailed steps explained for the following:

  • Creating an Airtable table
  • Creating the Angular project
  • Creating the Angular landing page
  • Adding a Netlify Cloud Function to the Angular project
  • Host our Angular app with Netlify
  • Adding Tailwind
  • Adding Meta tags
  • Teardown

To make this even more secure you could also make the cloud function only callable from your domain, but by preventing access to your key you’ve already taken the most important step to building a landing page with Angular. Good read!

[Read More]

Using Red Hat Ansible Automation Platform to enable a Policy as Code solution


Tags ansible devops cicd continuous-delivery

Scenario: much of the staff’s time is spent making sure that the infrastructure as code (IaC) implementation is in compliance with the standards and policies that his company has for cloud resources. This was the reason why he brought me in to run a proof of concept (POC). The POC would validate what would become a Policy as Code solution based on one of the common IaC products. By Tim Coulter @redhat.com.

Policy As Code aligns technical environments, processes and resources to agreed standards. Many of the policies are applied by doing pattern matching or using boolean logic through a policy engine, validating the IaC. For example, checking to make sure that none of the computing resources have a direct route to the Internet (violating a security policy), or limiting the service ports to just HTTPS and SSH. The policy engine stores the policies and uses them to ensure the resource creation will be in compliance. Most of the solutions allow for deny, warn or report based on compliance for business requirements of the specific attribute. This is a simplistic use case, but there can be variations and much more complex policies requiring a greater compliance need in frequency and scale.

The article covers in great detail:

  • What is “Policy as Code?”
  • Applying Policy As Code to Ansible Automation Platform
  • High level details of the tasks
  • Resources and tools
  • Overview of the solution
  • Details
[Read More]

Windows server management overview


Tags azure management cio cicd continuous-delivery

Cloud-based management using Azure Arc + Azure AutomanageWindows Server is the platform for building an infrastructure of connected applications, networks, and web services. As a Windows Server administrator, you’ve probably used many of the native Windows Server Microsoft Management Consoles (MMC) to keep the infrastructure secure and available. By Thomas Maurer and others.

This documentation then covers:

  • Cloud-based management using Azure Arc + Azure Automanage
  • Deep Windows Server and cluster administration with Windows Admin Center
  • Datacenter-scale management with System Center
  • Local management tools

As the foundation of many on-premises, hybrid, and cloud native applications, the Windows Server teams have continued to invest in making the management and administration of your Windows Server instances easier by offering management tools like Azure Arc, Azure Automanage, Windows Admin Center, and System Center. These tools are designed to work together, and each have capabilities to meet you where you are in your server management needs. Good read!

[Read More]

Setup Docker for integration testing in GitHub Action


Tags app-development android cicd web-development continuous-delivery

Nowadays, Continuous Integration helps developers to automate their own build and test in remote repositories. Moreover, when we work as a team, CI ensures that all the branches on remote repositories will be tested by automated build. By Sahanon Phisetpakasit.

Suppose that we have got 4 services, let’s call it service A, B, C and D respectively. Each service will have its own database system and dependencies between each service.

What is covered on the article:

  • Setup Github Actions
  • Create Docker compose for building the service container
  • Add Docker to GitHub Actions

With the power of GitHub Action and docker it can create the test environment on our remote repository so we don’t need to deploy other services in order to use it in testing. You will also find example configuration and code in the article. Good read!

[Read More]

How to manage your Flutter monorepos


Tags app-development android apis ios cicd web-development continuous-delivery

Monorepos are extremely helpful when working with larger codebases. But they also come with additional management costs. In this article, we will go through the process of managing a monorepo with a tool like Melos and set up our repository for CI/CD with Codemagic. By @codemagic.io.

But what is a monorepo? A monorepo is a single version-controlled repository that can store many different projects. To provide a practical example, we are using the Flutter counter app with a few adjustments.

The article then covers:

  • Advantages of a monorepo
  • Disadvantages of a monorepo
  • Example app
  • Tools
  • Setting up Melos
  • Setting up your Flutter monorepo for CI/CD

… and more. Monorepos are great for larger codebases. However, as you may have noticed in this article, they require a bit more effort to manage. Nevertheless, you should now be able to manage your own Flutter monorepo with Melos and configure your CI/CD. Nice one!

[Read More]

How to visualize your Apache Kafka data the easy way with stream lineage


Tags app-development messaging apis apache streaming

Understanding how data flows and is transformed across the different layers of an organization’s application and data stack is one of the most challenging governance problems companies are facing today. Who is producing data? By David Araujo and Julia Peng.

Data is the lifeblood of the modern business, flowing to and from every corner of an organization, but without proper controls and visibility, it might end in undesirable, dangerous places and give rise to data obscurity or distrust.

With Kafka at its core, Confluent is in a prime position to empower teams to observe and track critical data flows across their organization immediately as they occur.

The article main parts:

  • Stream Lineage: The map of all your data in motion
  • Top 3 use cases powered by Stream Lineage
  • Building data pipelines
  • Troubleshooting data pipelines
  • Compliance: Tracking data processing flows

With Stream Lineage, organizations can access an interactive, graphical UI of their data relationships in real time, with both a bird’s eye view and drill-down magnification. This full visibility lets you know what is happening with your data at any time: where your data is coming from or going, and how it was transformed upstream at a given time. Good read!

[Read More]

The 2022 API platform landscape: Trends and challenges


Tags app-development web-development apis restful

How API management needs to evolve beyond its roots. This change is necessitated by APIs moving from being connective glue to being the primary building blocks of modern software. We also defined the key components of the new age of API platforms in our API platform landscape. Our intent was to describe how the many different pieces of technology and tooling fit together to help organizations deliver on the API-first model of software development. By Abhinav Asthana.

Author wants to share some of these key learnings with you, along with a 2022 update on the API platform landscape:

  • Industry-wide trends
  • Challenges that companies are facing
  • Emerging organizational roles and their mandates

Along with all of the new trends and roles, we’re also seeing new vendors entering the landscape. Good read and here is an updated version of today’s API platform landscape:

API platform landscape in 2022

Source: https://blog.postman.com/2022-api-platform-landscape-trends-and-challenges/

[Read More]