Slide 1

Slide 1 text

KEEP CALM AND PUSH APPS-AAS Sergiu Bodiu @sergiu_bodiu

Slide 2

Slide 2 text

Spring I/O 2016 @sergiu_bodiu | sergiu@pivotal.io DevOpsDays Singapore Conference Singapore Spring User Group Platform Architect Asia Pacific & Japan

Slide 3

Slide 3 text

Spring I/O 2016 @sergiu_bodiu | sergiu@pivotal.io Idea Write a Story Develop Code Deploy Code Build Pipeline ☹

Slide 4

Slide 4 text

Spring I/O 2016 • How often you release new features? • How long it takes to setup new applications? • Do new hires deploy to production? How do you develop Software

Slide 5

Slide 5 text

Spring I/O 2016 "If you build it,
 he will come" Q: knock knock
 A: who’s there? InterruptedException-
 InterruptedException wh—
 java.io.InterruptedException
 at java.lang.Object.wait(Nativ I have the plan how to be rich

Slide 6

Slide 6 text

Spring I/O 2016 @sergiu_bodiu | sergiu@pivotal.io Idea Write a Story KEEP
 CALM AND PUSH APPS-aaS!

Slide 7

Slide 7 text

Spring I/O 2016 Features: e.g. “Frank can add another person as a Friend” Bugs: e.g. “Login button doesn’t work” Chores: e.g. “Setup new domain and wildcard SSL” Acceptance Criteria
 Notes, Resources, Labels Feature: Album collection “ As a album collector
 I want to add albums in my collection
 Because I want to manage my collection” Principles of effective story writing the pivotal labs way

Slide 8

Slide 8 text

Spring I/O 2016 Scenario: user adds album Scenario: User adds album to collection Given I'm a logged-in User
 When I add new album Nevermind by Nirvana with release year 1991 and genre Rock
 Then the album is created
 And .. Gherkin: “enforce firm, unambiguous requirements … and a script for automated testing.” https://blog.pivotal.io/labs/labs/well-formed-stories

Slide 9

Slide 9 text

Spring I/O 2016 What my backend and api user stories look like this story matters this story matters

Slide 10

Slide 10 text

Spring I/O 2016 @sergiu_bodiu | sergiu@pivotal.io Idea Write a Story Develop Code Deploy Code KEEP
 CALM AND PUSH APPS-aaS!

Slide 11

Slide 11 text

Spring I/O 2016 @sergiu_bodiu | sergiu@pivotal.io http://pivotal.io/spring-app-framework

Slide 12

Slide 12 text

Spring I/O 2016 Running Cloud Foundry Locally

Slide 13

Slide 13 text

Spring I/O 2016 First Step Experience Download:
 network.pivotal.io/products/pcfdev cf login -a api.local.pcfdev.io 
 —skip-ssl-validation cf push #deploy app
 
 cf app #see details cf scale #scale cf ssh #troubleshoot https://github.com/pivotal-cf/pcfdev

Slide 14

Slide 14 text

Spring I/O 2016 @sergiu_bodiu | sergiu@pivotal.io Idea Write a Story Develop Code Deploy Code Build Pipeline KEEP
 CALM AND PUSH APPS-aaS!

Slide 15

Slide 15 text

Spring I/O 2016 @sergiu_bodiu | sergiu@pivotal.io Continuous Integration & Delivery

Slide 16

Slide 16 text

Spring I/O 2016 @sergiu_bodiu | sergiu@pivotal.io –Merging dev work with mainline trunk constantly to test changes independently and with other changes –Build server automated unit tests Continuous Integration

Slide 17

Slide 17 text

Spring I/O 2016 @sergiu_bodiu | sergiu@pivotal.io –Delivery of code to an environment (UAT, STG, PROD) once the dev feels the code is ready to ship. –Deliver to user base for non-automated testing (biz logic) Continuous Delivery

Slide 18

Slide 18 text

Spring I/O 2016 @sergiu_bodiu | sergiu@pivotal.io Concourse CI • Concourse is originally made for Pivotal Cloud Foundry • But itʼs independent from PCF can be use outside of PCF too.

Slide 19

Slide 19 text

Spring I/O 2016 @sergiu_bodiu | sergiu@pivotal.io Single declarative config file Integrations fly -t lite login -c 
 http://192.168.100.4:8080 fly -t lite set-pipeline
 -p hello-world
 -c hello.yml jobs: - name: hello-world plan: - task: say-hello config: platform: linux image_resource: type: docker-image source: {repository: ubuntu}

Slide 20

Slide 20 text

Spring I/O 2016 @sergiu_bodiu | sergiu@pivotal.io GIT FLOW

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

No content

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

Spring I/O 2016 @sergiu_bodiu | sergiu@pivotal.io Idea Write a Story Develop Code Deploy Code Build Pipeline KEEP
 CALM AND PUSH APPS-aaS!

Slide 30

Slide 30 text

Spring I/O 2016 @sergiu_bodiu | sergiu@pivotal.io ☹

Slide 31

Slide 31 text

Spring I/O 2016 @sergiu_bodiu | sergiu@pivotal.io “Here is my source code
 Run it on the cloud for me I do not care how

Slide 32

Slide 32 text

https://speakerdeck.com/sergiubodiu/ • Try PCF on the Public Cloud (15 min)
 https://pivotal.io/platform/pcf-tutorials/getting-started-with-pivotal-cloud-foundry/introduction • Try PCF on your Local Workstation with PCF Dev
 https://pivotal.io/platform/pcf-tutorials/getting-started-with-pivotal-cloud-foundry-dev/introduction • Transform How The World Builds Software (30 min)
 https://youtu.be/7APZD0me1nU • Spring Accelerates Cloud Native Java Application Development 
 pivotal.io/spring-app-framework • CI That Scales With your Project
 https://youtu.be/mYTn3qBxPhQ Transform How The World Builds Software @sergiu_bodiu