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 ]

How to implement lazy loading in Angular

Categories

Tags angular web-development frontend app-development kubernetes ux

Lazy loading probably sounds like jargon to developers entering into the world of building Single Page Applications using frameworks such as React or Angular. But it is not as complicated as it sounds. By Lakindu Hewawasam.

The article will walk you through:

  • Why do we need lazy loading in the first place?
  • How do I implement lazy loading?
    • Creating the angular project
    • Integrating lazy loading in angular
    • Splitting modules for components
    • Creating the modules
    • Configuring AuthModule
    • Configuring the CommonModule
    • Defining routes for lazy loading
    • Testing the lazy loading

There is a lot more than you can do with this, and the best place to learn more is the Angular documentation. Good read!

[Read More]

Dealing with eventual consistency and idempotency in MongoDB projections

Categories

Tags cloud database streaming nosql cio queues

Auditability, diagnostics, time travelling are usually the first mentioned features when speaking about Event Sourcing. All of them are great, but to me, projections are the real killer feature of an event-driven approach. Why? By Oskar Dudycz.

Projections are different interpretations of the same fact. Look at the photo below. Muhammad Ali is standing in triumph over Sonny Liston. Each of them interprets the same fact from an entirely different perspective.

Projections have multiple advantages for the development process. The one that I’d like to highlight especially is reducing the cognitive load. You can break down a process into two parts. At first, on modelling the business logic and capturing its result. Then thinking about how to interpret it. This is a liberating experience from thinking all at once in the relational approach. “Gosh, when I add that field, then this will break foreign key. How do I do this migration?”. Of course, we’ll eventually need to think about connecting our event with the read model, but we can split that thought process.

Projections are powerful but also non-trivial. In theory, it’s just a left-fold approach: you take the current state and apply event data, getting a new one. Yet, things can get more complex if we want a robust, fault-tolerant solution. To learn more and get access to code on TypeScript please follow the link to the full article. Good read!

[Read More]

Using Terraform to deploy to EKS

Categories

Tags cloud containers gcp devops kubernetes

Historically, companies have been restricted to manual solutions for maintaining IT infrastructure—but Infrastructure as Code (IaC) offers a different solution. By Lukonde Mwila.

With the rise of cloud and automation technology, as well as DevOps practices, it’s become simpler, more efficient, and reliable to provision complex infrastructure. Cloud providers like Amazon Web Services (AWS), Google Cloud Platform, and Microsoft Azure allow APIs to facilitate automation of resources in their environments. Your application’s underlying infrastructure and configuration can now be automated and versioned using code.

The article will take you through:

  • The Advantages of Using Terraform
  • The Disadvantage of Using Terraform
  • Provisioning an EKS Cluster Using Terraform
  • Networking Infrastructure with VPC
  • VPC
  • Subnets, Internet Gateway, NAT Gateway, and Custom Route Table
  • Security Groups
  • Variables for Network Resources
  • EKS Cluster with Managed Node Groups

… and more. Yuo will also get required yaml files for spinning up the reference infrastructure in the tutorial.

A managed Kubernetes cluster like EKS eliminates the complexity and overhead for software teams to provision and optimize control planes. Automation technology like IaC enhances the infrastructure management lifecycle with a host of benefits. However, Kubernetes cluster management in AWS can have significant cost implications if there are no tools in place to provide relevant insight, monitoring, and reporting for optimal usage. Good read!

[Read More]

How to build GitHub Actions in PHP with Minicli and Docker

Categories

Tags cicd containers devops php apis app-development

GitHub Actions facilitates creating CI/CD automated workflows that can be triggered by GitHub events, such as when a pull request is created, a merge is made, or a new comment is posted on an issue. What some people may not know is that you can also run GitHub actions at scheduled times, based on cron expressions. By Erika Heidi.

In this guide, you’ll learn how to use GitHub Actions to periodically run a PHP command line application built with Minicli. This application will update a CONTRIBUTORS file in the same repository where the workflow action is set, updating information about top contributors of a project. We’ll implement the repository update portion using the update-files-on-github action, which will generate a commit with the file change to the repository where the workflow is run.

This guide will help you with the following:

  • Bootstrapping the application
  • Pulling contributors with the GitHub API
  • Setting up the application Dockerfile
  • Creating the action file
  • Setting up a workflow

…and more. GitHub provides a large library of readily available actions you can integrate into your project, and you can also find user-contributed actions in the marketplace. However, because workflows are so flexible, sometimes it can be difficult to figure out how to combine multiple actions and which inputs or environment variables are required in certain scenarios. Nice one!

[Read More]

Zero trust workload security with GKE, Traffic Director, and CA Service

Categories

Tags cloud containers gcp software-architecture infosec

At the core of a zero trust approach to security is the idea that trust needs to be established via multiple mechanisms and continuously verified. Internally, Google has applied this thinking to the end-to-end process of running production systems and protecting workloads on cloud-native infrastructure, an approach we call BeyondProd. By Anoosh Saboori Product Manager, Zero Trust and Sanjay Pujare, Tech Lead, Proxyless gRPC Security.

As it stands today, the use of mTLS for service-to-service security involves considerable toil and overhead for developers, SREs, and deployment teams …. The GKE cluster’s mesh certificate component continuously talks to the CA pools to mint service identity certificates and make these certificates available to intended workloads running in GKE pods. Issuing Certificate Authorities are automatically renewed and the new roots pushed to clients before expiry.

Establishing and verifying trust in such a system requires: 1) that each workload has a unique workload identity and credentials for authentication, and 2) an authorization layer that determines which components of the system can communicate with other components.

To provide managed service mesh security that meets these requirements, Google is happy to announce the general availability of new security capabilities for Traffic Director which provide fully-managed workload credentials for Google Kubernetes Engine (GKE) via CA Service, and policy enforcement to govern workload communications. The fully-managed credential provides the foundation for expressing workload identities and securing connections between workloads leveraging mutual TLS (mTLS), while following zero trust principles. Follow the link to the full article to learn more!

[Read More]

Replace traditional email mailbox polling with real-time reads using Amazon SES and Lambda

Categories

Tags cloud aws software-architecture serverless

Integrating emails into an automated workflow for automated processing can be challenging. Traditionally, applications have had to use the POP protocol to connect to mail servers and poll for emails to arrive in a mailbox and then process the messages inline and perform actions on the message. This can be an inefficient mechanism and prone to errors that result in the workflow missing messages. Since this method requires polling it’s not great if you need real-time processing of messages and introduces inefficiencies in the design. By Syed Ali Abbas Gardezi and Satish Natarajan.

This blog post shows how to use SES to perform automated processing of email in an application workflow. I will use the option in SES to save received emails in S3 and trigger a Lambda function to process the message without having to poll a mailbox. This sample application demo is using email to receive simple orders which get automatically processed and the details stored in DynamoDB.

The article goes over:

  • Create an S3 Bucket for Email Storage
  • Create DynamoDB Table to Simulate Application
  • Create Lambda Function triggered by SES to Process Email
  • Configure SES to Send Emails to S3 and Trigger Lambda Function

In this post, we have shown you how to integrate email processing into an application workflow without having to resort to polling a mail box. Good read!

[Read More]

Amazon MemoryDB for Redis – Where speed meets consistency

Categories

Tags cloud aws cio software-architecture nosql devops

Modern apps are not monolithic; they’re composed of a complex graph of interconnected microservices, where the response time for one component can impact the performance of the entire system. For instance, a page load on an e-commerce website may require inputs from a dozen microservices, each of which must execute quickly to render the entire page as fast as possible so you don’t lose a customer. It’s critical that the data systems that support those microservices perform rapidly and reliably, and where speed is a primary concern, Redis has always been top performer. By Dr. Werner Vogels.

The article describes:

  • Redis’ best-effort consistency
  • MemoryDB: It’s all about the replication log
  • Redis-compatible
  • Purpose-built database for speed

The world moves faster and faster every day, which means data, and the systems that support that data, have to move even faster still. Now, when customers need an ultra-fast, durable database to process and store real-time data, they no longer have to risk data loss. With Amazon MemoryDB for Redis, AWS finally offers strong consistency for Redis so customers can focus on what they want to build for the future. Good read!

[Read More]

How to create an effective technical architectural diagram?

Categories

Tags cloud miscellaneous cio software-architecture learning programming

An Alibaba engineer shows how you can create effective architectural diagrams. By Ding Yi @Alibaba.

The value of technical communication is not only reflected in the way that applications are developed through commercial products and open-source projects and the way that various business launch processes are accelerated. But, its value is very much also reflected in the experience shared by several different outstanding engineers in improving productivity, optimizing product performance, and promoting the user experience. In a sentence, technical communication is important because it improves our professional capabilities.

The article pays attention to the following:

  • What is an architecture?
  • What is an architectural diagram?
  • What are functions of an architectural diagram?
  • Types of architectural diagrams
    • Scenario view
    • Logical view
    • Physical view
    • Process view
    • Development view
  • What makes for an effective architectural diagram?

… and more. An architecture can be defined as an abstract description of entities in a system and the relationships between them. It involves a series of decision-making processes.

There are many methodologies for depicting a good architectural diagram. This article introduces the C4 method, which however is also constantly evolving. Despite of this, regardless of the drawing methodology, we simply need to consider the intention of the drawing and better communicate it with the audience. We do not have to be unduly restricted by rules in the drawing process. In short, before starting a diagram, ask yourself: Who is it for, what is it of, and how to make it intuitive and understandable. Nice one!

[Read More]

How to handle errors in Swift task groups

Categories

Tags swiftlang app-development ios programming

There is one important topic related to task groups that author will cover, which is “error handling”. By Lee Kah Seng.

As we all know, a task group consists of multiple child tasks that run concurrently. When one of the child tasks encounters an error, how should the task group handle the error? What happens to those child tasks that are still running?

In this article, we will look into 2 most common ways we can use to handle errors in a task group:

  • Throw an error using a throwing task group
  • Returns results of all completed child tasks

You will also learn how to:

  • Define a throwing child task
  • Throw an error using a throwing task group
  • Understanding the behavior of a throwing task group
  • Returning results of all the completed child tasks

We hope this article gives you a good idea of how to handle errors when using a task group. The 2 methods that author has shown you in this article are just 2 of the most basic ways to handle errors in a task group. You can definitely extend the concepts used in these methods to handle a more complex situation that suits your needs. Good read!

[Read More]

Comprehensive guide to understanding customers and making better UX decisions

Categories

Tags ux learning web-development app-development

User research is an integral part of the UX design process. It provides insight into your users’ needs and behaviors, so that you can create better products and experiences for them. By Alexander Radahl.

The importance of conducting thorough user research before designing a product or service is widely recognized, but it’s important to know what types of research will be most helpful for your project. Below author will discuss some top UX research methods and their respective pros and cons, so that you can make the best decisions for your project!

The article then covers following:

  • Different types of UX research methods
  • Market insight
  • Personas
  • Usability testing
  • Creating prototypes for user feedback and more
  • User testing
  • User interviews
  • Surveys
  • Focus groups
  • Contextual inquiry
  • How to conduct user research

… and more. The process will appear differently based on the case, the team, and how you like to work. But using the example above and the tools provided in the last article, you have a head start in how to conduct UX research. Nice one!

[Read More]