SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
“Bootify” Your 
App
● SA at EPAM Systems 
● primary skill is Java 
● hands-on-coding with Groovy, Ruby 
● trying to learn some Scala and Erlang 
● passionate about agile, clean code and devops 
Izzet Mustafayev@EPAM Systems 
@webdizz webdizz izzetmustafaiev 
http://webdizz.name
agenda 
● what is this about? 
● concepts behind 
● tools 
● demo 
● summary 
● q&a
Concepts behind
μServices Architecture
Overview 
● Small (10-100 LOC)
Overview 
● Small (10-100 LOC) 
● Lightweight (run several per box)
Overview 
● Small (10-100 LOC) 
● Lightweight (run several per box) 
● Takes strength of platform/language (polyglot)
Overview 
● Small (10-100 LOC) 
● Lightweight (run several per box) 
● Takes strength of platform/language (polyglot) 
● Independent (development/deployment)
Overview 
● Small (10-100 LOC) 
● Lightweight (run several per box) 
● Takes strength of platform/language (polyglot) 
● Independent (development/deployment) 
● Stateless (everything persisted in DB)
Overview 
● Small (10-100 LOC) 
● Lightweight (run several per box) 
● Takes strength of platform/language (polyglot) 
● Independent (development/deployment) 
● Stateless (everything persisted in DB) 
● Monitored (health and business value)
Benefits
Toolset unchained 
● Polyglot technology stack 
● Polyglot persistence 
● Frameworks 
● Thin transport
Scalability 
● Independent provisioning 
● Fine tuning 
● Elasticity
Independence 
● Development 
● Testing 
● Deployment 
● Reliability
Shortcomings
Shortcomings 
● More responsibility from Devs to support Ops
Shortcomings 
● More responsibility from Devs to support Ops 
● Polyglot infrastructure (if any)
Shortcomings 
● More responsibility from Devs to support Ops 
● Polyglot infrastructure (if any) 
● Costs
Shortcomings 
● More responsibility from Devs to support Ops 
● Polyglot infrastructure (if any) 
● Costs 
● Orchestration
Automation
Continuous I/D/D
Infrastructure Orchestration 
● Environment as a code 
● Provisioning automation 
● Configuration automation
Immutable Infrastructure
Disposability 
● Build 
● Run 
● Destroy
Containerisation 
● Container as deployment artifact 
● Environment agnostic 
● New version - new container 
● All dependencies built in
Tools
Gradle http://www.gradle.org/ 
Gradle - is build automation 
evolved. 
● Combines the power and flexibility of Ant 
with the dependency management and 
conventions of Maven 
● Declarative way to describe build pipeline 
● Powered by a Groovy DSL 
● Free and open source
Spring Boot http://projects.spring.io/spring-boot/ 
Takes an opinionated view of 
building production-ready Spring 
applications. 
● favors convention over configuration 
● based on Spring 
● designed to get you up and running ASAP 
● production-ready features such as metrics, 
health checks and externalized 
configuration
Thymeleaf http://www.thymeleaf.org/ 
Thymeleaf - is an XML / XHTML / 
HTML5 template engine 
● Works both in web and non-web 
environments 
● Modular by dialects. 
● Provides integration with Spring modules 
● Easy-to-use, elegant syntax based on 
attributes only
Ansible http://www.ansible.com/ 
Ansible - is an IT automation tool. 
● System provisioning 
● Software deployment 
● Orchestration 
● Declarative 
● Agentless 
● Decentralized
Docker https://www.docker.com/ 
Docker - An open platform for 
distributed applications for 
developers and sysadmins. 
● Develop an app with any language and any 
toolchain 
● Ship the “Dockerized” app and 
dependencies anywhere 
● Scale, move between data centers, update 
with zero downtime and more
Redis http://redis.io/ 
Redis - is an advanced key-value 
cache and store 
● open source - BSD licensed 
● referred to as a data structure server (key-value 
store) 
● super fast read/writes 
● provides messaging (queue/pubsub) 
● has tons of clients
Demo
Summary
Summary 
● Speed wins in the marketplace
Summary 
● Speed wins in the marketplace 
● Automation is a big deal
Summary 
● Speed wins in the marketplace 
● Automation is a big deal 
● Frameworks matter for rapid 
delivery
Summary 
● Speed wins in the marketplace 
● Automation is a big deal 
● Frameworks matter for rapid 
delivery 
● Polyglot mindset
References 
● http://martinfowler.com/articles/microservices.html 
● http://martinfowler.com/bliki/ImmutableServer.html 
● http://goo.gl/8lKIYK 
● http://projects.spring.io/spring-boot/ 
● https://www.docker.io/ 
● http://www.ansible.com/ 
● http://www.gradle.org/ 
● http://redis.io/ 
● https://github.com/webdizz/bootiful-apps
q&a
Izzet Mustafayev@EPAM Systems 
@webdizz webdizz izzetmustafaiev 
http://webdizz.name

Contenu connexe

Tendances

Tendances (20)

OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
Master the Monorepo
Master the MonorepoMaster the Monorepo
Master the Monorepo
 
Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5
 
Everything as code
Everything as codeEverything as code
Everything as code
 
Everything as code
Everything as codeEverything as code
Everything as code
 
Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Everything as code - Johan Siebens STS presentation 14-01-2020
Everything as code - Johan Siebens STS presentation 14-01-2020Everything as code - Johan Siebens STS presentation 14-01-2020
Everything as code - Johan Siebens STS presentation 14-01-2020
 
Monorepo at Pinterest
Monorepo at PinterestMonorepo at Pinterest
Monorepo at Pinterest
 
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
Crystal
CrystalCrystal
Crystal
 
Kshitij
KshitijKshitij
Kshitij
 
javerosmx-2015-marzo-groovy-java8-comparison
javerosmx-2015-marzo-groovy-java8-comparisonjaverosmx-2015-marzo-groovy-java8-comparison
javerosmx-2015-marzo-groovy-java8-comparison
 
Zero downtime deployments for Sling application using Docker
Zero downtime deployments for Sling application using DockerZero downtime deployments for Sling application using Docker
Zero downtime deployments for Sling application using Docker
 
A brief intro to RubyMotion
A brief intro to RubyMotionA brief intro to RubyMotion
A brief intro to RubyMotion
 
BKK16-407 AOSP Toolchain Evolution and experimental languages on AOSP
BKK16-407 AOSP Toolchain Evolution and experimental languages on AOSPBKK16-407 AOSP Toolchain Evolution and experimental languages on AOSP
BKK16-407 AOSP Toolchain Evolution and experimental languages on AOSP
 
Sep Nasiri "Upwork PHP Architecture"
Sep Nasiri "Upwork PHP Architecture"Sep Nasiri "Upwork PHP Architecture"
Sep Nasiri "Upwork PHP Architecture"
 
The working architecture of node js applications open tech week javascript ...
The working architecture of node js applications   open tech week javascript ...The working architecture of node js applications   open tech week javascript ...
The working architecture of node js applications open tech week javascript ...
 
Laptop Devops: Putting Modern Infrastructure Automation to Work For Local Dev...
Laptop Devops: Putting Modern Infrastructure Automation to Work For Local Dev...Laptop Devops: Putting Modern Infrastructure Automation to Work For Local Dev...
Laptop Devops: Putting Modern Infrastructure Automation to Work For Local Dev...
 
Net core
Net coreNet core
Net core
 
Scaling up development of a modular code base
Scaling up development of a modular code baseScaling up development of a modular code base
Scaling up development of a modular code base
 

En vedette

Zaynab pcelt learner statement
Zaynab pcelt learner statementZaynab pcelt learner statement
Zaynab pcelt learner statement
Amal Farhat
 
空地空家管理サービス
空地空家管理サービス空地空家管理サービス
空地空家管理サービス
raito3104
 

En vedette (14)

Benefits of FRP Handrails
Benefits of FRP HandrailsBenefits of FRP Handrails
Benefits of FRP Handrails
 
Zaynab pcelt learner statement
Zaynab pcelt learner statementZaynab pcelt learner statement
Zaynab pcelt learner statement
 
Fibergrate Structural Systems
Fibergrate Structural SystemsFibergrate Structural Systems
Fibergrate Structural Systems
 
Protect Your Facility From Slip and Fall Accidents
Protect Your Facility From Slip and Fall AccidentsProtect Your Facility From Slip and Fall Accidents
Protect Your Facility From Slip and Fall Accidents
 
SOLID Principles in the real world
SOLID Principles in the real worldSOLID Principles in the real world
SOLID Principles in the real world
 
Zaynab pcelt learner statement
Zaynab pcelt learner statementZaynab pcelt learner statement
Zaynab pcelt learner statement
 
Continuous integration for JavaScript projects
Continuous integration for JavaScript projectsContinuous integration for JavaScript projects
Continuous integration for JavaScript projects
 
Reactive Extensions: classic Observer in .NET
Reactive Extensions: classic Observer in .NETReactive Extensions: classic Observer in .NET
Reactive Extensions: classic Observer in .NET
 
空地空家管理サービス
空地空家管理サービス空地空家管理サービス
空地空家管理サービス
 
JavaScript. Code Quality.
JavaScript. Code Quality.JavaScript. Code Quality.
JavaScript. Code Quality.
 
Visualization of Big Data in Web Apps
Visualization of Big Data in Web AppsVisualization of Big Data in Web Apps
Visualization of Big Data in Web Apps
 
Responsive Web in Brief
Responsive Web in BriefResponsive Web in Brief
Responsive Web in Brief
 
Object Oriented Concepts in Real Projects
Object Oriented Concepts in Real ProjectsObject Oriented Concepts in Real Projects
Object Oriented Concepts in Real Projects
 
Modern web applications infrastructure
Modern web applications infrastructureModern web applications infrastructure
Modern web applications infrastructure
 

Similaire à Bootify Yyour App from Zero to Hero

Similaire à Bootify Yyour App from Zero to Hero (20)

“Bootify your app - from zero to hero
“Bootify  your app - from zero to hero“Bootify  your app - from zero to hero
“Bootify your app - from zero to hero
 
µServices Architecture @ EPAM WOW 2015
µServices Architecture @ EPAM WOW 2015µServices Architecture @ EPAM WOW 2015
µServices Architecture @ EPAM WOW 2015
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
Start Serverless with Golang!
Start Serverless with Golang!Start Serverless with Golang!
Start Serverless with Golang!
 
PaaS options for .NET
PaaS options for .NETPaaS options for .NET
PaaS options for .NET
 
Introduction to Docker Container
Introduction to Docker ContainerIntroduction to Docker Container
Introduction to Docker Container
 
Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...
Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...
Building a Pluggable, Cloud-native Event-driven Serverless Architecture - Rea...
 
API Microservices with Node.js and Docker
API Microservices with Node.js and DockerAPI Microservices with Node.js and Docker
API Microservices with Node.js and Docker
 
Devops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShiftDevops with Python by Yaniv Cohen DevopShift
Devops with Python by Yaniv Cohen DevopShift
 
introduction to micro services
introduction to micro servicesintroduction to micro services
introduction to micro services
 
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
[HKOSCON][20180616][Containerized High Availability Virtual Hosting Deploymen...
 
Instant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositoriesInstant developer onboarding with self contained repositories
Instant developer onboarding with self contained repositories
 
Introduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OKIntroduction to DevOps and the Practical Use Cases at Credit OK
Introduction to DevOps and the Practical Use Cases at Credit OK
 
Microservice Workshop Hands On
Microservice Workshop Hands On Microservice Workshop Hands On
Microservice Workshop Hands On
 
Code, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers wayCode, ci, infrastructure - the gophers way
Code, ci, infrastructure - the gophers way
 
Bgoug 2019.11 building free, open-source, plsql products in cloud
Bgoug 2019.11   building free, open-source, plsql products in cloudBgoug 2019.11   building free, open-source, plsql products in cloud
Bgoug 2019.11 building free, open-source, plsql products in cloud
 
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
 
Docker. Does it matter for Java developer ?
Docker. Does it matter for Java developer ?Docker. Does it matter for Java developer ?
Docker. Does it matter for Java developer ?
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)
 
Cloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud PipelinesCloud Native CI/CD with Spring Cloud Pipelines
Cloud Native CI/CD with Spring Cloud Pipelines
 

Dernier

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Dernier (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 

Bootify Yyour App from Zero to Hero

  • 2. ● SA at EPAM Systems ● primary skill is Java ● hands-on-coding with Groovy, Ruby ● trying to learn some Scala and Erlang ● passionate about agile, clean code and devops Izzet Mustafayev@EPAM Systems @webdizz webdizz izzetmustafaiev http://webdizz.name
  • 3. agenda ● what is this about? ● concepts behind ● tools ● demo ● summary ● q&a
  • 4.
  • 7. Overview ● Small (10-100 LOC)
  • 8. Overview ● Small (10-100 LOC) ● Lightweight (run several per box)
  • 9. Overview ● Small (10-100 LOC) ● Lightweight (run several per box) ● Takes strength of platform/language (polyglot)
  • 10. Overview ● Small (10-100 LOC) ● Lightweight (run several per box) ● Takes strength of platform/language (polyglot) ● Independent (development/deployment)
  • 11. Overview ● Small (10-100 LOC) ● Lightweight (run several per box) ● Takes strength of platform/language (polyglot) ● Independent (development/deployment) ● Stateless (everything persisted in DB)
  • 12. Overview ● Small (10-100 LOC) ● Lightweight (run several per box) ● Takes strength of platform/language (polyglot) ● Independent (development/deployment) ● Stateless (everything persisted in DB) ● Monitored (health and business value)
  • 14. Toolset unchained ● Polyglot technology stack ● Polyglot persistence ● Frameworks ● Thin transport
  • 15. Scalability ● Independent provisioning ● Fine tuning ● Elasticity
  • 16. Independence ● Development ● Testing ● Deployment ● Reliability
  • 18. Shortcomings ● More responsibility from Devs to support Ops
  • 19. Shortcomings ● More responsibility from Devs to support Ops ● Polyglot infrastructure (if any)
  • 20. Shortcomings ● More responsibility from Devs to support Ops ● Polyglot infrastructure (if any) ● Costs
  • 21. Shortcomings ● More responsibility from Devs to support Ops ● Polyglot infrastructure (if any) ● Costs ● Orchestration
  • 24. Infrastructure Orchestration ● Environment as a code ● Provisioning automation ● Configuration automation
  • 26. Disposability ● Build ● Run ● Destroy
  • 27. Containerisation ● Container as deployment artifact ● Environment agnostic ● New version - new container ● All dependencies built in
  • 28. Tools
  • 29. Gradle http://www.gradle.org/ Gradle - is build automation evolved. ● Combines the power and flexibility of Ant with the dependency management and conventions of Maven ● Declarative way to describe build pipeline ● Powered by a Groovy DSL ● Free and open source
  • 30. Spring Boot http://projects.spring.io/spring-boot/ Takes an opinionated view of building production-ready Spring applications. ● favors convention over configuration ● based on Spring ● designed to get you up and running ASAP ● production-ready features such as metrics, health checks and externalized configuration
  • 31. Thymeleaf http://www.thymeleaf.org/ Thymeleaf - is an XML / XHTML / HTML5 template engine ● Works both in web and non-web environments ● Modular by dialects. ● Provides integration with Spring modules ● Easy-to-use, elegant syntax based on attributes only
  • 32. Ansible http://www.ansible.com/ Ansible - is an IT automation tool. ● System provisioning ● Software deployment ● Orchestration ● Declarative ● Agentless ● Decentralized
  • 33. Docker https://www.docker.com/ Docker - An open platform for distributed applications for developers and sysadmins. ● Develop an app with any language and any toolchain ● Ship the “Dockerized” app and dependencies anywhere ● Scale, move between data centers, update with zero downtime and more
  • 34. Redis http://redis.io/ Redis - is an advanced key-value cache and store ● open source - BSD licensed ● referred to as a data structure server (key-value store) ● super fast read/writes ● provides messaging (queue/pubsub) ● has tons of clients
  • 35. Demo
  • 37. Summary ● Speed wins in the marketplace
  • 38. Summary ● Speed wins in the marketplace ● Automation is a big deal
  • 39. Summary ● Speed wins in the marketplace ● Automation is a big deal ● Frameworks matter for rapid delivery
  • 40. Summary ● Speed wins in the marketplace ● Automation is a big deal ● Frameworks matter for rapid delivery ● Polyglot mindset
  • 41. References ● http://martinfowler.com/articles/microservices.html ● http://martinfowler.com/bliki/ImmutableServer.html ● http://goo.gl/8lKIYK ● http://projects.spring.io/spring-boot/ ● https://www.docker.io/ ● http://www.ansible.com/ ● http://www.gradle.org/ ● http://redis.io/ ● https://github.com/webdizz/bootiful-apps
  • 42. q&a
  • 43. Izzet Mustafayev@EPAM Systems @webdizz webdizz izzetmustafaiev http://webdizz.name