Image for post
Image for post

Nowadays microservices are a huge trend used by companies. Developers use microservices to architect for portability, while operators manage extremely large hybrid and multi-cloud deployments.

In a microservice world, things become more complex. Platforms such as Kubernetes address a lot of the complexity; they handle resource isolation and utilization, networking, and deployments nicely. But a lot of the involved complexity such as load balancing, rollout scenarios, circuit breaking, retries, rate limiting, observability, tracing, and transport security is still left up to the development teams.

Of course, you can address all of these challenges in your microservices programmatically using popular open-source…


Image for post
Image for post

Don’t take your customers and teams on the bumpy ride to promise-land with you.

We have all seen a bunch of features spread out over a timeline that you try to stick to. But pragmatists want to use your product roadmap to make business decisions apart from the one on whether to buy your product or not. And if you fail to deliver, the consequences might be detrimental for your business: loss of confidence, angry customers, high churn rate, and internal stress.

Don’t jump the gun to deliver a fancy roadmap, because this is when the pain starts. And don’t…


Image for post
Image for post

Many Organizations use Relational Database like MySQL to manage many gigabytes of data. Sometimes, the tech team forces to implement NoSQL solutions on top of the relational databases to take advantage of NoSQL like building full-text search or aggregating and analyzing massive data.

Despite its advantages of having NoSQL on top of SQL. This solution does not support replication or an SQL layer, and we will lose ACID concept; ACID stands for:

  • Atomicity — each transaction either succeeds completely or is fully rolled back.
  • Consistency — data written to a database must be valid according to all defined rules.
  • Isolation…


Image for post
Image for post

Content websites need a system to ensure the relevancy between the page category and the content that show on it. Therefore, to ensure high data quality, data warehouses must validate and cleanse incoming data from users. OpenSooq.com is one of Arabic content websites that desperately needs such a system, it is a leading classifieds ads website in the Middle East and North Africa. The website which is available in the Arabic language serves more than billion page views per month, and also receives more than one million new ad postings from users every month. …


Image for post
Image for post

Acquiring users takes time and money, we are working hard for them. However, push notifications are the follow-up to user acquisition, to make sure that the marketing dollars stretch as far as possible. The idea comes from specifying a system that will enable the OpenSooq to profile users, segment them and target them with different parts of our platform based on a lightweight implementation.

The system is centered around the idea of generating a DNA fingerprint of each user based on his past interactions on OpenSooq, this DNA fingerprint is then transmitted to the client-side, that use it to identify…


Image for post
Image for post
Managing Serverless Multi-Tier Architectures in OpenSooq

The multi-tier application (three-tier, n-tier, etc.) has been a cornerstone architecture pattern for decades. The multi-tier pattern provides good guidelines for you to follow to ensure decoupled and scalable application components that can be separately managed and maintained (often by distinct teams). Multi-tiered applications are often built using a service-oriented architecture (SOA) approach to using web services. In this approach, the network acts as the boundary between tiers.

I show how we design multi-tiered architectures for popular patterns such as microservices, mobile backends, and our website. …


Image for post
Image for post
Why milliseconds matter

The microservice architecture style has been taking the software industry by storm in the recent past and with some good arguments. It objectively delivers key benefits that make the resulting system resilient to failure and scalable at the desired level of granularity. In an enterprise scenario, a microservice architecture enables the use of heterogeneous technologies and different architectural patterns. It also dramatically simplifies deployment and allows the engineering department to more easily shape up a bespoke project that reflects the internal organization.

While REST is widely implemented, a newer communication technology, gRPC, has gained tremendous momentum across the cloud-native community.

What is gRPC?


The way you structure and organize internal links plays an important role in how both users and search engines are able to navigate your website, ultimately impacting your website’s rankings.

Search engines like Google use links to crawl the web. The crawlers click on each link that appears on a page ( both internal links and external links ) and then all the links on each subsequent page, and so on. This allows the search engines to find your pages and rank them in their indices.

For this reason, the way you link the pages on your website plays a…


COVID-19 forced all companies in all categories to review their positioning in this stark new landscape and, for once, the much-maligned phrase “adapt or die” will not be an overstatement. It will be remembered as a Darwinian moment for the global industry.

NOW our world will be very different.

Before COVID-19, fashion was already a “winner-takes-all” industry. Now, even though we are only at the beginning of the pandemic, it is almost certain that the crisis will intensify the industry’s polarising nature. The shutdown of physical retail and the slump in both consumer and investor confidence will irrevocably alter the…

Ramzi Alqrainy

Apache Solr Contributor | Slack Contributor | Speaker | Chief Technology Officer at OpenSooq | Technical Reviewer for Big Data Books

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store