Rupher

Amoniac OÜ
Amoniac OÜAmoniac OÜ
Rupher
Aleksandr Simonov
Aleksandr Simonov
Developer

DBA

DevOps

TechAddict

Owner
Rupher
James Gosling
Java
Ken Thompson & Dennis Ritchie
UNIX
John McCarthy
Lisp
Larry Wall
Perl
Matz && RMS
Ruby and GNU
Rupher
Ryan Dahl
Node.js
Rob Pike
Plan9, UTF-8, Go
Rupher
Ruby
• Dynamic

• Object-Oriented

• Dynamic Typing 

• Metaprogramming

• Block syntax
Ruby’s Unicorns
Rupher
Rupher
Gopher’s Bullets
Rupher
Rupher
What to choose?!
Ruby?
•ORM

•DSL

•Fast Development

•Pure performance
Go?
•Strict types

•Compiled binary

•Blazing fast

•Slow development
BOTH!
WHY BOTH?!!
Rupher
Web Application
• HTTP Routes

• Database

• Assets Compilation

• Background Jobs

• Export/Import Data

• Deployment
HTTP Routes
• GET

• POST

• PUT

• DELETE
HTTP Routes
• JSON Parsing much faster on Go

• XML Parsing much faster on Go

• Go can process request in goroutine
Database
• INSERT

• SELECT

• UPDATE

• MIGRATIONS
Database
• SQL Drivers is very fast

• Database pools helpful

• Bulk Insert will help you Luke!
Database
MIGRATIONS in Go so UGLYYYY
-- +goose Up
CREATE TABLE post (
id int NOT NULL,
title text,
body text,
PRIMARY KEY(id)
);
-- +goose Down
DROP TABLE post;
class CreateAccounts < ActiveRecord::Migration[5.1]
def change
create_table :post do |t|
t.text :title
t.text :body
end
end
end
Sequel.migration do
change do
create_table(:post) do
primary_key :id
column :title,:text
column :body, :text
end
end
end
Assets Compilation
• JavaScript/CoffeeScript/TypeScript

• CSS/LESS/SASS

• Handlebars/Mustache

• Gzipping
Assets Compilation
• Sprockets is Ugly

• Gulp is Ugly

• Browserify is Ugly

• WebPack is Not Ugly YET :)
Background Jobs
• Database queue

• Redis queue

• RabbitMQ queue
Background Jobs
• DelayedJob is slow

• Resque is fork based

• Sidekiq is memory eat monster
Background Jobs
• Goworker is Resque compatible

• Go-Workers is Sidekiq compatible

• Your own queue via channels
Export/Import Data
• DSL is your power

• Metaprogramming is your crown

• Pipes is your horse
Deployment
• Docker

• Dokku

• Flynn

• Docker-Compose
Rupher
1 of 42

Recommended

PharoDAYS 2015: On Relational Databases by Guille Polito by
PharoDAYS 2015: On Relational Databases by Guille PolitoPharoDAYS 2015: On Relational Databases by Guille Polito
PharoDAYS 2015: On Relational Databases by Guille PolitoPharo
1.1K views9 slides
Why ruby and rails by
Why ruby and railsWhy ruby and rails
Why ruby and railsReuven Lerner
472 views31 slides
PlayNice.ly: Using Redis to store all our data, hahaha (Redis London Meetup) by
PlayNice.ly: Using Redis to store all our data, hahaha (Redis London Meetup)PlayNice.ly: Using Redis to store all our data, hahaha (Redis London Meetup)
PlayNice.ly: Using Redis to store all our data, hahaha (Redis London Meetup)Adam Charnock
3.1K views21 slides
How to create/improve OSS product and its community (revised) by
How to create/improve OSS product and its community (revised)How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)SATOSHI TAGOMORI
9K views34 slides
[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReaders by
[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReaders[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReaders
[Rakuten TechConf2014] [C-2] Big Data for eBooks and eReadersRakuten Group, Inc.
2.2K views36 slides
Freelancing and side-projects on Rails by
Freelancing and side-projects on RailsFreelancing and side-projects on Rails
Freelancing and side-projects on RailsJohn McCaffrey
1.4K views30 slides

More Related Content

What's hot

RavenDB 3.5 by
RavenDB 3.5RavenDB 3.5
RavenDB 3.5Oren Eini
880 views28 slides
Day 1 - Intro to Ruby by
Day 1 - Intro to RubyDay 1 - Intro to Ruby
Day 1 - Intro to RubyBarry Jones
990 views37 slides
Day 2 - Intro to Rails by
Day 2 - Intro to RailsDay 2 - Intro to Rails
Day 2 - Intro to RailsBarry Jones
799 views11 slides
Day 8 - jRuby by
Day 8 - jRubyDay 8 - jRuby
Day 8 - jRubyBarry Jones
858 views18 slides
Cloud conference - mongodb by
Cloud conference - mongodbCloud conference - mongodb
Cloud conference - mongodbMitch Pirtle
1.6K views101 slides
Torquebox rubyhoedown-2012 by
Torquebox rubyhoedown-2012Torquebox rubyhoedown-2012
Torquebox rubyhoedown-2012Lance Ball
698 views31 slides

What's hot(20)

RavenDB 3.5 by Oren Eini
RavenDB 3.5RavenDB 3.5
RavenDB 3.5
Oren Eini880 views
Day 1 - Intro to Ruby by Barry Jones
Day 1 - Intro to RubyDay 1 - Intro to Ruby
Day 1 - Intro to Ruby
Barry Jones990 views
Day 2 - Intro to Rails by Barry Jones
Day 2 - Intro to RailsDay 2 - Intro to Rails
Day 2 - Intro to Rails
Barry Jones799 views
Cloud conference - mongodb by Mitch Pirtle
Cloud conference - mongodbCloud conference - mongodb
Cloud conference - mongodb
Mitch Pirtle1.6K views
Torquebox rubyhoedown-2012 by Lance Ball
Torquebox rubyhoedown-2012Torquebox rubyhoedown-2012
Torquebox rubyhoedown-2012
Lance Ball698 views
improving the performance of Rails web Applications by John McCaffrey
improving the performance of Rails web Applicationsimproving the performance of Rails web Applications
improving the performance of Rails web Applications
John McCaffrey1.6K views
Know thy cost (or where performance problems lurk) by Oren Eini
Know thy cost (or where performance problems lurk)Know thy cost (or where performance problems lurk)
Know thy cost (or where performance problems lurk)
Oren Eini557 views
Apcera Case Study: The selection of the Go language by Derek Collison
Apcera Case Study: The selection of the Go languageApcera Case Study: The selection of the Go language
Apcera Case Study: The selection of the Go language
Derek Collison11.7K views
PureScript Tutorial 1 by Ray Shih
PureScript Tutorial 1PureScript Tutorial 1
PureScript Tutorial 1
Ray Shih868 views
Markup languages and warp-speed documentation by Lois Patterson
Markup languages and warp-speed documentationMarkup languages and warp-speed documentation
Markup languages and warp-speed documentation
Lois Patterson519 views
Solving text search problems with Ruby on Rails by Andrii Gladkyi
Solving text search problems with Ruby on RailsSolving text search problems with Ruby on Rails
Solving text search problems with Ruby on Rails
Andrii Gladkyi1.6K views
Day 9 - PostgreSQL Application Architecture by Barry Jones
Day 9 - PostgreSQL Application ArchitectureDay 9 - PostgreSQL Application Architecture
Day 9 - PostgreSQL Application Architecture
Barry Jones1.1K views
Git Internals by Pedro Melo
Git InternalsGit Internals
Git Internals
Pedro Melo1.3K views
Talk about java by Davis Chen
Talk about javaTalk about java
Talk about java
Davis Chen69 views
Python to go by Weng Wei
Python to goPython to go
Python to go
Weng Wei8.5K views
Migrate PHP E-Commerce Site to Go by Weng Wei
Migrate PHP E-Commerce Site to GoMigrate PHP E-Commerce Site to Go
Migrate PHP E-Commerce Site to Go
Weng Wei1.8K views
Intro to git (one hour version) by Randal Schwartz
Intro to git (one hour version)Intro to git (one hour version)
Intro to git (one hour version)
Randal Schwartz2.7K views

Similar to Rupher

Be faster then rabbits by
Be faster then rabbitsBe faster then rabbits
Be faster then rabbitsVladislav Bauer
1.1K views38 slides
Use all the buzzwords by
Use all the buzzwordsUse all the buzzwords
Use all the buzzwordsJared Faris
1.3K views42 slides
Introduction to Web Technology Stacks by
Introduction to Web Technology StacksIntroduction to Web Technology Stacks
Introduction to Web Technology StacksPrakarsh -
3.1K views13 slides
Stack Exchange Infrastructure - LISA 14 by
Stack Exchange Infrastructure - LISA 14Stack Exchange Infrastructure - LISA 14
Stack Exchange Infrastructure - LISA 14GABeech
1.3K views25 slides
遇見 Ruby on Rails by
遇見 Ruby on Rails遇見 Ruby on Rails
遇見 Ruby on RailsWen-Tien Chang
5.7K views72 slides
GoLang - Why It Matters by
GoLang -  Why It MattersGoLang -  Why It Matters
GoLang - Why It Mattersrahul
135 views60 slides

Similar to Rupher(20)

Use all the buzzwords by Jared Faris
Use all the buzzwordsUse all the buzzwords
Use all the buzzwords
Jared Faris1.3K views
Introduction to Web Technology Stacks by Prakarsh -
Introduction to Web Technology StacksIntroduction to Web Technology Stacks
Introduction to Web Technology Stacks
Prakarsh -3.1K views
Stack Exchange Infrastructure - LISA 14 by GABeech
Stack Exchange Infrastructure - LISA 14Stack Exchange Infrastructure - LISA 14
Stack Exchange Infrastructure - LISA 14
GABeech1.3K views
GoLang - Why It Matters by rahul
GoLang -  Why It MattersGoLang -  Why It Matters
GoLang - Why It Matters
rahul 135 views
MongoDC 2012: "Operationalizing" MongoDB@AOL by MongoDB
MongoDC 2012: "Operationalizing" MongoDB@AOLMongoDC 2012: "Operationalizing" MongoDB@AOL
MongoDC 2012: "Operationalizing" MongoDB@AOL
MongoDB351 views
Operationalizing MongoDB at AOL by radiocats
Operationalizing MongoDB at AOLOperationalizing MongoDB at AOL
Operationalizing MongoDB at AOL
radiocats1.7K views
Mobile App Development Using Appcelerator and DNN WebAPIs by DNN
Mobile App Development Using Appcelerator and DNN WebAPIsMobile App Development Using Appcelerator and DNN WebAPIs
Mobile App Development Using Appcelerator and DNN WebAPIs
DNN2.3K views
Introduction To Web Development & The New Digital Workplace by Jen Wei Lee
Introduction To Web Development & The New Digital WorkplaceIntroduction To Web Development & The New Digital Workplace
Introduction To Web Development & The New Digital Workplace
Jen Wei Lee754 views
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish by Jani Tarvainen
Content Management Systems and Refactoring - Drupal, WordPress and eZ PublishContent Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Jani Tarvainen1.4K views
Stardog 1.1: An Easier, Smarter, Faster RDF Database by kendallclark
Stardog 1.1: An Easier, Smarter, Faster RDF DatabaseStardog 1.1: An Easier, Smarter, Faster RDF Database
Stardog 1.1: An Easier, Smarter, Faster RDF Database
kendallclark368 views
Stardog 1.1: Easier, Smarter, Faster RDF Database by Clark & Parsia LLC
Stardog 1.1: Easier, Smarter, Faster RDF DatabaseStardog 1.1: Easier, Smarter, Faster RDF Database
Stardog 1.1: Easier, Smarter, Faster RDF Database
Clark & Parsia LLC2.5K views
MEAN Stack WeNode Barcelona Workshop by Valeri Karpov
MEAN Stack WeNode Barcelona WorkshopMEAN Stack WeNode Barcelona Workshop
MEAN Stack WeNode Barcelona Workshop
Valeri Karpov1K views
DevOpsDays Houston 2019 - Shaun Ladewig, Robert Stone - From OverTheWallOps t... by DevOpsDays Houston
DevOpsDays Houston 2019 - Shaun Ladewig, Robert Stone - From OverTheWallOps t...DevOpsDays Houston 2019 - Shaun Ladewig, Robert Stone - From OverTheWallOps t...
DevOpsDays Houston 2019 - Shaun Ladewig, Robert Stone - From OverTheWallOps t...
DevOpsDays Houston134 views
CrossWorlds: Unleash the Power of Domino for Connections Development by LetsConnect
CrossWorlds: Unleash the Power of Domino for Connections Development CrossWorlds: Unleash the Power of Domino for Connections Development
CrossWorlds: Unleash the Power of Domino for Connections Development
LetsConnect532 views
Social Connections 2015 CrossWorlds and Domino by Paul Withers
Social Connections 2015 CrossWorlds and DominoSocial Connections 2015 CrossWorlds and Domino
Social Connections 2015 CrossWorlds and Domino
Paul Withers954 views
Speedment - Reactive programming for Java8 by Speedment, Inc.
Speedment - Reactive programming for Java8Speedment - Reactive programming for Java8
Speedment - Reactive programming for Java8
Speedment, Inc.1.4K views
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational? by DATAVERSITY
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
A Case Study of NoSQL Adoption: What Drove Wordnik Non-Relational?
DATAVERSITY1.4K views

More from Amoniac OÜ

Dokku your own heroku 21 by
Dokku   your own heroku 21Dokku   your own heroku 21
Dokku your own heroku 21Amoniac OÜ
327 views60 slides
GO in Heterogeneous Language Environments by
GO in Heterogeneous Language EnvironmentsGO in Heterogeneous Language Environments
GO in Heterogeneous Language EnvironmentsAmoniac OÜ
247 views32 slides
Cleaners of Caribbean by
Cleaners of CaribbeanCleaners of Caribbean
Cleaners of CaribbeanAmoniac OÜ
529 views51 slides
Ruby JIT Compilation by
Ruby JIT CompilationRuby JIT Compilation
Ruby JIT CompilationAmoniac OÜ
329 views25 slides
Ambiguous Sinatra by
Ambiguous SinatraAmbiguous Sinatra
Ambiguous SinatraAmoniac OÜ
217 views51 slides
Capistrano and SystemD by
Capistrano and SystemDCapistrano and SystemD
Capistrano and SystemDAmoniac OÜ
395 views43 slides

More from Amoniac OÜ(15)

Dokku your own heroku 21 by Amoniac OÜ
Dokku   your own heroku 21Dokku   your own heroku 21
Dokku your own heroku 21
Amoniac OÜ327 views
GO in Heterogeneous Language Environments by Amoniac OÜ
GO in Heterogeneous Language EnvironmentsGO in Heterogeneous Language Environments
GO in Heterogeneous Language Environments
Amoniac OÜ247 views
Cleaners of Caribbean by Amoniac OÜ
Cleaners of CaribbeanCleaners of Caribbean
Cleaners of Caribbean
Amoniac OÜ529 views
Ruby JIT Compilation by Amoniac OÜ
Ruby JIT CompilationRuby JIT Compilation
Ruby JIT Compilation
Amoniac OÜ329 views
Ambiguous Sinatra by Amoniac OÜ
Ambiguous SinatraAmbiguous Sinatra
Ambiguous Sinatra
Amoniac OÜ217 views
Capistrano and SystemD by Amoniac OÜ
Capistrano and SystemDCapistrano and SystemD
Capistrano and SystemD
Amoniac OÜ395 views
Distributed Cluster in Ruby by Amoniac OÜ
Distributed Cluster in RubyDistributed Cluster in Ruby
Distributed Cluster in Ruby
Amoniac OÜ130 views
Roda: Putting the Fun Back into Ruby Web Development by Amoniac OÜ
Roda: Putting the Fun Back into Ruby Web DevelopmentRoda: Putting the Fun Back into Ruby Web Development
Roda: Putting the Fun Back into Ruby Web Development
Amoniac OÜ270 views
Rubymotion: Overview and Ecosystem by Amoniac OÜ
Rubymotion: Overview and EcosystemRubymotion: Overview and Ecosystem
Rubymotion: Overview and Ecosystem
Amoniac OÜ89 views
Different Ways of Integrating React into Rails - Pros and Cons by Amoniac OÜ
Different Ways of Integrating React into Rails - Pros and ConsDifferent Ways of Integrating React into Rails - Pros and Cons
Different Ways of Integrating React into Rails - Pros and Cons
Amoniac OÜ233 views
Functional Web Apps with WebMachine Framework by Amoniac OÜ
Functional Web Apps with WebMachine FrameworkFunctional Web Apps with WebMachine Framework
Functional Web Apps with WebMachine Framework
Amoniac OÜ106 views
How to Become a Сhef by Amoniac OÜ
How to Become a СhefHow to Become a Сhef
How to Become a Сhef
Amoniac OÜ60 views
Let's Count Bytes! Launching Ruby in 32K of RAM by Amoniac OÜ
Let's Count Bytes! Launching Ruby in 32K of RAMLet's Count Bytes! Launching Ruby in 32K of RAM
Let's Count Bytes! Launching Ruby in 32K of RAM
Amoniac OÜ127 views
Deployment tales by Amoniac OÜ
Deployment talesDeployment tales
Deployment tales
Amoniac OÜ163 views

Recently uploaded

FIMA 2023 Neo4j & FS - Entity Resolution.pptx by
FIMA 2023 Neo4j & FS - Entity Resolution.pptxFIMA 2023 Neo4j & FS - Entity Resolution.pptx
FIMA 2023 Neo4j & FS - Entity Resolution.pptxNeo4j
8 views26 slides
Programming Field by
Programming FieldProgramming Field
Programming Fieldthehardtechnology
5 views9 slides
Advanced API Mocking Techniques by
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking TechniquesDimpy Adhikary
19 views11 slides
tecnologia18.docx by
tecnologia18.docxtecnologia18.docx
tecnologia18.docxnosi6702
5 views5 slides
SAP FOR TYRE INDUSTRY.pdf by
SAP FOR TYRE INDUSTRY.pdfSAP FOR TYRE INDUSTRY.pdf
SAP FOR TYRE INDUSTRY.pdfVirendra Rai, PMP
24 views3 slides
Myths and Facts About Hospice Care: Busting Common Misconceptions by
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common MisconceptionsCare Coordinations
6 views1 slide

Recently uploaded(20)

FIMA 2023 Neo4j & FS - Entity Resolution.pptx by Neo4j
FIMA 2023 Neo4j & FS - Entity Resolution.pptxFIMA 2023 Neo4j & FS - Entity Resolution.pptx
FIMA 2023 Neo4j & FS - Entity Resolution.pptx
Neo4j8 views
Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary19 views
tecnologia18.docx by nosi6702
tecnologia18.docxtecnologia18.docx
tecnologia18.docx
nosi67025 views
Myths and Facts About Hospice Care: Busting Common Misconceptions by Care Coordinations
Myths and Facts About Hospice Care: Busting Common MisconceptionsMyths and Facts About Hospice Care: Busting Common Misconceptions
Myths and Facts About Hospice Care: Busting Common Misconceptions
Sprint 226 by ManageIQ
Sprint 226Sprint 226
Sprint 226
ManageIQ5 views
AI and Ml presentation .pptx by FayazAli87
AI and Ml presentation .pptxAI and Ml presentation .pptx
AI and Ml presentation .pptx
FayazAli8712 views
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols by Deltares
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - DolsDSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
DSD-INT 2023 European Digital Twin Ocean and Delft3D FM - Dols
Deltares9 views
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI... by Marc Müller
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Marc Müller41 views
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko... by Deltares
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
DSD-INT 2023 Simulation of Coastal Hydrodynamics and Water Quality in Hong Ko...
Deltares14 views
Ports-and-Adapters Architecture for Embedded HMI by Burkhard Stubert
Ports-and-Adapters Architecture for Embedded HMIPorts-and-Adapters Architecture for Embedded HMI
Ports-and-Adapters Architecture for Embedded HMI
Burkhard Stubert21 views
SUGCON ANZ Presentation V2.1 Final.pptx by Jack Spektor
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptx
Jack Spektor23 views
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by sparkfabrik
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
sparkfabrik7 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 views
FOSSLight Community Day 2023-11-30 by Shane Coughlan
FOSSLight Community Day 2023-11-30FOSSLight Community Day 2023-11-30
FOSSLight Community Day 2023-11-30
Shane Coughlan5 views
360 graden fabriek by info33492
360 graden fabriek360 graden fabriek
360 graden fabriek
info33492122 views

Rupher