Why do we microservice?

  1. The site seems extremely slow people had to wait for more time to choose products.
  2. Adding a new payment gateway, shipping method etc was taking so much time.
  3. A bug in one feature was taking a whole system down which was reported by the customer.
  4. Deploying was taking so much time than it used to.
  5. The server was from the US region and people from Asia are facing some latency issues.
  6. Since they were using PHP everywhere and they wanted to use languages like go, the node for concurrency, parallelism for more efficient computation. But it was difficult for them to implement a new stack.
  1. Scaling site was easy for them they could rewrite site into the latest stack.
  2. Adding a new payment gateway, shipping method, features was easy for them as code base was splitted it was easy for multiple developers to work autonomously.
  3. Now a downtime of one service won't affect the downtime of others
  4. Deploying was so much easier for them as they had used Kubernetes/ EKS and they could easily deploy/revert specific services they have worked on
  5. Due to their flexibility, they were able to implement dedicated DevOps for multi-region network serve and they have been implementing Kubernetes and scaling their services according to traffic.
  6. Now their frontend relies on on react js, whereas they have been using PHP for some for product listed & checkout. Where was order processing was done by Golang leveraging concurrency and they have been using cypress for UI Automation

--

--

--

Software Development Enthusiast

Love podcasts or audiobooks? Learn on the go with our new app.

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
ujwal dhakal

ujwal dhakal

Software Development Enthusiast

More from Medium

Fail faster, run safer!

Noisy Neighbor antipattern

Testivus: Unit Testing Philosophy

When Should You Apply CQRS Software Architecture Pattern?