Author: Izzet Mustafaiev, Java Solutions Architect.
Nowadays in the fast changing world we need to keep less and less time spent on routine activity and to spend more on creativity and bringing something new to move forward.
This slides brings some trending ideas and approaches to deliver software in modern fashion, from Micro-services architecture, Containerisation, Automation, Continuous Integration/Deployment/Delivery.
There is a demo application built with depicted approach https://github.com/webdizz/bootiful-apps.
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
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)
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