Slide 1

Slide 1 text

Moving from A and B to ~150 microservices, the journey, and learnings Geshan Manandhar Senior Software Engineer (THE ICONIC) @geshan

Slide 2

Slide 2 text

◉ Senior Software Engineer ○ Tech solution provider ◉ Agile follower ◉ Conditional microservices believer whoami

Slide 3

Slide 3 text

I am from Kathmandu, Nepal

Slide 4

Slide 4 text

I was working for a GFG venture in Middle East

Slide 5

Slide 5 text

Now I work at THE ICONIC

Slide 6

Slide 6 text

And I came here from the future, a future without legacy monoliths

Slide 7

Slide 7 text

Who ‘does not like’ working with legacy apps/monoliths?

Slide 8

Slide 8 text

What to expect from this talk?

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

What is microservices architecture?

Slide 11

Slide 11 text

“ “Microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery” - Martin Fowler Source: https://martinfowler.com/articles/microservices.html

Slide 12

Slide 12 text

“ “Microservices is an architectural style that structures an application as a collection of loosely coupled services, which implement business capabilities. The microservice architecture enables the continuous delivery/deployment of large, complex applications. It also enables an organization to evolve its technology stack” - Chris Richardson Source: http://microservices.io/

Slide 13

Slide 13 text

Microservices at Namshi

Slide 14

Slide 14 text

From 2 monoliths, to SOA (C) to Microservices, in past 4-5 years

Slide 15

Slide 15 text

Migrating to a REST based JSON API triggered a transformation

Slide 16

Slide 16 text

Stateless auth is a blessing, JWS in a cookie saved hassles.

Slide 17

Slide 17 text

A chunk of the backend is in PHP, other apps are built with NodeJs + Js

Slide 18

Slide 18 text

There are ~150 microservices at Namshi, with ~10 backend engineers

Slide 19

Slide 19 text

OMS Studio (Prod) Wallet Shipments Catalog QC Pick It Order Exporter WeBuy Cart Some of the microservices

Slide 20

Slide 20 text

Moving to microservices enabled to ship changes faster

Slide 21

Slide 21 text

Docker and kubernetes really helped to have a stable infrastructure

Slide 22

Slide 22 text

9 out of 10 applications at Namshi are written in Node Js

Slide 23

Slide 23 text

Microservices != free lunch, lots of configs come with it

Slide 24

Slide 24 text

How to get started with Microservices

Slide 25

Slide 25 text

Start with an opportunity to extract out a business feature/function

Slide 26

Slide 26 text

Transform a pain point into a new service

Slide 27

Slide 27 text

Solve a small part of the issue, collaboratively. Roll out working software

Slide 28

Slide 28 text

Think out of the box, don’t code a microservice like a monolith

Slide 29

Slide 29 text

Feature flags and canary deployments keep us on the safe side

Slide 30

Slide 30 text

Key Takeaways

Slide 31

Slide 31 text

Requires inter team communication, business needs to buy into the idea

Slide 32

Slide 32 text

Replacing frontend can take ‘X’ months, back-office will take years

Slide 33

Slide 33 text

Design your systems with resilience in mind from the beginning

Slide 34

Slide 34 text

How small is micro? Yes, Your service can be of ~100 lines of your code

Slide 35

Slide 35 text

It is about speed and agility of software delivery

Slide 36

Slide 36 text

Questions welcome :) THE ICONIC is hiring. You can find me at ◉ @geshan ([email protected]) ◉ Geshan.com.np ◉ Slides: http://bit.ly/ab-to-ms Thanks! Presentation template by SlidesCarnival

Slide 37

Slide 37 text

Credits/References ◉ https://pixabay.com/en/primate-ape-thinking-mimic-view-1019101/ ◉ https://pixabay.com/en/running-sprint-cinder-track-498257/ ◉ https://pixabay.com/en/stacked-stones-cairn-rock-balance-1007944/ ◉ https://pixabay.com/en/lego-stones-build-toy-622602/ ◉ https://pixabay.com/en/tractor-vehicles-farm-machinery-387275/ ◉ https://pixabay.com/en/workplace-team-business-meeting-1245776/ ◉ https://pixabay.com/en/network-server-system-2402637/ ◉ https://pixabay.com/en/logs-wood-timber-lumber-woodpile-498538/ ◉ https://pixabay.com/en/sunset-sea-the-sun-clouds-1603974/ ◉ https://pixabay.com/en/change-arrows-clouds-sky-direction-948024/ ◉ https://pixabay.com/en/cheetah-africa-namibia-cat-run-2859581/ ◉ Kathmandu - https://pixabay.com/en/nepal-kathmandu-buddhism-pagodas-306621/ ◉ https://pixabay.com/en/characters-shield-note-street-sign-3533352/ ◉ https://www.flickr.com/photos/brianandjaclyn/4137335458 ◉ https://pixabay.com/en/time-tiempo-count-day-future-699965/ ◉ https://pixabay.com/en/doors-choices-choose-open-decision-1767563/