Introduction to micro-services @DevOps pune Meetup

Rahul Khengare
Rahul KhengareCloud Engineer | DevOps | Containers | Technology Enthusiast | Blogger | Open Source Software at Motifworks
INTRODUCTION TO
MICROSERVICE
@DevOps Pune
13th March 2016
AGENDA
 Service Oriented Architectures
 Micro-services Architecture
 Why it is helpful
 Insights about Docker and MEAN Stack
 Role of Docker
 Demo (Micro-services based MEAN stack application on DOCKER)
WHO AM I?
 Cloud and DevOps Engineer
 DevOps by Profession and developer by
Heart
 Blogger (oss-world.blogspot.in)
 Linkedin:
https://in.linkedin.com/in/rahulkhengare
TARGET AUDIENCE
 Knowledge about web based applications
 Basics of Docker
SERVICE ORIENTED
ARCHITECTURES
MONOLITHIC APPLICATION
UI Components
Business Logic
Database
User
Shopping Application
OS
MONOLITHIC
 All functionality is in single process
 Macro or single tier application
 Resides on single machine
 Front end, business logic and data access merged in single code
BENEFITS OF MONOLITHIC
 Easy to Develop
 Easy to Test
 Easy to Scale: Just run multiple instances of application on different
servers
 Easy Deployment Process (just one war file in case of JAVA)
DRAWBACKS OF MONOLITHIC
 Manageability of code
 Difficult to deploy or rebuild
 Stuck with same technology stacks
 Scaling of Application
 Rigorous testing after change deployment
 Application Downtime
MICRO-SERVICES
 Composed of small, independent, narrowly-focused processes
communicating with each other using language independent APIs
 Like UNIX commands, which are designed to do one single thing but can
be piped together to perform some complex operations
 Loosely coupled, fine-grained, follows the Single Responsibility Principle
 Resource Independent
 Netflix, Amazon, LinkedIn, Groupon, PayPal, Airbnb, The Guardian are
using already
MICRO-SERVICE APPLICATION
UI
Components
Business
Logic
Inventory
User
Shopping Application
OS
UI
Components
Business
Logic
OS
UI
Components
Business
Logic
Cart/checkout
OS
UI
Components
Business
Logic
Users
OS
LOAD BALANCER
Orders/shipping
WHY TO USE MICRO-SERVICES
 Technology agnostic
 Independent Rapid Deployment
 Helps replacing individual services using API
 Failure Isolation
 Scalability
 Flexibility
LETS BUILD MICRO-SERVICES
L
O
A
D
B
A
L
A
N
C
E
R
1 MONOLITHIC APP ~ 100 MICRO-
QUESTIONS??
 How to architect my application?
 How to manage micro-services locally?
 How to ensure latest version of application?
 How to deploy them to production?
 What technology should I use?
TECHNOLOGY INSIGHTS
WHAT IS DOCKER
 Open Source Container Framework
 Helps developer or sysadmin to develop, ship, and run distributed
applications
 Operating system level virtualization
 Container uses kernel features such as CGROUPS, NAMESPACES,
SELINUX, AUFS
 Docker images are IMMUTABLE
VIRTUAL MACHINE VS DOCKER
CONTAINER
DOCKER FLOW
HOW DOCKER HELP
 Docker Mission: Build, ship, run any application anywhere
 Use as platform for management of application containers
 Create a Docker container of your micro-services
 Run each micro-service in separate container
 Scaling is fun with Docker
 Use of Docker compose will stack your micro-service application as
single application
MEAN STACK
DEMO
ONLINE TEST APP
Docker Host
SERVER
NGINX
Docker
Test functionality
container
MongoDB
container
Security
functionality
container
CLIENT APP
Container
PORT 5000
PORT 80
PORT 5002
PORT 5001
PORT 27017
TARGET APPLICATIONS
 Not suitable for simple applications
 Highly scalable applications
 Distributed functionality
CHALLENGES
 How to break application in micro-services
 Unmanageability
 Performance about series of dependent services
 Learning curve for new developer
ANY QUESTIONS??
THANK YOU!!
1 of 26

More Related Content

What's hot(20)

API Microservices with Node.js and DockerAPI Microservices with Node.js and Docker
API Microservices with Node.js and Docker
Apigee | Google Cloud7.7K views
Swagger code motion talkSwagger code motion talk
Swagger code motion talk
Victor Trakhtenberg1K views
MicroServices for Java Developers MicroServices for Java Developers
MicroServices for Java Developers
Red Hat Developers986 views
Evolving the Netflix APIEvolving the Netflix API
Evolving the Netflix API
Katharina Probst3.5K views
Microservices & API Gateways Microservices & API Gateways
Microservices & API Gateways
Kong Inc.7.4K views
DevOps and AWS  - Code PaLOUsa 2017DevOps and AWS  - Code PaLOUsa 2017
DevOps and AWS - Code PaLOUsa 2017
James Strong483 views

Viewers also liked(6)

Similar to Introduction to micro-services @DevOps pune Meetup (20)

More from Rahul Khengare

You2.0You2.0
You2.0Rahul Khengare
104 views11 slides
DPI2012DPI2012
DPI2012Rahul Khengare
141 views30 slides
Serf@devops puneSerf@devops pune
Serf@devops puneRahul Khengare
442 views19 slides

More from Rahul Khengare(6)

AzurePolicy DevOps Pune Feb23AzurePolicy DevOps Pune Feb23
AzurePolicy DevOps Pune Feb23
Rahul Khengare44 views
CIS Security BenchmarkCIS Security Benchmark
CIS Security Benchmark
Rahul Khengare582 views
You2.0You2.0
You2.0
Rahul Khengare104 views
DPI2012DPI2012
DPI2012
Rahul Khengare141 views
Serf@devops puneSerf@devops pune
Serf@devops pune
Rahul Khengare442 views

Introduction to micro-services @DevOps pune Meetup