SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Host your Ruby on
   Rails CMS on the
   cloud – for free!


Michalis Polakis, TaratsaCamp, Chania 7/7/2001
about me
     Michalis Polakis
  => csd.uoc.gr, ins1@cwi.nl,
soundcloud.com, filoxena.com
         => photos
    => entrepreneurship
about this talk
         => ruby
       => on Rails
     => refinery cms
          => git
        => cloud
        => heroku
=> put the pieces together
ruby
        => user friendly
=> dynamic, reflective, garbage
    collected, interpreted
  => jruby, ironruby, macruby
Ruby examples
ruby on rails
=> open source web app framework
=> Model-View-Controller (MVC)
=> Convention over Configuration
  –   Reduce decisions. If Order model => orders db table

=> Don't Repeat Yourself (DRY)
  –   Every piece of knowledge must have a single,
      unambiguous, authoritative representation
model view controller
refinery cms
=> most popular rails cms
=> “follows the rails (3) way”
=> simple, modular, extendable
=> good enough
git
=> distributed revision control system
=> by Linus for Linus
=> every Git working directory is a full-
fledged repository with complete history
and full revision tracking capabilities
=> independent of network access or
central server
basic git workflow (from scratch)
 $ cd (project-directory)
 $ git init
 $ (add some files)
 $ git add .
 $ git commit -m 'first commit'
heroku
=> user friendly web app
deployment/management/scaling
  –   rack apps(rails, sinatra)x, node.js, clojure

=> sits on top of AWS
  –   goes down when AWS goes down

=> easy to migrate away from
  –   no lock-in

=> stack promotes best practices
heroku cont.
=> basic package can get you a long
way
=> read-only filesystem
=> git-based deployment
putting the pieces together
=> prerequisites : ruby, rubygems, rails,
sqlite3/mysql, git


$ gem install refinerycms heroku
=> set your heroku credentials/ssh keys
$ refinerycms mysimplecms –heroku
=> edit Gemfile, add “ gem 'rake', '~> 0.8.7' ”
$ bundle update
putting the pieces together cont.
$ git init
$ git add .
$ git commit -m “first commit!”
$ heroku create
$ git push heroku master
$ heroku rake db:migrate
references
=> wikipedia
=> ruby-lang.org, rubyonrails.org
=> refinerycms.com
=> git-scm.com
=> heroku.com
=> http://devcenter.heroku.com/articles/quickstart
=> cloud photo courtesy of jonicdao
(www.flickr.com/photos/jonicdao/3450233884)
thanks!

Weitere ähnliche Inhalte

Was ist angesagt?

20160627 Docker on Azure Hands on
20160627 Docker on Azure Hands on20160627 Docker on Azure Hands on
20160627 Docker on Azure Hands on雄哉 吉田
 
Ansible Introduction - Ansible Brno #1 - David Karban
Ansible Introduction - Ansible Brno #1 - David KarbanAnsible Introduction - Ansible Brno #1 - David Karban
Ansible Introduction - Ansible Brno #1 - David Karbanansiblebrno
 
Backbone.js and rails - BanLV
Backbone.js and rails - BanLVBackbone.js and rails - BanLV
Backbone.js and rails - BanLVFramgia Vietnam
 
Cloud init and cloud provisioning [openstack summit vancouver]
Cloud init and cloud provisioning [openstack summit vancouver]Cloud init and cloud provisioning [openstack summit vancouver]
Cloud init and cloud provisioning [openstack summit vancouver]Joshua Harlow
 
CloudOps CloudStack Days, Austin April 2015
CloudOps CloudStack Days, Austin April 2015CloudOps CloudStack Days, Austin April 2015
CloudOps CloudStack Days, Austin April 2015CloudOps2005
 
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu ServerForget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Serveraaroncouch
 
Ansible basics workshop
Ansible basics workshopAnsible basics workshop
Ansible basics workshopDavid Karban
 
Ansible & CloudStack - Configuration Management
Ansible & CloudStack - Configuration ManagementAnsible & CloudStack - Configuration Management
Ansible & CloudStack - Configuration ManagementShapeBlue
 
Using Ansible Dynamic Inventory with Amazon EC2
Using Ansible Dynamic Inventory with Amazon EC2Using Ansible Dynamic Inventory with Amazon EC2
Using Ansible Dynamic Inventory with Amazon EC2Brian Schott
 
Стажировка 2015. Разработка. Занятие 5. Использование nginx
Стажировка 2015. Разработка. Занятие 5. Использование nginxСтажировка 2015. Разработка. Занятие 5. Использование nginx
Стажировка 2015. Разработка. Занятие 5. Использование nginx7bits
 
Puppet Camp Ghent 2013
Puppet Camp Ghent 2013Puppet Camp Ghent 2013
Puppet Camp Ghent 2013Server Density
 
Terraform and cloud.ca
Terraform and cloud.caTerraform and cloud.ca
Terraform and cloud.caCloudOps2005
 

Was ist angesagt? (20)

Nodejs web,db,hosting
Nodejs web,db,hostingNodejs web,db,hosting
Nodejs web,db,hosting
 
20160627 Docker on Azure Hands on
20160627 Docker on Azure Hands on20160627 Docker on Azure Hands on
20160627 Docker on Azure Hands on
 
Kissy mvc
Kissy mvcKissy mvc
Kissy mvc
 
CloudInit Introduction
CloudInit IntroductionCloudInit Introduction
CloudInit Introduction
 
Ansible Introduction - Ansible Brno #1 - David Karban
Ansible Introduction - Ansible Brno #1 - David KarbanAnsible Introduction - Ansible Brno #1 - David Karban
Ansible Introduction - Ansible Brno #1 - David Karban
 
Ansible
AnsibleAnsible
Ansible
 
Backbone.js and rails - BanLV
Backbone.js and rails - BanLVBackbone.js and rails - BanLV
Backbone.js and rails - BanLV
 
Cloud init and cloud provisioning [openstack summit vancouver]
Cloud init and cloud provisioning [openstack summit vancouver]Cloud init and cloud provisioning [openstack summit vancouver]
Cloud init and cloud provisioning [openstack summit vancouver]
 
Conair
ConairConair
Conair
 
CloudOps CloudStack Days, Austin April 2015
CloudOps CloudStack Days, Austin April 2015CloudOps CloudStack Days, Austin April 2015
CloudOps CloudStack Days, Austin April 2015
 
Ansible 101
Ansible 101Ansible 101
Ansible 101
 
Cloudinit
CloudinitCloudinit
Cloudinit
 
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu ServerForget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
Forget MAMP and WAMP, Use Virtual Box to Have a Real Ubuntu Server
 
Configuration Management in Ansible
Configuration Management in Ansible Configuration Management in Ansible
Configuration Management in Ansible
 
Ansible basics workshop
Ansible basics workshopAnsible basics workshop
Ansible basics workshop
 
Ansible & CloudStack - Configuration Management
Ansible & CloudStack - Configuration ManagementAnsible & CloudStack - Configuration Management
Ansible & CloudStack - Configuration Management
 
Using Ansible Dynamic Inventory with Amazon EC2
Using Ansible Dynamic Inventory with Amazon EC2Using Ansible Dynamic Inventory with Amazon EC2
Using Ansible Dynamic Inventory with Amazon EC2
 
Стажировка 2015. Разработка. Занятие 5. Использование nginx
Стажировка 2015. Разработка. Занятие 5. Использование nginxСтажировка 2015. Разработка. Занятие 5. Использование nginx
Стажировка 2015. Разработка. Занятие 5. Использование nginx
 
Puppet Camp Ghent 2013
Puppet Camp Ghent 2013Puppet Camp Ghent 2013
Puppet Camp Ghent 2013
 
Terraform and cloud.ca
Terraform and cloud.caTerraform and cloud.ca
Terraform and cloud.ca
 

Andere mochten auch

管理学院辩论队
管理学院辩论队管理学院辩论队
管理学院辩论队朱 铭冬
 
SELECT * FROM Internet: Using the Yahoo! Query Language
SELECT * FROM Internet: Using the Yahoo! Query LanguageSELECT * FROM Internet: Using the Yahoo! Query Language
SELECT * FROM Internet: Using the Yahoo! Query Languagebdeshong
 
Windows Phone XNA Games
Windows Phone XNA GamesWindows Phone XNA Games
Windows Phone XNA GamesBret Stateham
 
OpenAjax Alliance And Widgets
OpenAjax Alliance And WidgetsOpenAjax Alliance And Widgets
OpenAjax Alliance And Widgetsguest42a607
 
Taratsacamp
TaratsacampTaratsacamp
Taratsacampmpolakis
 
Rich&Poor
Rich&PoorRich&Poor
Rich&Poorhayss
 
งานเพาเวอร์21111111111111111111111
งานเพาเวอร์21111111111111111111111งานเพาเวอร์21111111111111111111111
งานเพาเวอร์21111111111111111111111ratsamee
 
انثـر بــــذورك
انثـر بــــذوركانثـر بــــذورك
انثـر بــــذوركhayss
 
Jjoojojojojoj
JjoojojojojojJjoojojojojoj
Jjoojojojojojlilysa70
 
Jjoojojojojoj
JjoojojojojojJjoojojojojoj
Jjoojojojojojlilysa70
 
Print Media - School Sport Design Portfolio
Print Media - School Sport Design PortfolioPrint Media - School Sport Design Portfolio
Print Media - School Sport Design Portfolioguesta0a1d1
 
OmniAuth: From the Ground Up (RailsConf 2011)
OmniAuth: From the Ground Up (RailsConf 2011)OmniAuth: From the Ground Up (RailsConf 2011)
OmniAuth: From the Ground Up (RailsConf 2011)Michael Bleigh
 
Getting Started with Windows Azure
Getting Started with Windows AzureGetting Started with Windows Azure
Getting Started with Windows AzureBret Stateham
 
Learning Center Ppt
Learning Center PptLearning Center Ppt
Learning Center Pptsammyeb1016
 
Loveyou
LoveyouLoveyou
Loveyouhayss
 
الحكمة من كثرة زواج الرسول
الحكمة من كثرة زواج الرسولالحكمة من كثرة زواج الرسول
الحكمة من كثرة زواج الرسولhayss
 

Andere mochten auch (17)

Facilitating Tough Conversations
Facilitating Tough ConversationsFacilitating Tough Conversations
Facilitating Tough Conversations
 
管理学院辩论队
管理学院辩论队管理学院辩论队
管理学院辩论队
 
SELECT * FROM Internet: Using the Yahoo! Query Language
SELECT * FROM Internet: Using the Yahoo! Query LanguageSELECT * FROM Internet: Using the Yahoo! Query Language
SELECT * FROM Internet: Using the Yahoo! Query Language
 
Windows Phone XNA Games
Windows Phone XNA GamesWindows Phone XNA Games
Windows Phone XNA Games
 
OpenAjax Alliance And Widgets
OpenAjax Alliance And WidgetsOpenAjax Alliance And Widgets
OpenAjax Alliance And Widgets
 
Taratsacamp
TaratsacampTaratsacamp
Taratsacamp
 
Rich&Poor
Rich&PoorRich&Poor
Rich&Poor
 
งานเพาเวอร์21111111111111111111111
งานเพาเวอร์21111111111111111111111งานเพาเวอร์21111111111111111111111
งานเพาเวอร์21111111111111111111111
 
انثـر بــــذورك
انثـر بــــذوركانثـر بــــذورك
انثـر بــــذورك
 
Jjoojojojojoj
JjoojojojojojJjoojojojojoj
Jjoojojojojoj
 
Jjoojojojojoj
JjoojojojojojJjoojojojojoj
Jjoojojojojoj
 
Print Media - School Sport Design Portfolio
Print Media - School Sport Design PortfolioPrint Media - School Sport Design Portfolio
Print Media - School Sport Design Portfolio
 
OmniAuth: From the Ground Up (RailsConf 2011)
OmniAuth: From the Ground Up (RailsConf 2011)OmniAuth: From the Ground Up (RailsConf 2011)
OmniAuth: From the Ground Up (RailsConf 2011)
 
Getting Started with Windows Azure
Getting Started with Windows AzureGetting Started with Windows Azure
Getting Started with Windows Azure
 
Learning Center Ppt
Learning Center PptLearning Center Ppt
Learning Center Ppt
 
Loveyou
LoveyouLoveyou
Loveyou
 
الحكمة من كثرة زواج الرسول
الحكمة من كثرة زواج الرسولالحكمة من كثرة زواج الرسول
الحكمة من كثرة زواج الرسول
 

Ähnlich wie Ruby on Rails CMS - on the cloud

Deploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleDeploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleRoman Rodomansky
 
DevOps Meetup ansible
DevOps Meetup   ansibleDevOps Meetup   ansible
DevOps Meetup ansiblesriram_rajan
 
Aad Versteden | State-of-the-art web applications fuelled by Linked Data awar...
Aad Versteden | State-of-the-art web applications fuelled by Linked Data awar...Aad Versteden | State-of-the-art web applications fuelled by Linked Data awar...
Aad Versteden | State-of-the-art web applications fuelled by Linked Data awar...semanticsconference
 
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016Aad Versteden
 
Why Managed Service Providers Should Embrace Container Technology
Why Managed Service Providers Should Embrace Container TechnologyWhy Managed Service Providers Should Embrace Container Technology
Why Managed Service Providers Should Embrace Container TechnologySagi Brody
 
KubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to ProdKubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to ProdSubhas Dandapani
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Arun prasath
 
Drupal Efficiency using open source technologies from Sun
Drupal Efficiency using open source technologies from SunDrupal Efficiency using open source technologies from Sun
Drupal Efficiency using open source technologies from Sunsmattoon
 
Ruby On Rails Basics
Ruby On Rails BasicsRuby On Rails Basics
Ruby On Rails BasicsAmit Solanki
 
Cloud Meetup - Automation in the Cloud
Cloud Meetup - Automation in the CloudCloud Meetup - Automation in the Cloud
Cloud Meetup - Automation in the Cloudpetriojala123
 
Drupal Efficiency - Coding, Deployment, Scaling
Drupal Efficiency - Coding, Deployment, ScalingDrupal Efficiency - Coding, Deployment, Scaling
Drupal Efficiency - Coding, Deployment, Scalingsmattoon
 
Zero to scaleable in ten minutes
Zero to scaleable in ten minutesZero to scaleable in ten minutes
Zero to scaleable in ten minutesMatt Walters
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Jérôme Petazzoni
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerLuong Vo
 
Scaling up development of a modular code base
Scaling up development of a modular code baseScaling up development of a modular code base
Scaling up development of a modular code baseRobert Munteanu
 
How to keep Drupal relevant in the Git-based and API-driven CMS era - BADCamp
How to keep Drupal relevant in the Git-based and API-driven CMS era - BADCampHow to keep Drupal relevant in the Git-based and API-driven CMS era - BADCamp
How to keep Drupal relevant in the Git-based and API-driven CMS era - BADCampJesus Manuel Olivas
 
Docker Online Meetup #3: Docker in Production
Docker Online Meetup #3: Docker in ProductionDocker Online Meetup #3: Docker in Production
Docker Online Meetup #3: Docker in ProductionDocker, Inc.
 

Ähnlich wie Ruby on Rails CMS - on the cloud (20)

Deploying Symfony2 app with Ansible
Deploying Symfony2 app with AnsibleDeploying Symfony2 app with Ansible
Deploying Symfony2 app with Ansible
 
DevOps Meetup ansible
DevOps Meetup   ansibleDevOps Meetup   ansible
DevOps Meetup ansible
 
Supa fast Ruby + Rails
Supa fast Ruby + RailsSupa fast Ruby + Rails
Supa fast Ruby + Rails
 
Basic Rails Training
Basic Rails TrainingBasic Rails Training
Basic Rails Training
 
Aad Versteden | State-of-the-art web applications fuelled by Linked Data awar...
Aad Versteden | State-of-the-art web applications fuelled by Linked Data awar...Aad Versteden | State-of-the-art web applications fuelled by Linked Data awar...
Aad Versteden | State-of-the-art web applications fuelled by Linked Data awar...
 
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
mu.semte.ch - A journey from TenForce's perspective - SEMANTICS2016
 
Why Managed Service Providers Should Embrace Container Technology
Why Managed Service Providers Should Embrace Container TechnologyWhy Managed Service Providers Should Embrace Container Technology
Why Managed Service Providers Should Embrace Container Technology
 
KubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to ProdKubeCon 2017: Kubernetes from Dev to Prod
KubeCon 2017: Kubernetes from Dev to Prod
 
Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment Docker - Demo on PHP Application deployment
Docker - Demo on PHP Application deployment
 
Drupal Efficiency using open source technologies from Sun
Drupal Efficiency using open source technologies from SunDrupal Efficiency using open source technologies from Sun
Drupal Efficiency using open source technologies from Sun
 
Ruby On Rails Basics
Ruby On Rails BasicsRuby On Rails Basics
Ruby On Rails Basics
 
Cloud Meetup - Automation in the Cloud
Cloud Meetup - Automation in the CloudCloud Meetup - Automation in the Cloud
Cloud Meetup - Automation in the Cloud
 
Drupal Efficiency - Coding, Deployment, Scaling
Drupal Efficiency - Coding, Deployment, ScalingDrupal Efficiency - Coding, Deployment, Scaling
Drupal Efficiency - Coding, Deployment, Scaling
 
Zero to scaleable in ten minutes
Zero to scaleable in ten minutesZero to scaleable in ten minutes
Zero to scaleable in ten minutes
 
Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...Containerization is more than the new Virtualization: enabling separation of ...
Containerization is more than the new Virtualization: enabling separation of ...
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Scaling up development of a modular code base
Scaling up development of a modular code baseScaling up development of a modular code base
Scaling up development of a modular code base
 
Sails.js Intro
Sails.js IntroSails.js Intro
Sails.js Intro
 
How to keep Drupal relevant in the Git-based and API-driven CMS era - BADCamp
How to keep Drupal relevant in the Git-based and API-driven CMS era - BADCampHow to keep Drupal relevant in the Git-based and API-driven CMS era - BADCamp
How to keep Drupal relevant in the Git-based and API-driven CMS era - BADCamp
 
Docker Online Meetup #3: Docker in Production
Docker Online Meetup #3: Docker in ProductionDocker Online Meetup #3: Docker in Production
Docker Online Meetup #3: Docker in Production
 

Kürzlich hochgeladen

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 

Kürzlich hochgeladen (20)

DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 

Ruby on Rails CMS - on the cloud

  • 1. Host your Ruby on Rails CMS on the cloud – for free! Michalis Polakis, TaratsaCamp, Chania 7/7/2001
  • 2. about me Michalis Polakis => csd.uoc.gr, ins1@cwi.nl, soundcloud.com, filoxena.com => photos => entrepreneurship
  • 3. about this talk => ruby => on Rails => refinery cms => git => cloud => heroku => put the pieces together
  • 4. ruby => user friendly => dynamic, reflective, garbage collected, interpreted => jruby, ironruby, macruby
  • 6. ruby on rails => open source web app framework => Model-View-Controller (MVC) => Convention over Configuration – Reduce decisions. If Order model => orders db table => Don't Repeat Yourself (DRY) – Every piece of knowledge must have a single, unambiguous, authoritative representation
  • 8. refinery cms => most popular rails cms => “follows the rails (3) way” => simple, modular, extendable => good enough
  • 9. git => distributed revision control system => by Linus for Linus => every Git working directory is a full- fledged repository with complete history and full revision tracking capabilities => independent of network access or central server
  • 10. basic git workflow (from scratch) $ cd (project-directory) $ git init $ (add some files) $ git add . $ git commit -m 'first commit'
  • 11.
  • 12. heroku => user friendly web app deployment/management/scaling – rack apps(rails, sinatra)x, node.js, clojure => sits on top of AWS – goes down when AWS goes down => easy to migrate away from – no lock-in => stack promotes best practices
  • 13. heroku cont. => basic package can get you a long way => read-only filesystem => git-based deployment
  • 14. putting the pieces together => prerequisites : ruby, rubygems, rails, sqlite3/mysql, git $ gem install refinerycms heroku => set your heroku credentials/ssh keys $ refinerycms mysimplecms –heroku => edit Gemfile, add “ gem 'rake', '~> 0.8.7' ” $ bundle update
  • 15. putting the pieces together cont. $ git init $ git add . $ git commit -m “first commit!” $ heroku create $ git push heroku master $ heroku rake db:migrate
  • 16.
  • 17. references => wikipedia => ruby-lang.org, rubyonrails.org => refinerycms.com => git-scm.com => heroku.com => http://devcenter.heroku.com/articles/quickstart => cloud photo courtesy of jonicdao (www.flickr.com/photos/jonicdao/3450233884)