SlideShare a Scribd company logo
1 of 17
Download to read offline
Continuous Deploy
Using the cloud with Play! 2, Bitbucket,
  Cloudbees and Heroku for FREE*
Introduction

Magnus Andersson
Co-founder Solvies AB
Blog: magnusart.com
Twitter: @magnusart
Overview

● What is Continuous Deploy?
● This is what we are doing today
● Meet the tools
  ○ Play! 2 Framework
  ○ Atlassian Bitbucket
  ○ CloudBees
  ○ Heroku
● DEMO!
● Is all this really for FREE*?
● Appendix A - Continuous Deploy recipe
● Appendix B - Links and resources
What is Continuous Deploy?

To continuously deploy software into target
environment upon push/check in to blessed
VCS

Continious Integration, Continuous Delivery
and DevOps are are subset or supersets of the
same idéas, tools and methodologies
This is what we are doing today
Meet the tools

Ruby on Rails inspired web framework. Builds
with Scala Build Tool.

Both Scala and Java, foundation rewritten in
Play2.
Meet the tools

Git hosting that allows for free private
repositories. Free private git and mercurial
repos.

The competitor, Github, can be used as well but
only public repos are free
Meet the tools

Online Jenkins Continuous Integration server
hosting.

Travis CI is an interesting alternative, but
would not work well for this scenario as there is
no private way to store private SSL keys.
Meet the tools

Polyglot cloud PAAS hosting. Supports Ruby,
Java, Scala, Cloujure and Python in the Celadon
Cedar stack

Solves package archiving (Git), deploy
automation, rollback and provides a third party
add-on community (DB, Logging, Messaging)

Heroku runs in the Amazon cloud. Slug size for
your app is 100mb, inc. resources/artifacts
DEMO!
Is all this really for FREE*?

Yes it is, but only for a give value for FREE...
You may want to pay for the following
1. Play! 2 Framework support
   a. Typesafe supscription. Price: info@typesafe.com
2. Atlassian Bitbucket
   a. 5 collaborators free
   b. Paid plans ranging from $10 - $80/month
3. CloudBees
   a. 300 minutes of build time, 10 developers free/month
   b. Plans ranging from $15 - $100/month
   c. Paid plans are fixed base price + pay as you go
4. Heroku Dynos
  a. 750 dyno hours/month free
  b. Dynos cost $0.05/hour (~35$/month per dyno)
  c. Dynos are charged per second
  d. If you spin up a Dyno Heroku will charge for it until
     you manually spin it down again.
  e. If you have less than two web Dynos, Heroku will
     spin down your Dyno after a period of inactivity.
     Starts up upon first subsequent request (5-10 sec).
  f. HireFireApp is a 3rd party Ruby application that
     can scale your Dynos based on response time and job
     queue. It will poll your app with HTTP requests, so
     Dyno spin down should not be an issue. Costs
     amounts to HireFireApp $10/month + Heroku
     $0.05/h. Only supports Ruby stack natively, but uses
     a simple JSON api your app can implement.
4. Heroku Third Party addons
  a. Convenient way to install third party addons
  b. Heroku PgSQL database 5MB is included
      i. $200/month for 1TB and 1.7GB Cache
  c. MongoLab 250MB free DB
      i. $10/month for 0.5GB and upwards
  d. IronMQ 250 000 request/month free
      i. $9.99/month for 10 000 000 requests/month
     ii. Both RabbitMQ and CloudAMQP are in private
         betas
  e. For file storage Heroku recommends Amazon S3
  f. In general the add-ons can be pricy, but there is no
     lockin, you can get started in Heroku and move to
     those things that turns out to be too expensive
More addons: https://addons.heroku.com/
Appendix A
          Continuous Deploy recipe
1. Create Heroku App
   a. Configure custom buildpack to keep Slug size down
   b. Is it deployed?
2. Create Git repos
  a.   Create remote repo
  b.   Clone repo
  c.   Add Heroku remote
  d.   Create Play Application in subfolder
  e.   Move files to parent dir
  f.   Add Procfile config for Play!
  g.   Add gitignore
  h.   git push heroku master
4. Create CloudBees job
  a. Create job
  b. Configure CloudBees access to Git repos (Heroku
     and Atlassian/Github)
  c. Install Jenkins SBT plugin to CloudBees
  d. Add Git Plugin
  e. Configure job Git remotes
  f. Add tagging
  g. Fire up build!
5. Commit, push to trigger a build followed by
   deploy into Heroku
Appendix B
                  Links and resources
HireFireApp support ticket describing API:
https://hirefireapp.tenderapp.com/discussions/questions/66-support-for-
auto-scaling-web-dyno-for-java-play-app-running-on-cedar-stack
Heroku Scala Build Pack
https://github.com/heroku/heroku-buildpack-scala
OpenShift, Heroku competitor
https://openshift.redhat.com
OpenShift DIY Cartridge Play2 Quickstart
https://github.com/opensas/play2-openshift-quickstart
This presentation is available on SlideShare
http://www.slideshare.net/magnusart/continuous-deploy
Contact information

Magnus Andersson
Co-founder Solvies AB
magnus.andersson@solvies.se
Twitter: @magnusart
www.solvies.se
www.magnusart.com

More Related Content

What's hot

Visual Studio로 Kubernetes 사용하기
Visual Studio로 Kubernetes 사용하기Visual Studio로 Kubernetes 사용하기
Visual Studio로 Kubernetes 사용하기충섭 김
 
Kube Your Enthusiasm - Paul Czarkowski
Kube Your Enthusiasm - Paul CzarkowskiKube Your Enthusiasm - Paul Czarkowski
Kube Your Enthusiasm - Paul CzarkowskiVMware Tanzu
 
Own the build
Own the buildOwn the build
Own the buildconnatser
 
Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...
Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...
Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...sangam biradar
 
Distributed tensorflow on kubernetes
Distributed tensorflow on kubernetesDistributed tensorflow on kubernetes
Distributed tensorflow on kubernetesinwin stack
 
Jenkins X - automated CI/CD solution for cloud native applications on Kubernetes
Jenkins X - automated CI/CD solution for cloud native applications on KubernetesJenkins X - automated CI/CD solution for cloud native applications on Kubernetes
Jenkins X - automated CI/CD solution for cloud native applications on KubernetesTed Won
 
Python Dependency Management - PyconDE 2018
Python Dependency Management - PyconDE 2018Python Dependency Management - PyconDE 2018
Python Dependency Management - PyconDE 2018Patrick Muehlbauer
 
Amplifying Docker - Alex Heneveld

Amplifying Docker - Alex Heneveld
Amplifying Docker - Alex Heneveld

Amplifying Docker - Alex Heneveld
Outlyer
 
Removing Environmental Differences - Simon Pearson
Removing Environmental Differences - Simon PearsonRemoving Environmental Differences - Simon Pearson
Removing Environmental Differences - Simon PearsonOutlyer
 
Docker + Tenserflow + GOlang - Golang singapore Meetup
Docker + Tenserflow + GOlang - Golang singapore MeetupDocker + Tenserflow + GOlang - Golang singapore Meetup
Docker + Tenserflow + GOlang - Golang singapore Meetupsangam biradar
 
Training TensorFlow Models at Scale with Kubernetes on Azure
Training TensorFlow Models at Scale with Kubernetes on AzureTraining TensorFlow Models at Scale with Kubernetes on Azure
Training TensorFlow Models at Scale with Kubernetes on AzureRita Zhang
 
Debug and Monitor Multi-container Apps on AKS
Debug and Monitor Multi-container Apps on AKSDebug and Monitor Multi-container Apps on AKS
Debug and Monitor Multi-container Apps on AKSNilesh Gule
 
給 RD 的 Kubernetes 初體驗 (EKS version)
給 RD 的 Kubernetes 初體驗 (EKS version)給 RD 的 Kubernetes 初體驗 (EKS version)
給 RD 的 Kubernetes 初體驗 (EKS version)William Yeh
 
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019Codemotion
 
Distributed tracing for Node.js
Distributed tracing for Node.jsDistributed tracing for Node.js
Distributed tracing for Node.jsNikolay Stoitsev
 
Tracing python applications
Tracing python applicationsTracing python applications
Tracing python applicationsNikolay Stoitsev
 
CloudStack / Saltstack lightning talk at DevOps Amsterdam
CloudStack / Saltstack lightning talk at DevOps AmsterdamCloudStack / Saltstack lightning talk at DevOps Amsterdam
CloudStack / Saltstack lightning talk at DevOps AmsterdamSebastien Goasguen
 
Terraform GitOps on Codefresh
Terraform GitOps on CodefreshTerraform GitOps on Codefresh
Terraform GitOps on CodefreshCodefresh
 

What's hot (20)

Visual Studio로 Kubernetes 사용하기
Visual Studio로 Kubernetes 사용하기Visual Studio로 Kubernetes 사용하기
Visual Studio로 Kubernetes 사용하기
 
Kube Your Enthusiasm - Paul Czarkowski
Kube Your Enthusiasm - Paul CzarkowskiKube Your Enthusiasm - Paul Czarkowski
Kube Your Enthusiasm - Paul Czarkowski
 
Own the build
Own the buildOwn the build
Own the build
 
Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...
Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...
Google ko: fast Kubernetes microservice development in Go - Sangam Biradar, E...
 
Distributed tensorflow on kubernetes
Distributed tensorflow on kubernetesDistributed tensorflow on kubernetes
Distributed tensorflow on kubernetes
 
Kuberenetes SIG Jenkins
Kuberenetes SIG JenkinsKuberenetes SIG Jenkins
Kuberenetes SIG Jenkins
 
Jenkins X - automated CI/CD solution for cloud native applications on Kubernetes
Jenkins X - automated CI/CD solution for cloud native applications on KubernetesJenkins X - automated CI/CD solution for cloud native applications on Kubernetes
Jenkins X - automated CI/CD solution for cloud native applications on Kubernetes
 
Python Dependency Management - PyconDE 2018
Python Dependency Management - PyconDE 2018Python Dependency Management - PyconDE 2018
Python Dependency Management - PyconDE 2018
 
Amplifying Docker - Alex Heneveld

Amplifying Docker - Alex Heneveld
Amplifying Docker - Alex Heneveld

Amplifying Docker - Alex Heneveld

 
Removing Environmental Differences - Simon Pearson
Removing Environmental Differences - Simon PearsonRemoving Environmental Differences - Simon Pearson
Removing Environmental Differences - Simon Pearson
 
Docker + Tenserflow + GOlang - Golang singapore Meetup
Docker + Tenserflow + GOlang - Golang singapore MeetupDocker + Tenserflow + GOlang - Golang singapore Meetup
Docker + Tenserflow + GOlang - Golang singapore Meetup
 
Training TensorFlow Models at Scale with Kubernetes on Azure
Training TensorFlow Models at Scale with Kubernetes on AzureTraining TensorFlow Models at Scale with Kubernetes on Azure
Training TensorFlow Models at Scale with Kubernetes on Azure
 
Debug and Monitor Multi-container Apps on AKS
Debug and Monitor Multi-container Apps on AKSDebug and Monitor Multi-container Apps on AKS
Debug and Monitor Multi-container Apps on AKS
 
給 RD 的 Kubernetes 初體驗 (EKS version)
給 RD 的 Kubernetes 初體驗 (EKS version)給 RD 的 Kubernetes 初體驗 (EKS version)
給 RD 的 Kubernetes 初體驗 (EKS version)
 
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
 
Distributed tracing for Node.js
Distributed tracing for Node.jsDistributed tracing for Node.js
Distributed tracing for Node.js
 
Tracing python applications
Tracing python applicationsTracing python applications
Tracing python applications
 
ConcourseCi Dockerimage
ConcourseCi DockerimageConcourseCi Dockerimage
ConcourseCi Dockerimage
 
CloudStack / Saltstack lightning talk at DevOps Amsterdam
CloudStack / Saltstack lightning talk at DevOps AmsterdamCloudStack / Saltstack lightning talk at DevOps Amsterdam
CloudStack / Saltstack lightning talk at DevOps Amsterdam
 
Terraform GitOps on Codefresh
Terraform GitOps on CodefreshTerraform GitOps on Codefresh
Terraform GitOps on Codefresh
 

Similar to Continuous Deploy

Run your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryRun your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryAndy Piper
 
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)jaxLondonConference
 
Pinax Long Tutorial Slides
Pinax Long Tutorial SlidesPinax Long Tutorial Slides
Pinax Long Tutorial SlidesDaniel Greenfeld
 
RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)alloy020
 
Biscuit, the cryptotoken you can share safely with your ap is
Biscuit, the cryptotoken you can share safely with your ap isBiscuit, the cryptotoken you can share safely with your ap is
Biscuit, the cryptotoken you can share safely with your ap isQuentin Adam
 
Rapidly Building and Deploying Scalable Web Architectures
Rapidly Building and Deploying Scalable Web ArchitecturesRapidly Building and Deploying Scalable Web Architectures
Rapidly Building and Deploying Scalable Web ArchitecturesKeith Fitzgerald
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkitPaul Jensen
 
La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...CloudNativeElSalvado
 
August OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedAugust OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedHoward Greenberg
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Pythonwesley chun
 
Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubOpen up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubScott Graham
 
Heroku and Rails Applications
Heroku and Rails ApplicationsHeroku and Rails Applications
Heroku and Rails ApplicationsAndreas Sotnik
 
Dreamwares Recent Projects
Dreamwares Recent ProjectsDreamwares Recent Projects
Dreamwares Recent ProjectsDreamwares
 
Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.Katy Slemon
 
Updates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&DUpdates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&DHiromu Hota
 
Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Diego Zuluaga
 

Similar to Continuous Deploy (20)

Wordpress vs JamStack
Wordpress vs JamStackWordpress vs JamStack
Wordpress vs JamStack
 
DevOps Workshop Part 1
DevOps Workshop Part 1DevOps Workshop Part 1
DevOps Workshop Part 1
 
Run your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryRun your Java apps on Cloud Foundry
Run your Java apps on Cloud Foundry
 
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
Run Your Java Code on Cloud Foundry - Andy Piper (Pivotal)
 
Pinax Long Tutorial Slides
Pinax Long Tutorial SlidesPinax Long Tutorial Slides
Pinax Long Tutorial Slides
 
RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)RubyMotion Inspect Conference - 2013. (With speaker notes.)
RubyMotion Inspect Conference - 2013. (With speaker notes.)
 
Biscuit, the cryptotoken you can share safely with your ap is
Biscuit, the cryptotoken you can share safely with your ap isBiscuit, the cryptotoken you can share safely with your ap is
Biscuit, the cryptotoken you can share safely with your ap is
 
Rapidly Building and Deploying Scalable Web Architectures
Rapidly Building and Deploying Scalable Web ArchitecturesRapidly Building and Deploying Scalable Web Architectures
Rapidly Building and Deploying Scalable Web Architectures
 
Git hooks
Git hooksGit hooks
Git hooks
 
SydJS.com
SydJS.comSydJS.com
SydJS.com
 
Desktop apps with node webkit
Desktop apps with node webkitDesktop apps with node webkit
Desktop apps with node webkit
 
La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...
 
August OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedAugust OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub Explained
 
Exploring Google APIs with Python
Exploring Google APIs with PythonExploring Google APIs with Python
Exploring Google APIs with Python
 
Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubOpen up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHub
 
Heroku and Rails Applications
Heroku and Rails ApplicationsHeroku and Rails Applications
Heroku and Rails Applications
 
Dreamwares Recent Projects
Dreamwares Recent ProjectsDreamwares Recent Projects
Dreamwares Recent Projects
 
Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.Amazing vue.js projects that are open source and free.
Amazing vue.js projects that are open source and free.
 
Updates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&DUpdates on webSpoon and other innovations from Hitachi R&D
Updates on webSpoon and other innovations from Hitachi R&D
 
Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0Apigee deploy grunt plugin.1.0
Apigee deploy grunt plugin.1.0
 

Recently uploaded

Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxFIDO Alliance
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandIES VE
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentationyogeshlabana357357
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?Paolo Missier
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireExakis Nelite
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024Lorenzo Miniero
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxFIDO Alliance
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfFIDO Alliance
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jNeo4j
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Skynet Technologies
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftshyamraj55
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimaginedpanagenda
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfUK Journal
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FIDO Alliance
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGDSC PJATK
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingScyllaDB
 

Recently uploaded (20)

Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdfSimplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
Simplified FDO Manufacturing Flow with TPMs _ Liam at Infineon.pdf
 
Your enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4jYour enemies use GenAI too - staying ahead of fraud with Neo4j
Your enemies use GenAI too - staying ahead of fraud with Neo4j
 
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
Human Expert Website Manual WCAG 2.0 2.1 2.2 Audit - Digital Accessibility Au...
 
Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Event-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream ProcessingEvent-Driven Architecture Masterclass: Challenges in Stream Processing
Event-Driven Architecture Masterclass: Challenges in Stream Processing
 

Continuous Deploy

  • 1. Continuous Deploy Using the cloud with Play! 2, Bitbucket, Cloudbees and Heroku for FREE*
  • 2. Introduction Magnus Andersson Co-founder Solvies AB Blog: magnusart.com Twitter: @magnusart
  • 3. Overview ● What is Continuous Deploy? ● This is what we are doing today ● Meet the tools ○ Play! 2 Framework ○ Atlassian Bitbucket ○ CloudBees ○ Heroku ● DEMO! ● Is all this really for FREE*? ● Appendix A - Continuous Deploy recipe ● Appendix B - Links and resources
  • 4. What is Continuous Deploy? To continuously deploy software into target environment upon push/check in to blessed VCS Continious Integration, Continuous Delivery and DevOps are are subset or supersets of the same idéas, tools and methodologies
  • 5. This is what we are doing today
  • 6. Meet the tools Ruby on Rails inspired web framework. Builds with Scala Build Tool. Both Scala and Java, foundation rewritten in Play2.
  • 7. Meet the tools Git hosting that allows for free private repositories. Free private git and mercurial repos. The competitor, Github, can be used as well but only public repos are free
  • 8. Meet the tools Online Jenkins Continuous Integration server hosting. Travis CI is an interesting alternative, but would not work well for this scenario as there is no private way to store private SSL keys.
  • 9. Meet the tools Polyglot cloud PAAS hosting. Supports Ruby, Java, Scala, Cloujure and Python in the Celadon Cedar stack Solves package archiving (Git), deploy automation, rollback and provides a third party add-on community (DB, Logging, Messaging) Heroku runs in the Amazon cloud. Slug size for your app is 100mb, inc. resources/artifacts
  • 10. DEMO!
  • 11. Is all this really for FREE*? Yes it is, but only for a give value for FREE... You may want to pay for the following 1. Play! 2 Framework support a. Typesafe supscription. Price: info@typesafe.com 2. Atlassian Bitbucket a. 5 collaborators free b. Paid plans ranging from $10 - $80/month 3. CloudBees a. 300 minutes of build time, 10 developers free/month b. Plans ranging from $15 - $100/month c. Paid plans are fixed base price + pay as you go
  • 12. 4. Heroku Dynos a. 750 dyno hours/month free b. Dynos cost $0.05/hour (~35$/month per dyno) c. Dynos are charged per second d. If you spin up a Dyno Heroku will charge for it until you manually spin it down again. e. If you have less than two web Dynos, Heroku will spin down your Dyno after a period of inactivity. Starts up upon first subsequent request (5-10 sec). f. HireFireApp is a 3rd party Ruby application that can scale your Dynos based on response time and job queue. It will poll your app with HTTP requests, so Dyno spin down should not be an issue. Costs amounts to HireFireApp $10/month + Heroku $0.05/h. Only supports Ruby stack natively, but uses a simple JSON api your app can implement.
  • 13. 4. Heroku Third Party addons a. Convenient way to install third party addons b. Heroku PgSQL database 5MB is included i. $200/month for 1TB and 1.7GB Cache c. MongoLab 250MB free DB i. $10/month for 0.5GB and upwards d. IronMQ 250 000 request/month free i. $9.99/month for 10 000 000 requests/month ii. Both RabbitMQ and CloudAMQP are in private betas e. For file storage Heroku recommends Amazon S3 f. In general the add-ons can be pricy, but there is no lockin, you can get started in Heroku and move to those things that turns out to be too expensive More addons: https://addons.heroku.com/
  • 14. Appendix A Continuous Deploy recipe 1. Create Heroku App a. Configure custom buildpack to keep Slug size down b. Is it deployed? 2. Create Git repos a. Create remote repo b. Clone repo c. Add Heroku remote d. Create Play Application in subfolder e. Move files to parent dir f. Add Procfile config for Play! g. Add gitignore h. git push heroku master
  • 15. 4. Create CloudBees job a. Create job b. Configure CloudBees access to Git repos (Heroku and Atlassian/Github) c. Install Jenkins SBT plugin to CloudBees d. Add Git Plugin e. Configure job Git remotes f. Add tagging g. Fire up build! 5. Commit, push to trigger a build followed by deploy into Heroku
  • 16. Appendix B Links and resources HireFireApp support ticket describing API: https://hirefireapp.tenderapp.com/discussions/questions/66-support-for- auto-scaling-web-dyno-for-java-play-app-running-on-cedar-stack Heroku Scala Build Pack https://github.com/heroku/heroku-buildpack-scala OpenShift, Heroku competitor https://openshift.redhat.com OpenShift DIY Cartridge Play2 Quickstart https://github.com/opensas/play2-openshift-quickstart This presentation is available on SlideShare http://www.slideshare.net/magnusart/continuous-deploy
  • 17. Contact information Magnus Andersson Co-founder Solvies AB magnus.andersson@solvies.se Twitter: @magnusart www.solvies.se www.magnusart.com