SlideShare a Scribd company logo
A	Primer	to	Containerization	&	
Microservices
Shiju	Varghese
About	Me
• Consulting	Solutions	Architect	
• Focused	on	Go	and	Google	Cloud	
						@shijucv	|	https://medium.com/@shijuvar
A Primer to Containerization & Microservices
Agenda
• Introduction	to	Microservices	
• Introduction	to	Containerization	
• An	Overview	of	Container	Ecosystem	
• Microservices	on	Containers
Microservices
Monolith Microservices
• Composed	of	a	suite	of	small	
services.	
• Each	service	runs	in	its	own	
process.	
• Greater	flexibility	for	scalability.
• Put	all	business	capabiliKes	
into	a	single	applicaKon.	
• ApplicaKon	runs	in	a	single	
process.	
• Scales	horizontally	by	running	
mulKple	instances	of	monolith.
Microservices	is	an	architectural	style	in	which	software	
applications	are	composed	of	a	suite	of		independently	
deployable,	small,	modular	services.	Each	of	these	
Microservices	focuses	on	completing	one	task	that	
represents	a	small	business	capability.	They	
communicate	with	each	other	using	language-agnostic	
protocols	such	as	Representational	State	Transfer	
(REST),	or	messaging	systems.	
In	a	nutshell,	Microservices	are	small,	autonomous	
services	that	work	together.
» Software	broken	up	into	functional	components.	
» Componentization	via	Services	in	which	each	service	
is	packaged	as	one	unit	of	execution.	
» Independent,	autonomous	process	with	no	
dependency	on	other	Microservices.	
» Services	are	organized	around	business	capability.	
» Decentralization	of	Data	Management.	
» Independently	replaceable	and	upgradeable.	
Autonomous	Services	around	Bounded	
Context
Communication	between	Services	
» Synchronous	
» REST	
» Asynchronous	
» AMQP	
» 	RabbitMQ,	Apache	Kafka,	Cloud	native	Pub/Sub
Key	Benefits
» Tackles	the	problem	of	complexity.		
» Flexibility	for	Polyglot	technology	stack.	
» Resilience.	
» Flexibility	for	Scalability.	
» Ease	of	Deployment.	
» Organisational	Alignment.	
» Composability.			
» Optimising	for	Replaceability.
Deploying	Microservices
Unit	of	Deployment
» Physical	Server	
» Virtual	Machine	(VM)	
» Container
Deployment	Patterns
» Multiple	Service	Instances	per	Host		
» Service	Instance	per	Host		
» Serverless	Deployment		
» AWS	Lambda	
» Google	Cloud	Functions
Running	Microservices	on	Containers
A	collection	of	independent,	autonomous	
containers	participating	in	an	application	
defines	the	Microservices	architecture.	
Microservices	-	Unit	of	Deployment	of	
as	Container
Container
» Lightweight	Linux	environment.	
» Hermetically	sealed,	deployable	app.	
» Separate	apps	from	infrastructure.	
» Develop	app	against	an	idealized	OS	-	A	static	Linux	
environment.	
» Popularized	and	revolutionized	by	Docker.
Why	Do	Developers	Like	It?
» Reliable	deployment	
» Static	application	environment;	Immutable	infrastructure			
» Portability	
» Separate	applications	from	where	it	runs	
» Repeatable	runnable	artifact	
» Run	anywhere	
» Speed	and	Lightweight	
» Boots	in	seconds	
» 100	-1000	containers	on	one	machine.	
» Loosely	Coupled	
» Compose	apps	from	autonomous	Microservices
Docker
Docker	is	an	open-source	engine	to	easily	create	
lightweight,	portable,	self-sufficient	containers	
from	any	application.	The	same	container	that	a	
developer	builds	and	test	on	a	laptop	can	run	at	
scale,	in	production,	on	VMs,	private	cloud,	
public	clouds	and	more.
» Open	platform	for	containers.	
» An	ecosystem	for	build,	ship,	and	run	distributed	
applications.	
» A	lightweight	container	virtualization	platform.	
» Built	on	LinuX	Containers	(LXC)	
» Written	in	Go	language.
Components	of	Docker
» Docker	-	A	portable,	lightweight	runtime	and	
packaging	tool	for	building	containerized	apps.	
» Docker	Hub	-	Software	as	a	Service	platform	for	
sharing	and	managing	Docker	images.
Docker	Fundamentals
» 	Docker	Images	-	Images	hold	your	apps.	
» 	Docker	Registries	-	Registry	for	sharing	Docker	
images	via	Docker	Hub	or	private	registry	system.	
» 	Docker	Containers	-	Create	containers	from	Docker	
images	to	run	apps.	
» Dockerfile	-	A	text	document	that	contains	
instructions	to	build	a	docker	image.
Docker	Compose
Compose	is	a	tool	for	defining	and	running	multi-
container	Docker	applications.
#	golang	image	where	workspace	(GOPATH)	configured	at	/go.	
FROM	golang	
#	Copy	the	local	package	files	to	the	container’s	workspace.	
ADD	.	/go/src/github.com/shijuvar/go-web/taskmanager	
#	Setting	up	working	directory	
WORKDIR	/go/src/github.com/shijuvar/go-web/taskmanager	
#	Get	godeps	for	managing	and	restoring	dependencies	
RUN	go	get	github.com/tools/godep	
#	Restore	godep	dependencies	
RUN	godep	restore		
#	Build	the	taskmanager	command	inside	the	container.	
RUN	go	install	github.com/shijuvar/go-web/taskmanager	
#	Run	the	taskmanager	command	when	the	container	starts.	
ENTRYPOINT	/go/bin/taskmanager	
#	Service	listens	on	port	8080.	
EXPOSE	8080
//	Build	image	from	Dockerfile	
$	docker	build	-t	taskmanager	.	
//	Run	Docker	image	and	publishing	a	web	app	
$	docker	run	—publish	3000:8080	—name	goweb	—rm	taskmanager
Container	Clusters
» Docker	Swarm	
» Google	Kubernetes	
» CoreOS	Tectonic	
» Apache	Mesos
Container-Centric	Micro	OS
» CoreOS	
» Ubuntu	Snappy	
» RancherOS	
» Red	Hat	Atomic	Host	
» VMware	Photon
Containerization	on	Cloud
Container	as	a	Service	(CaaS)
» Google	Container	Engine	
» Amazon	EC2	Container	Service
Shiju	Varghese	
gophermonk@gmail.com

More Related Content

What's hot (20)

PDF
Microservices: The OSGi way A different vision on microservices
Miguel Pastor
 
PDF
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
WSO2
 
PDF
Microservice architecture
Slim Ouertani
 
PDF
[Workshop] API-driven Integration
WSO2
 
PDF
Hyperledger Fabric EVM Integration Feb 20, 2018
Arnaud Le Hors
 
PPTX
Spring cloud-netflix-oss-microservices
Staples
 
PDF
How to Build a Scalable, Distributed, Multi-Cloud API Architecture on Kubernetes
WSO2
 
PDF
Real-Time ETL in Practice with WSO2 Enterprise Integrator
WSO2
 
PPTX
Eco system apps
Sergey Seletsky
 
PDF
Exposing Lambda Functions as Managed APIs
WSO2
 
PDF
Continuous Integration and Continuous Deployment (CI/CD) with WSO2 Enterprise...
WSO2
 
PDF
Implementing Microservices with NATS
Apcera
 
PDF
[WSO2 API Manager Community Call] Expose Services as Managed APIs
WSO2
 
PDF
WSO2 API microgateway introduction
Chanaka Fernando
 
PDF
What’s New with Flowable?
Flowable
 
PDF
Rapid Application Development with Docker
Niklas Heidloff
 
ODP
Bluemix overview with Internet of Things
Eric Cattoir
 
PDF
Resume
Vignesh Ramesh
 
PDF
Microservices, Containers, and Beyond
Lakmal Warusawithana
 
PPTX
How to move from Monolith to Microservice
Safaridin Salim
 
Microservices: The OSGi way A different vision on microservices
Miguel Pastor
 
[APIdays Paris 2019] API Management in Service Mesh Using Istio and WSO2 API ...
WSO2
 
Microservice architecture
Slim Ouertani
 
[Workshop] API-driven Integration
WSO2
 
Hyperledger Fabric EVM Integration Feb 20, 2018
Arnaud Le Hors
 
Spring cloud-netflix-oss-microservices
Staples
 
How to Build a Scalable, Distributed, Multi-Cloud API Architecture on Kubernetes
WSO2
 
Real-Time ETL in Practice with WSO2 Enterprise Integrator
WSO2
 
Eco system apps
Sergey Seletsky
 
Exposing Lambda Functions as Managed APIs
WSO2
 
Continuous Integration and Continuous Deployment (CI/CD) with WSO2 Enterprise...
WSO2
 
Implementing Microservices with NATS
Apcera
 
[WSO2 API Manager Community Call] Expose Services as Managed APIs
WSO2
 
WSO2 API microgateway introduction
Chanaka Fernando
 
What’s New with Flowable?
Flowable
 
Rapid Application Development with Docker
Niklas Heidloff
 
Bluemix overview with Internet of Things
Eric Cattoir
 
Microservices, Containers, and Beyond
Lakmal Warusawithana
 
How to move from Monolith to Microservice
Safaridin Salim
 

Viewers also liked (10)

PPTX
Hide your development environment and application in a container
Johan Janssen
 
PDF
Containerization using docker
Vinod Doshi
 
PPT
Essence Of Containerizati on 230508
jansowri
 
PPTX
Software Containerization
Roshan Deniyage
 
PDF
Docker containerization cookbook
Pascal Louis
 
PDF
Intro to containerization
Balint Pato
 
PDF
Let’s start Continuous Integration with jenkins
Tomohide Kakeya
 
PDF
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...
Lightbend
 
PDF
Containerization is more than the new Virtualization: enabling separation of ...
Jérôme Petazzoni
 
PPTX
How did we get to Containers: A brief History of Computing
Simone Morellato
 
Hide your development environment and application in a container
Johan Janssen
 
Containerization using docker
Vinod Doshi
 
Essence Of Containerizati on 230508
jansowri
 
Software Containerization
Roshan Deniyage
 
Docker containerization cookbook
Pascal Louis
 
Intro to containerization
Balint Pato
 
Let’s start Continuous Integration with jenkins
Tomohide Kakeya
 
Enterprise Development Trends 2016 - Cloud, Container and Microservices Insig...
Lightbend
 
Containerization is more than the new Virtualization: enabling separation of ...
Jérôme Petazzoni
 
How did we get to Containers: A brief History of Computing
Simone Morellato
 
Ad

Similar to A Primer to Containerization & Microservices (20)

PDF
Digital Transformation with Kubernetes, Containers, and Microservices
Lightbend
 
PPTX
From Monolith to Microservices using Amazon EC2 Container Service
Nathan Peck
 
PDF
Microservices, Kubernetes, and Application Modernization Done Right
Lightbend
 
PDF
Microservices
Stephan Lindauer
 
PPTX
building microservices
Cisco DevNet
 
PPTX
Microservices Architecture
Rishabh Karajgi
 
PPTX
Microservices-101
Subhashish Bhattacharjee
 
PDF
Understanding Microservices
M A Hossain Tonu
 
PPTX
Microservices, Containers, Scheduling and Orchestration - A Primer
Gareth Llewellyn
 
PDF
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
Simform
 
PDF
Kenzan: Architecting for Microservices
Darren Bathgate
 
PPTX
Introduction to micoservices architecture
rajpinindia
 
PDF
Introduction to the World of Containers
Felix Roberge
 
PDF
Introduction to Microservices
Paulo Gandra de Sousa
 
PDF
Microservices in Practice
Kasun Indrasiri
 
PDF
Micro service, Containers & Cluster Management
Vasu Thiyagarajan
 
PDF
Deploy microservices architecture through containers
Alessandro Martellone
 
PPTX
DevOps-training-in-chandigarh-Join-now--
asmeerana605
 
PDF
Microservices for Application Modernisation
Ajay Kumar Uppal
 
PPTX
Introduction to microservices
Anil Allewar
 
Digital Transformation with Kubernetes, Containers, and Microservices
Lightbend
 
From Monolith to Microservices using Amazon EC2 Container Service
Nathan Peck
 
Microservices, Kubernetes, and Application Modernization Done Right
Lightbend
 
Microservices
Stephan Lindauer
 
building microservices
Cisco DevNet
 
Microservices Architecture
Rishabh Karajgi
 
Microservices-101
Subhashish Bhattacharjee
 
Understanding Microservices
M A Hossain Tonu
 
Microservices, Containers, Scheduling and Orchestration - A Primer
Gareth Llewellyn
 
A Guide on What Are Microservices: Pros, Cons, Use Cases, and More
Simform
 
Kenzan: Architecting for Microservices
Darren Bathgate
 
Introduction to micoservices architecture
rajpinindia
 
Introduction to the World of Containers
Felix Roberge
 
Introduction to Microservices
Paulo Gandra de Sousa
 
Microservices in Practice
Kasun Indrasiri
 
Micro service, Containers & Cluster Management
Vasu Thiyagarajan
 
Deploy microservices architecture through containers
Alessandro Martellone
 
DevOps-training-in-chandigarh-Join-now--
asmeerana605
 
Microservices for Application Modernisation
Ajay Kumar Uppal
 
Introduction to microservices
Anil Allewar
 
Ad

More from Shiju Varghese (20)

PDF
Building Modern Distributed Applications in Go with Service Weaver
Shiju Varghese
 
PDF
Microservices in Go with Go kit
Shiju Varghese
 
PDF
NATS: A Cloud Native Messaging System
Shiju Varghese
 
PDF
Event-Driven Microservices With NATS Streaming
Shiju Varghese
 
PDF
Inter-Process Communication in Microservices using gRPC
Shiju Varghese
 
PDF
Building Microservices with gRPC and NATS
Shiju Varghese
 
PDF
Writing HTTP Middleware In Go
Shiju Varghese
 
PDF
Building RESTful Services With Go and MongoDB
Shiju Varghese
 
PDF
Docker and Kubernetes
Shiju Varghese
 
PDF
Practicing Mindfulness
Shiju Varghese
 
PPSX
Azure DocumentDB
Shiju Varghese
 
PPSX
Azure Mobile Services .NET Backend
Shiju Varghese
 
PDF
Windows Azure Mobile Services
Shiju Varghese
 
PDF
JavaScript, Meet Cloud : Node.js on Windows Azure
Shiju Varghese
 
PPSX
Introduction to Node js
Shiju Varghese
 
PPSX
Windows Azure Cloud Services
Shiju Varghese
 
PPSX
Windows Azure Webs Sites
Shiju Varghese
 
PPS
Building Apps with Node.js
Shiju Varghese
 
PPSX
Node on Windows Azure
Shiju Varghese
 
PPTX
Introducing Razor - A new view engine for ASP.NET
Shiju Varghese
 
Building Modern Distributed Applications in Go with Service Weaver
Shiju Varghese
 
Microservices in Go with Go kit
Shiju Varghese
 
NATS: A Cloud Native Messaging System
Shiju Varghese
 
Event-Driven Microservices With NATS Streaming
Shiju Varghese
 
Inter-Process Communication in Microservices using gRPC
Shiju Varghese
 
Building Microservices with gRPC and NATS
Shiju Varghese
 
Writing HTTP Middleware In Go
Shiju Varghese
 
Building RESTful Services With Go and MongoDB
Shiju Varghese
 
Docker and Kubernetes
Shiju Varghese
 
Practicing Mindfulness
Shiju Varghese
 
Azure DocumentDB
Shiju Varghese
 
Azure Mobile Services .NET Backend
Shiju Varghese
 
Windows Azure Mobile Services
Shiju Varghese
 
JavaScript, Meet Cloud : Node.js on Windows Azure
Shiju Varghese
 
Introduction to Node js
Shiju Varghese
 
Windows Azure Cloud Services
Shiju Varghese
 
Windows Azure Webs Sites
Shiju Varghese
 
Building Apps with Node.js
Shiju Varghese
 
Node on Windows Azure
Shiju Varghese
 
Introducing Razor - A new view engine for ASP.NET
Shiju Varghese
 

Recently uploaded (20)

PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Biography of Daniel Podor.pdf
Daniel Podor
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
Blockchain Transactions Explained For Everyone
CIFDAQ
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
"Autonomy of LLM Agents: Current State and Future Prospects", Oles` Petriv
Fwdays
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
NewMind AI - Journal 100 Insights After The 100th Issue
NewMind AI
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Biography of Daniel Podor.pdf
Daniel Podor
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
IoT-Powered Industrial Transformation – Smart Manufacturing to Connected Heal...
Rejig Digital
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
Blockchain Transactions Explained For Everyone
CIFDAQ
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
HCIP-Data Center Facility Deployment V2.0 Training Material (Without Remarks ...
mcastillo49
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 

A Primer to Containerization & Microservices