O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

BelfastJUG, Spring Boot + Docker

Hudson Mendes, Lead Software Engineer @ Boxfish, speaker slides from the BelfastJUG meetup talk on April 25th, 2017 @ the Sunflower, Belfast, UK about Spring Boot, Java, and Docker.

  • Seja o primeiro a comentar

BelfastJUG, Spring Boot + Docker

  1. 1. BELFAST JUG SPRING BOOT & DOCKER
  2. 2. // NICE TO MEET YOU: - HUDSON MENDES, 32 - ITALO-BRAZILIAN (BORN IN BRAZIL) - HYBRID-CREATURE (JAVA AND .NET) - BETWEEEN PYTHON AND RUBY? RUBY - LOVE ANIME & _LOVE_ GUINNESS! - BEEN A SOFTWARE ENGINEER SINCE 1999
  3. 3. IF DEPLOYING SOFTWARE IS HARD, (…), THEN DEVELOPERS WILL OFTEN BUILD EVERYTHING INTO THE EXISTING APPLICATION IN ORDER TO AVOID SUFFERING THE NEW DEPLOYMENT PENALTY. Karl Matthias, Docker: Up & Running SPRING BOOT & DOCKER
  4. 4. DEVELOPING MICROSERVICES MUST BE EASY…
 DEPLOYMENT MUST BE
 EVEN EASIER! Karl Matthias, Docker: Up & Running
  5. 5. AN ENGINEERING PERSPECTIVE TO DOCKER // TODO: - overview on docker - simple spring boot application (.jar) - wrapped with Dockerfile, Gradle and Maven - deployed to a repository, ran locally and ran remotely (ECS) - in the build pipeline - a glimpse of what matters from the docker ecosystem
  6. 6. AN ENGINEERING PERSPECTIVE TO DOCKER // TODO: WHAT IS DOCKER? BUILD DOCKER IMAGE RUN DOCKER CONTAINER MAKING IT WORK FOR YOU
  7. 7. OVERVIEW SPRING BOOT & DOCKER
  8. 8. SPRING BOOT & DOCKER OVERVIEW Source “8 surprising facts about Docker”
 (https://www.datadoghq.com/docker-adoption/)
  9. 9. SPRING BOOT & DOCKER OVERVIEW Source Google Trends, compare Docker, Virtualisation, Angularjs
 (https://trends.google.com/trends/explore?q=docker,virtualization,angularjs)
  10. 10. SPRING BOOT & DOCKER OVERVIEW
  11. 11. SPRING BOOT & DOCKER OVERVIEW Source: “Performance on Docker vs VMs” (by Ali Hussain, Flex7)
 (https://www.slideshare.net/Flux7Labs/performance-of-docker-vs-vms)
  12. 12. SPRING BOOT & DOCKER OVERVIEW
  13. 13. SPRING BOOT & DOCKER OVERVIEW Must knows ‣ Conceptual evolution of LXC ‣ Not A VIRTUAL MACHINE ‣ Initial release: 2014 ‣ Open API ‣ Now supports Windows
  14. 14. SPRING BOOT & DOCKER OVERVIEW
  15. 15. SPRING BOOT & DOCKER OVERVIEW TOO LARGE TO GO THROUGH
  16. 16. SPRING BOOT & DOCKER OVERVIEW $ docker build BUILD ENVIRONMENT
  17. 17. SPRING BOOT & DOCKER OVERVIEW $ docker build $ docker images BUILD ENVIRONMENT
  18. 18. SPRING BOOT & DOCKER OVERVIEW $ docker build $ docker push $ docker images IMAGE REPOSITORY BUILD ENVIRONMENT
  19. 19. SPRING BOOT & DOCKER OVERVIEW $ docker build $ docker push $ docker images RUNNING ENVIRONMENT IMAGE REPOSITORY BUILD ENVIRONMENT $ docker run
  20. 20. AN ENGINEERING PERSPECTIVE TO DOCKER // TODO: WHAT IS DOCKER? BUILD DOCKER IMAGE RUN DOCKER CONTAINER MAKING IT WORK FOR YOU
  21. 21. DEMO, SPRING BOOT MICRO SERVICE SIMPLEST .JAR SPRING BOOT & DOCKER
  22. 22. PRETTY BASIC .JAR, REST SPRING BOOT, LISTENING 8080 FROM SHELL DOCKER IMAGE BUILT FROM GRADLE PLUGIN DOCKER IMAGE BUILT FROM MAVEN PLUGIN DOCKER IMAGE BUILT FROM DOCKERFILE SPRING BOOT & DOCKER DEMO, SIMPLEST JAR IN A DOCKER CONTAINER
  23. 23. SPRING BOOT & DOCKER https://github.com/bmuschko/gradle-docker-plugin gradle dockerPushImage
  24. 24. PRETTY BASIC .JAR, REST SPRING BOOT, LISTENING 8080 FROM SHELL DOCKER IMAGE BUILT FROM GRADLE PLUGIN DOCKER IMAGE BUILT FROM MAVEN PLUGIN DOCKER IMAGE BUILT FROM DOCKERFILE SPRING BOOT & DOCKER DEMO, SIMPLEST JAR IN A DOCKER CONTAINER
  25. 25. SPRING BOOT & DOCKER https://github.com/spotify/docker-maven-plugin mvn clean package docker:build -DpushImage
  26. 26. PRETTY BASIC .JAR, REST SPRING BOOT, LISTENING 8080 FROM SHELL DOCKER IMAGE BUILT FROM GRADLE PLUGIN DOCKER IMAGE BUILT FROM MAVEN PLUGIN DOCKER IMAGE BUILT FROM DOCKERFILE SPRING BOOT & DOCKER DEMO, SIMPLEST JAR IN A DOCKER CONTAINER
  27. 27. SPRING BOOT & DOCKER docker build -t hudsonmendes/api-example && 
 docker push
  28. 28. PRETTY BASIC .JAR, REST SPRING BOOT, LISTENING 8080 FROM SHELL DOCKER IMAGE BUILT FROM GRADLE PLUGIN DOCKER IMAGE BUILT FROM MAVEN PLUGIN DOCKER IMAGE BUILT FROM DOCKERFILE SPRING BOOT & DOCKER DEMO, SIMPLEST JAR IN A DOCKER CONTAINER
  29. 29. SPRING BOOT & DOCKER DEMO, SIMPLEST JAR IN A DOCKER CONTAINER https://github.com
 /hudsonmendes
 /belfastjug-sample-2
 /branches
  30. 30. SPRING BOOT & DOCKER DEMO, SIMPLEST JAR IN A DOCKER CONTAINER Base image
  31. 31. SPRING BOOT & DOCKER DECIDING ON BASE IMAGE WHICH IMAGE? RUNS OR WILL EVER RUN LINUX CONTAINERS? JAVA7, JAVA8 OR JAVA9 RUNNING ON
 WINDOWS SERVER? DEBIAN SPECIFIC? DEBIAN SPECIFIC? openjdk:
 7-jre openjdk:
 7-jre-alpine openjdk:
 9-jre REQUIRES .MSI OR WIN CORE ROLES? openjdk:
 *-nanoserver openjdk:
 *-windowservercore openjdk:
 8-jre openjdk:
 8-jre-alpine YESYES YES YES NO NO JAVA 8 JAVA 7 JAVA 9 NO YESYES NO
  32. 32. AN ENGINEERING PERSPECTIVE TO DOCKER // TODO: WHAT IS DOCKER? BUILD DOCKER IMAGE RUN DOCKER CONTAINER MAKING IT WORK FOR YOU
  33. 33. DOCKER RUN, ECS AND ECR SPRING BOOT & DOCKER
  34. 34. SPRING BOOT & DOCKER DOCKER RUN, ECR, ECS DOCKER IMAGE PUSHED, CHECKED REMOVE LOCAL IMAGE 2 INSTANCES OF THE SAME CONTAINER IMAGE ORCHESTRATION AND EPS
  35. 35. SPRING BOOT & DOCKER DOCKER RUN, ECR, ECS DOCKER ORCHESTRATION TECHNOLOGIES
  36. 36. SPRING BOOT & DOCKER DOCKER RUN, ECR, ECS DOCKER ORCHESTRATION TECHNOLOGIES
  37. 37. SPRING BOOT & DOCKER DOCKER RUN, ECR, ECS
  38. 38. SPRING BOOT & DOCKER DOCKER RUN, ECR, ECS
  39. 39. DOCKER IMAGE PUSHED, CHECKED REMOVE LOCAL IMAGE 2 INSTANCES OF THE SAME CONTAINER IMAGE ORCHESTRATION AND EPS SPRING BOOT & DOCKER DOCKER RUN, ECR, ECS
  40. 40. AN ENGINEERING PERSPECTIVE TO DOCKER // TODO: WHAT IS DOCKER? BUILD DOCKER IMAGE RUN DOCKER CONTAINER MAKING IT WORK FOR YOU
  41. 41. DOCKER IN THE BUILD PIPELINE SPRING BOOT & DOCKER
  42. 42. SPRING BOOT & DOCKER DOCKER IN THE BUILD PIPELINE $ (develop) git push ECR REPOSITORY ECS ORCHESTRATION EC2 UBUNTU $ docker build $ docker run DEVELOP MASTER :LATEST :LATEST :LATEST :LATEST SVC1@2 SVC1@1 SVC2@2 SVC2@1 SVC3@2 SVC3@1
  43. 43. SPRING BOOT & DOCKER DOCKER IN THE BUILD PIPELINE $ (develop) git push ECR REPOSITORY EC2 UBUNTU $ docker build $ docker run DEVELOP :LATEST :LATEST :LATEST :LATEST
  44. 44. SPRING BOOT & DOCKER DOCKER IN THE BUILD PIPELINE ECR REPOSITORY ECS ORCHESTRATION MASTER :LATEST :LATEST :LATEST :LATEST SVC1@2 SVC1@1 SVC2@2 SVC2@1 SVC3@2 SVC3@1
  45. 45. AN ENGINEERING PERSPECTIVE TO DOCKER // TODO: WHAT IS DOCKER? BUILD DOCKER IMAGE RUN DOCKER CONTAINER MAKING IT WORK FOR YOU
  46. 46. TIME FOR Q&A // HUDSON MENDES github.com/hudsonmendes twitter.com/hudsonmendes medium.com/@hudsonmendes linkedin.com/in/hudsonmendes
  47. 47. THANKS! // HUDSON MENDES

    Seja o primeiro a comentar

    Entre para ver os comentários

  • SunilYadav115

    Apr. 27, 2017

Hudson Mendes, Lead Software Engineer @ Boxfish, speaker slides from the BelfastJUG meetup talk on April 25th, 2017 @ the Sunflower, Belfast, UK about Spring Boot, Java, and Docker.

Vistos

Vistos totais

440

No Slideshare

0

De incorporações

0

Número de incorporações

2

Ações

Baixados

26

Compartilhados

0

Comentários

0

Curtir

1

×