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 ]

Grafana Loki: Architecture and running in Kubernetes with AWS S3 storage and boltdb-shipper

Categories

Tags monitoring cicd cio devops cloud aws

In the new project, there is no logging system at all, and since we all love the Grafana stack, we also decided to use Loki for logging. Loki is built on a microservices architecture, with all microservices assembled into a single binary. By Arseny Zinchenko.

The article then makes a good job explaining:

  • Grafana Loki architecture
  • Loki components
  • Data flow
  • Read Path
  • Write Path
  • Simple scalable deployment mode
  • Microservices mode
  • Grafana Loki Storage
  • Loki Helm charts
  • Helm chart, and Deployment Mode

… and more. All commands and configuration included. Loki receives data from multiple streams, where each stream is a tenant_id and a set of tags. When receiving new records from the stream, they are packed into chunks and sent to long-term storage, which can be AWS S3, a local file system, or databases such as AWS DynamoDB or Apache Cassandra. Interesting read!

[Read More]

Proper SOA isolation: The 3 frontiers

Categories

Tags serverless programming devops cloud aws

Building service is easy. Isolating that service, it’s easier said than done. Anyone can build any service with any technology or stack. However, would this service last, or will it become technical debt? Many organizations trying to go all in with microservices end up with distributed monoliths instead of isolated services. By Diego Pacheco.

Because code isolation is not enough. We need to isolate the 3 frontiers being:

  • Contracts
  • Databases
  • Internal shared libraries

Shared database is the most common mistake companies make. They create new services, but all share the same databases. Fixing this problem is hard. But possibly, there are patterns and approaches we do to fix database sharing. Like the Strangler Fig Pattern and many data migrations patterns.

Contracts matter more than implementation. Services are composed of 2 elements. The service contract and the service implementation. Contracts are the most important piece. Period.

Isolating internal shared libraries. This is the most controversial yet big problem all companies face, but only some realize how bad it is. Internal common shared libraries, most of the time, are evil and bring more problems them solutions. Authort lost count of how many companies, products, and projects he worked on that had bad libraries. They are everywhere in the industry. Interesting read!

[Read More]

Organize your AWS Serverless code to prevent merge conflicts

Categories

Tags serverless programming devops cloud aws

How do you prevent the most common merge conflicts when your team is working on a Serverless application? How do you make sure that your team stays productive and avoids large merge issues while trying to update the same crucial files simultaneously? By Mark Curtis, Juan Peredo, and Tom Romano.

When multiple developers collaborate on a serverless architecture built with AWS CloudFormation, and its extensions such as the AWS Serverless Application Model (SAM), the nature of specifying resources in both the template.yaml and the optional OpenAPI.yaml specification for Amazon API Gateway leads to merge conflicts. These conflicts detract from the developer’s time and agility. Furthermore, navigating and maintaining the long template files required for a larger serverless architecture slows development as the developer scans large files to find a particular resource definition.

The article then describes solution to this problem:

  • Rapid development
  • Sample project
  • OpenAPI and AWS service integration
  • cfn-include and nested stacks

Following techniques mentioned here, you should be able to:

  • Improve developer efficiency by decomposing large, hard-to-manage files into a series of well-organized and single purpose files
  • Enhance developer productivity by allowing each developer to have ownership of their own piece of the code without having to coordinate with teammates
  • Eliminate potential merge issues on the files that typically generate the most conflicts during the development of a typical Serverless API application

This post demonstrates techniques used by WRAP and AWS to rapidly develop and maintain key files in an Serverless architecture. Nice one!

[Read More]

7-Step guide to IT cost reduction in 2023

Categories

Tags iot cio devops management cloud

As per the latest forecast by Gartner, worldwide IT spending is projected to amount to $4.6 trillion in 2023, up by 5.1% from 2022. The demand for IT will be strong in 2023 as enterprises launch digital business initiatives to respond to global economic challenges. By Srinivas Miriyala.

You will find information on following topics in this article:

  • Why IT operations might cost more in 2023
  • Gartner’s decision framework for cost optimization
  • 7 strategies to optimize IT costs in 2023
    • Align automation approach with use cases to minimize technical debt
    • From infrastructure-centric to customer-centric operations (observability)
    • Capture immediate value from AIOps
    • Enhance self-service, autonomy and decentralization with governance and ITSM
    • Automate incident management
    • Balance speed of innovation with IT risk management
    • Judiciously use IT Ops teams

In order to optimize IT costs going into 2023, it’s critical to take note of where your IT employees stand on wellness and productivity and to take necessary steps to address concerns, if any. Good read!

[Read More]

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]