Transcript
Page 1: “Bootify  your app - from zero to hero

“Bootify” Your

App

Page 2: “Bootify  your app - from zero to hero

● 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 izzetmustafaievhttp://webdizz.name

Page 3: “Bootify  your app - from zero to hero

agenda● what is this about?

● concepts behind

● tools

● demo

● summary

● q&a

Page 4: “Bootify  your app - from zero to hero
Page 5: “Bootify  your app - from zero to hero

Concepts behind

Page 6: “Bootify  your app - from zero to hero

μServices Architecture

Page 7: “Bootify  your app - from zero to hero

● Small (10-100 LOC)

Overview

Page 8: “Bootify  your app - from zero to hero

● Small (10-100 LOC)

● Lightweight (run several per box)

Overview

Page 9: “Bootify  your app - from zero to hero

● Small (10-100 LOC)

● Lightweight (run several per box)

● Takes strength of platform/language (polyglot)

Overview

Page 10: “Bootify  your app - from zero to hero

● Small (10-100 LOC)

● Lightweight (run several per box)

● Takes strength of platform/language (polyglot)

● Independent (development/deployment)

Overview

Page 11: “Bootify  your app - from zero to hero

● Small (10-100 LOC)

● Lightweight (run several per box)

● Takes strength of platform/language (polyglot)

● Independent (development/deployment)

● Stateless (everything persisted in DB)

Overview

Page 12: “Bootify  your app - from zero to hero

● 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)

Overview

Page 13: “Bootify  your app - from zero to hero

Benefits

Page 14: “Bootify  your app - from zero to hero

Toolset unchained

● Polyglot technology stack● Polyglot persistence● Frameworks● Thin transport

Page 15: “Bootify  your app - from zero to hero

Scalability

● Independent provisioning ● Fine tuning ● Elasticity

Page 16: “Bootify  your app - from zero to hero

Independence

● Development● Testing● Deployment● Reliability

Page 17: “Bootify  your app - from zero to hero

Shortcomings

Page 18: “Bootify  your app - from zero to hero

● More responsibility from Devs to support Ops

Shortcomings

Page 19: “Bootify  your app - from zero to hero

● More responsibility from Devs to support Ops

● Polyglot infrastructure (if any)

Shortcomings

Page 20: “Bootify  your app - from zero to hero

● More responsibility from Devs to support Ops

● Polyglot infrastructure (if any)

● Costs

Shortcomings

Page 21: “Bootify  your app - from zero to hero

● More responsibility from Devs to support Ops

● Polyglot infrastructure (if any)

● Costs

● Orchestration

Shortcomings

Page 22: “Bootify  your app - from zero to hero

Automation

Page 23: “Bootify  your app - from zero to hero

Continuous I/D/D

Page 24: “Bootify  your app - from zero to hero

Infrastructure Orchestration

● Environment as a code● Provisioning automation● Configuration automation

Page 25: “Bootify  your app - from zero to hero

Immutable Infrastructure

Page 26: “Bootify  your app - from zero to hero

● Build● Run ● Destroy

Disposability

Page 27: “Bootify  your app - from zero to hero

● Container as deployment artifact● Environment agnostic● New version - new container● All dependencies built in

Containerisation

Page 28: “Bootify  your app - from zero to hero

Tools

Page 29: “Bootify  your app - from zero to hero

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

Page 30: “Bootify  your app - from zero to hero

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

Page 31: “Bootify  your app - from zero to hero

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

Page 32: “Bootify  your app - from zero to hero

Ansible http://www.ansible.com/

Ansible - is an IT automation tool.

● System provisioning

● Software deployment

● Orchestration

● Declarative

● Agentless

● Decentralized

Page 33: “Bootify  your app - from zero to hero

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

Page 34: “Bootify  your app - from zero to hero

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

Page 35: “Bootify  your app - from zero to hero

Demo

Page 36: “Bootify  your app - from zero to hero

Summary

Page 37: “Bootify  your app - from zero to hero

Summary● Speed wins in the marketplace

Page 38: “Bootify  your app - from zero to hero

Summary● Speed wins in the marketplace

● Automation is a big deal

Page 39: “Bootify  your app - from zero to hero

Summary● Speed wins in the marketplace

● Automation is a big deal

● Frameworks matter for rapid

delivery

Page 40: “Bootify  your app - from zero to hero

Summary● Speed wins in the marketplace

● Automation is a big deal

● Frameworks matter for rapid

delivery

● Polyglot mindset

Page 42: “Bootify  your app - from zero to hero

q&a

Page 43: “Bootify  your app - from zero to hero

Izzet Mustafayev@EPAM Systems@webdizz webdizz izzetmustafaievhttp://webdizz.name


Top Related