SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler 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

Mais conteúdo relacionado

Mais procurados

Mais procurados (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
 

Semelhante a Continuous Deploy

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
Keith Fitzgerald
 
Dreamwares Recent Projects
Dreamwares Recent ProjectsDreamwares Recent Projects
Dreamwares Recent Projects
Dreamwares
 

Semelhante a 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
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Último (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 

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