How to setup CI/CD pipeline for WordPress with GitHub Actions and AWS (Part 2)
In the previous article, we discussed how to set up a "GitHub hosted runner" with WordPress. Now, in this part, we will explore how to achieve the same deployment process using a "Self-hosted runner" GitHub Branches and Web Servers Architecture Recap: Bef...
An Introduction to Event-Driven Architecture
With the growing need to build scalable, performing and maintainable enterprise services, microservices and event-driven architectures are often brought up as solutions to the problem, but what should you keep in mind when building services with such arch...
How to setup CI/CD pipeline for WordPress with GitHub Actions and AWS (Part 1)
GitHub Actions can be used to automate almost any type of project, but in this article, I will cover how can we automate deployment (CI/CD) for WordPress. I personally chose WordPress as an example as is the world’s most popular CMS, with over 455 million...
Accessing AWS RDS databases remotely with no exposed ports
Ok, I admit it. The title might sounds weird because, how it is supposed to connect to an SQL service without a port, right? Well the catch is that there IS a port, but it is not an inbound port, therefore nothing is exposed. And it is fully managed by AW...
Solution Design for Free Range Developers
At Monstarlab, the role of Solution Architect (SA) provides one career path for developers to progress towards, should they wish to pursue a less hands-on role over time. Many of the most common problems faced by a rookie SA are around the communication o...
Using Policy As Code to manage permissions in REST APIs
Authorization and Authentication (AuthZ and AuthN) are very critical parts of any system for identity and permissions validation and enforcement, AuthN is basically the process to verify who the user is, while AuthZ is the process of validating the user’s...
API First
We've been building APIs for a long time, enabling our mobile software solutions to communicate with each other across their respective platforms. For years these APIs have been built as part of a "mobile first"-approach, under the guiding light of an int...
Alibaba Seata
Seata is an open source distributed transaction solution that delivers high performance and easy to use distributed transaction services under a microservices architecture. 1.Overview A distributed transaction solution with high performance and ease of us...
Introduction to Domain-Driven Design
Domain-Driven Design (DDD) has been around for well over a decade, and its popularity keeps on growing. Eric Evans coined the term in his book: "Domain-Driven Design: Tackling Complexity in the Heart of Software." A lot of recent interest probably correla...
Simplifying Dependency Injection And IoC Concepts Using TypeScript
It is never easy to do everything by yourself. Since the beginning of time, humans truly understood, often with a huge cost, that their true power lies not in conflicts but in collaboration. Programming paradigm is also not quite different. For an applica...