Phoenix demysitify, with fun

Tai An Su
Tai An SuElixir evangelist at Shopmatic Group
Phoenix demysitify, with fun
Who am I
@taiansu
|>
|> Ruby
|> React.js, Redux, Rx.js
|> RailsGirls.tw & Elixir.tw
http://taian.su
facebook.com/sutaian
Elixir Taiwan
» Facebook: Elixir Taiwan
» Slack: elixirtw.slack.com
» KKTIX: elixirtw.kktix.cc
Phoenix?
Web MVC Elixir
, web ...
Elixir
Phoenix demysitify, with fun
Phoenix demysitify, with fun
Elixir / Phoenix
Dave Thomas droped by Taiwan
at 2014
Elixir =~
Ruby syntax + Erlang speciality
and some more
Erlang
from 1986
open-sourced in 1998
Build for Telecom switch system
at beginning
» Functional
» Soft real time
» Concurrent
» 99.999% up-time, including upgrade and hot-fix
» Hot update
On the fly update, literally*.
Erlang AR drone in-flight upgrade
Actor model
Compare with system process
» C# process:
300µs per process
50µs per message
» Erlang VM process:
1µs up to 2,500 processes
3µs up to 30,000 processes
0.8µs per message
We do not have ONE web server handling 2 millions sessions.
We have 2 million web servers handling one session each.
» Joe Armstrong
process in Erlang/Elixir
=~
object instance in OO application
with :observer.start
github.com/taiansu/game_of_life_elixir
Weakness
» Hard real time
» Processing big chunk of data (Video, Audio)
» Uncommon syntax
» String
Syntax
-module(mym).
-export([max/2]).
max(X, Y) ->
if
X > Y -> X;
X < Y -> Y;
true -> nil
end.
Erlang string: a list of integer
[1, 2, 3] % [1, 2, 3]
[119, 97, 116, 63, 33] % "wat?!"
<<119, 97, 116, 63, 33>> % Bit-syntax from R16
wat.
Elixir
by José Valim at 2013
Rails core team member
Leverage the Erlang VM
Pattern matching
What's the "=" means, seriously?
Pattern matching basic
# Ruby
x, x, y = [1, 2, 3] # => x = 2, y = 3
# Elixir
[x, x, y] = [1, 2, 3] # => (MatchError) no match of right hand side value
[x, x, y] = [1, 1, 3] # => x = 1, y = 3
[head | tail] = [1, 2, 3, 4] # => head = 1, tail = [2, 3, 4]
{:ok, contents} = File.read("my_app.config")
Pattern matching: recursive
defmodule Factorial do
def calc(0), do: 1
def calc(val), do: val * calc(val - 1)
end
Factorial.calc(100)
Pattern matching with function, contd.
parse_response = fn
{:err, msg} ->
show_error(msg)
{:ok, article = %{title: title, content: content}} ->
# article = %{title: "abc", content: "123"}
# title = "abc"
# content = "123"
render(title, content)
_ ->
IO.puts "Huston, we have a problem."
end
parse_response.(response)
OTP compliant
GenServer, Supervisor, GenEvent, Application
Elixir only
Case: useless variable
request = generate_request
response = get_response(request)
body = parse_body(response, :html)
html = render(body)
# otherwise
html = render(parse_body(get_response(generate_request), :html))
Pipe operator: |>
html = generate_request
|> get_response
|> parse_body(:html)
|> render
Meta-programming
macro, quote and unquote, to AST
live demo ( if enough time )
quote do: 1 + 2 * 3
github.com/taiansu/pipe_to
2
|> Enum.drop(1..10, _)
|> Enum.at(1)
Code with doctest
defmodule Num do
@doc """
Demonstrate doctest feature
## Example
iex> Num.is_even?(1)
true
"""
def is_even?(num) do
rem(num, 2) == 0
end
end
doc
test
Trinity
Phoenix
by Chris McCord
Disclaim
I ❤ Ruby, still.
Phoenix demysitify, with fun
Phoenix is Rails with less magic
Phoenix demysitify, with fun
Phoenix demysitify, with fun
Demysitify: Both are MVC framework with
» Routes
» Controller
» Model
» View
» assets
Core idea of phoenix:
Your entire web application is a function
url is your params, and return value is that html
path = "/order/search?start_date=2017-12-02&end_date=2017-12-03"
html = path
|> router
|> controller
|> model
|> controller
|> view
The conn variable pipe through the whole system
Routes & Controller
Basically the same
Model and ORM
SQL wrapper named Ecto
Ecto
defmodule MyApp.Order
schema "orders" do
belongs_to :user, MyApp.User
has_many :order_items, MyApp.OrderItem
field :code, :string
field :payment_method, :string
end
# query functions here
end
Ecto query functions
def query_cart_of_user(query  __MODULE__, user_id) do
from o in query,
where: o.user_id == ^user_id
end
def order_by_created_at(query  __MODULE__) do
from o in query,
order_by: o.created_at
end
## in Controller
orders = %Order{}
|> query_cart_of_user(20)
|> order_by_created_at
|> Repo.all
View and template
File: template/order/show.html.eex
<h2>
Hi! this is the show page!<%= order_name(@conn, @order) %>
</h2>
File: /view/order_view.ex
defmodule MyApp.OrderView do
use MyApp.Web, :view
def render("show.html", params  []) do
~E{
<h2>Hi! this is the show page!<%= order_name(@conn, @order) %></h2>
}
end
def order_name(conn, order) do
user = conn.assigns[:current_user]
"#{user.name}: #{order.name} x #{order.quantity}"
end
end
Channel
just like ActionCable
Phoenix demysitify, with fun
Conclusion
What I've learned
» Different paradiam expand your horizon
» Which is a knowledge you can bring with you anywhere
» Composability over REUSE
» Think in process way
» And...
Code with Fun
Just like Ruby tought us, thanks Matz.
Code with Functional
Thanks for your time!
Any Questions?
more plans on going, join Elixir.tw!
1 of 64

Recommended

Creating your own framework on top of Symfony2 Components by
Creating your own framework on top of Symfony2 ComponentsCreating your own framework on top of Symfony2 Components
Creating your own framework on top of Symfony2 ComponentsDeepak Chandani
287 views32 slides
Symfony bundle fo asynchronous job processing by
Symfony bundle fo asynchronous job processingSymfony bundle fo asynchronous job processing
Symfony bundle fo asynchronous job processingWojciech Ciołko
1.5K views19 slides
Actor Clustering with Docker Containers and Akka.Net in F# by
Actor Clustering with Docker Containers and Akka.Net in F#Actor Clustering with Docker Containers and Akka.Net in F#
Actor Clustering with Docker Containers and Akka.Net in F#Riccardo Terrell
2.1K views54 slides
Ruby conf 2011, Create your own rails framework by
Ruby conf 2011, Create your own rails frameworkRuby conf 2011, Create your own rails framework
Ruby conf 2011, Create your own rails frameworkPankaj Bhageria
1.9K views38 slides
Elm 0.17 at Dublin Elm Meetup May 2016 by
Elm 0.17 at Dublin Elm Meetup May 2016Elm 0.17 at Dublin Elm Meetup May 2016
Elm 0.17 at Dublin Elm Meetup May 2016Michael Twomey
698 views33 slides
Concurrecny inf sharp by
Concurrecny inf sharpConcurrecny inf sharp
Concurrecny inf sharpRiccardo Terrell
1.8K views76 slides

More Related Content

What's hot

Fullstack Conference - Proxies before proxies: The hidden gems of Javascript... by
Fullstack Conference -  Proxies before proxies: The hidden gems of Javascript...Fullstack Conference -  Proxies before proxies: The hidden gems of Javascript...
Fullstack Conference - Proxies before proxies: The hidden gems of Javascript...Tim Chaplin
947 views72 slides
Webpack Encore Symfony Live 2017 San Francisco by
Webpack Encore Symfony Live 2017 San FranciscoWebpack Encore Symfony Live 2017 San Francisco
Webpack Encore Symfony Live 2017 San FranciscoRyan Weaver
2.8K views94 slides
Handling external APIs with Elixir - Alex Rozumii by
Handling external APIs with Elixir - Alex RozumiiHandling external APIs with Elixir - Alex Rozumii
Handling external APIs with Elixir - Alex RozumiiElixir Club
215 views13 slides
Rack by
RackRack
RackRevath S Kumar
455 views24 slides
Back to the futures, actors and pipes: using Akka for large-scale data migration by
Back to the futures, actors and pipes: using Akka for large-scale data migrationBack to the futures, actors and pipes: using Akka for large-scale data migration
Back to the futures, actors and pipes: using Akka for large-scale data migrationManuel Bernhardt
13K views83 slides
TDC2018SP | Trilha Go - Case Easylocus by
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocustdc-globalcode
742 views20 slides

What's hot(20)

Fullstack Conference - Proxies before proxies: The hidden gems of Javascript... by Tim Chaplin
Fullstack Conference -  Proxies before proxies: The hidden gems of Javascript...Fullstack Conference -  Proxies before proxies: The hidden gems of Javascript...
Fullstack Conference - Proxies before proxies: The hidden gems of Javascript...
Tim Chaplin947 views
Webpack Encore Symfony Live 2017 San Francisco by Ryan Weaver
Webpack Encore Symfony Live 2017 San FranciscoWebpack Encore Symfony Live 2017 San Francisco
Webpack Encore Symfony Live 2017 San Francisco
Ryan Weaver2.8K views
Handling external APIs with Elixir - Alex Rozumii by Elixir Club
Handling external APIs with Elixir - Alex RozumiiHandling external APIs with Elixir - Alex Rozumii
Handling external APIs with Elixir - Alex Rozumii
Elixir Club215 views
Back to the futures, actors and pipes: using Akka for large-scale data migration by Manuel Bernhardt
Back to the futures, actors and pipes: using Akka for large-scale data migrationBack to the futures, actors and pipes: using Akka for large-scale data migration
Back to the futures, actors and pipes: using Akka for large-scale data migration
Manuel Bernhardt13K views
TDC2018SP | Trilha Go - Case Easylocus by tdc-globalcode
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocus
tdc-globalcode742 views
SenchaCon 2016: Learn the Top 10 Best ES2015 Features - Lee Boonstra by Sencha
SenchaCon 2016: Learn the Top 10 Best ES2015 Features - Lee Boonstra  SenchaCon 2016: Learn the Top 10 Best ES2015 Features - Lee Boonstra
SenchaCon 2016: Learn the Top 10 Best ES2015 Features - Lee Boonstra
Sencha420 views
Some tips to improve developer experience with Symfony by tyomo4ka
Some tips to improve developer experience with SymfonySome tips to improve developer experience with Symfony
Some tips to improve developer experience with Symfony
tyomo4ka1.9K views
From Ruby to Node.js by jubilem
From Ruby to Node.jsFrom Ruby to Node.js
From Ruby to Node.js
jubilem1K views
Asynchronous Task Queues with Celery by Kishor Kumar
Asynchronous Task Queues with CeleryAsynchronous Task Queues with Celery
Asynchronous Task Queues with Celery
Kishor Kumar633 views
3 things you must know to think reactive - Geecon Kraków 2015 by Manuel Bernhardt
3 things you must know to think reactive - Geecon Kraków 20153 things you must know to think reactive - Geecon Kraków 2015
3 things you must know to think reactive - Geecon Kraków 2015
Manuel Bernhardt4.2K views
Master the New Core of Drupal 8 Now: with Symfony and Silex by Ryan Weaver
Master the New Core of Drupal 8 Now: with Symfony and SilexMaster the New Core of Drupal 8 Now: with Symfony and Silex
Master the New Core of Drupal 8 Now: with Symfony and Silex
Ryan Weaver4.7K views
Akka Futures and Akka Remoting by Knoldus Inc.
Akka Futures  and Akka RemotingAkka Futures  and Akka Remoting
Akka Futures and Akka Remoting
Knoldus Inc.2.1K views
Active object of Symbian in the lights of client server architecture by Somenath Mukhopadhyay
Active object of Symbian in the lights of client server architectureActive object of Symbian in the lights of client server architecture
Active object of Symbian in the lights of client server architecture
The quest for global design principles (SymfonyLive Berlin 2015) by Matthias Noback
The quest for global design principles (SymfonyLive Berlin 2015)The quest for global design principles (SymfonyLive Berlin 2015)
The quest for global design principles (SymfonyLive Berlin 2015)
Matthias Noback3.8K views
Laravel Design Patterns by Bobby Bouwmann
Laravel Design PatternsLaravel Design Patterns
Laravel Design Patterns
Bobby Bouwmann24.2K views

Viewers also liked

Nintendo presentation 3.0 by
Nintendo presentation 3.0Nintendo presentation 3.0
Nintendo presentation 3.0Ignacio Continente
20.4K views41 slides
QCon - 一次 Clojure Web 编程实战 by
QCon - 一次 Clojure Web 编程实战QCon - 一次 Clojure Web 编程实战
QCon - 一次 Clojure Web 编程实战dennis zhuang
2.9K views39 slides
PromptWorks Talk Tuesdays: Ray Zane 1/17/17 "Elixir Is Cool" by
PromptWorks Talk Tuesdays: Ray Zane 1/17/17 "Elixir Is Cool"PromptWorks Talk Tuesdays: Ray Zane 1/17/17 "Elixir Is Cool"
PromptWorks Talk Tuesdays: Ray Zane 1/17/17 "Elixir Is Cool"PromptWorks
211 views29 slides
Java 与 CPU 高速缓存 by
Java 与 CPU 高速缓存Java 与 CPU 高速缓存
Java 与 CPU 高速缓存dennis zhuang
4.3K views13 slides
Elixir by
ElixirElixir
ElixirMohammed Cherif
152 views9 slides
Elixir introd by
Elixir introdElixir introd
Elixir introddennis zhuang
912 views17 slides

Viewers also liked(16)

QCon - 一次 Clojure Web 编程实战 by dennis zhuang
QCon - 一次 Clojure Web 编程实战QCon - 一次 Clojure Web 编程实战
QCon - 一次 Clojure Web 编程实战
dennis zhuang2.9K views
PromptWorks Talk Tuesdays: Ray Zane 1/17/17 "Elixir Is Cool" by PromptWorks
PromptWorks Talk Tuesdays: Ray Zane 1/17/17 "Elixir Is Cool"PromptWorks Talk Tuesdays: Ray Zane 1/17/17 "Elixir Is Cool"
PromptWorks Talk Tuesdays: Ray Zane 1/17/17 "Elixir Is Cool"
PromptWorks211 views
Java 与 CPU 高速缓存 by dennis zhuang
Java 与 CPU 高速缓存Java 与 CPU 高速缓存
Java 与 CPU 高速缓存
dennis zhuang4.3K views
Elixir Elevated: The Ups and Downs of OTP at ElixirConf2014 by Greg Vaughn
Elixir Elevated: The Ups and Downs of OTP at ElixirConf2014Elixir Elevated: The Ups and Downs of OTP at ElixirConf2014
Elixir Elevated: The Ups and Downs of OTP at ElixirConf2014
Greg Vaughn1.5K views
Phoenix: Inflame the Web - Alex Troush by Elixir Club
Phoenix: Inflame the Web - Alex TroushPhoenix: Inflame the Web - Alex Troush
Phoenix: Inflame the Web - Alex Troush
Elixir Club673 views
Elixir & Phoenix – fast, concurrent and explicit by Tobias Pfeiffer
Elixir & Phoenix – fast, concurrent and explicitElixir & Phoenix – fast, concurrent and explicit
Elixir & Phoenix – fast, concurrent and explicit
Tobias Pfeiffer5.8K views
Bottleneck in Elixir Application - Alexey Osipenko by Elixir Club
 Bottleneck in Elixir Application - Alexey Osipenko  Bottleneck in Elixir Application - Alexey Osipenko
Bottleneck in Elixir Application - Alexey Osipenko
Elixir Club1K views
Learn Elixir at Manchester Lambda Lounge by Chi-chi Ekweozor
Learn Elixir at Manchester Lambda LoungeLearn Elixir at Manchester Lambda Lounge
Learn Elixir at Manchester Lambda Lounge
Chi-chi Ekweozor1.3K views
Nintendo Case Study by Özge Duman
Nintendo Case StudyNintendo Case Study
Nintendo Case Study
Özge Duman47.8K views

Similar to Phoenix demysitify, with fun

Phoenix for Rails Devs by
Phoenix for Rails DevsPhoenix for Rails Devs
Phoenix for Rails DevsDiacode
1K views66 slides
RubyConf Bangladesh 2017 - Elixir for Rubyists by
RubyConf Bangladesh 2017 - Elixir for RubyistsRubyConf Bangladesh 2017 - Elixir for Rubyists
RubyConf Bangladesh 2017 - Elixir for RubyistsRuby Bangladesh
171 views47 slides
Yurii Bodarev - OTP, Phoenix & Ecto: Three Pillars of Elixir by
Yurii Bodarev - OTP, Phoenix & Ecto: Three Pillars of ElixirYurii Bodarev - OTP, Phoenix & Ecto: Three Pillars of Elixir
Yurii Bodarev - OTP, Phoenix & Ecto: Three Pillars of ElixirElixir Club
1.5K views110 slides
Elixir Into Production by
Elixir Into ProductionElixir Into Production
Elixir Into ProductionJamie Winsor
3.1K views85 slides
Re-Design with Elixir/OTP by
Re-Design with Elixir/OTPRe-Design with Elixir/OTP
Re-Design with Elixir/OTPMustafa TURAN
460 views43 slides
Rails vs Web2py by
Rails vs Web2pyRails vs Web2py
Rails vs Web2pyjonromero
4.3K views25 slides

Similar to Phoenix demysitify, with fun(20)

Phoenix for Rails Devs by Diacode
Phoenix for Rails DevsPhoenix for Rails Devs
Phoenix for Rails Devs
Diacode1K views
RubyConf Bangladesh 2017 - Elixir for Rubyists by Ruby Bangladesh
RubyConf Bangladesh 2017 - Elixir for RubyistsRubyConf Bangladesh 2017 - Elixir for Rubyists
RubyConf Bangladesh 2017 - Elixir for Rubyists
Ruby Bangladesh171 views
Yurii Bodarev - OTP, Phoenix & Ecto: Three Pillars of Elixir by Elixir Club
Yurii Bodarev - OTP, Phoenix & Ecto: Three Pillars of ElixirYurii Bodarev - OTP, Phoenix & Ecto: Three Pillars of Elixir
Yurii Bodarev - OTP, Phoenix & Ecto: Three Pillars of Elixir
Elixir Club1.5K views
Elixir Into Production by Jamie Winsor
Elixir Into ProductionElixir Into Production
Elixir Into Production
Jamie Winsor3.1K views
Re-Design with Elixir/OTP by Mustafa TURAN
Re-Design with Elixir/OTPRe-Design with Elixir/OTP
Re-Design with Elixir/OTP
Mustafa TURAN460 views
Rails vs Web2py by jonromero
Rails vs Web2pyRails vs Web2py
Rails vs Web2py
jonromero4.3K views
Introduction to Elixir by Diacode
Introduction to ElixirIntroduction to Elixir
Introduction to Elixir
Diacode4.5K views
Intro to-rails-webperf by New Relic
Intro to-rails-webperfIntro to-rails-webperf
Intro to-rails-webperf
New Relic459 views
Código Saudável => Programador Feliz - Rs on Rails 2010 by Plataformatec
Código Saudável => Programador Feliz - Rs on Rails 2010Código Saudável => Programador Feliz - Rs on Rails 2010
Código Saudável => Programador Feliz - Rs on Rails 2010
Plataformatec1.1K views
Building Cloud Castles by Ben Scofield
Building Cloud CastlesBuilding Cloud Castles
Building Cloud Castles
Ben Scofield851 views
Introducing Elixir and OTP at the Erlang BASH by devbash
Introducing Elixir and OTP at the Erlang BASHIntroducing Elixir and OTP at the Erlang BASH
Introducing Elixir and OTP at the Erlang BASH
devbash1.7K views
Echtzeitapplikationen mit Elixir und GraphQL by Moritz Flucht
Echtzeitapplikationen mit Elixir und GraphQLEchtzeitapplikationen mit Elixir und GraphQL
Echtzeitapplikationen mit Elixir und GraphQL
Moritz Flucht409 views
An Introduction to Celery by Idan Gazit
An Introduction to CeleryAn Introduction to Celery
An Introduction to Celery
Idan Gazit70.3K views
Phoenix for laravel developers by Luiz Messias
Phoenix for laravel developersPhoenix for laravel developers
Phoenix for laravel developers
Luiz Messias154 views
DDD, CQRS and testing with ASP.Net MVC by Andy Butland
DDD, CQRS and testing with ASP.Net MVCDDD, CQRS and testing with ASP.Net MVC
DDD, CQRS and testing with ASP.Net MVC
Andy Butland7.7K views
Tools for Making Machine Learning more Reactive by Jeff Smith
Tools for Making Machine Learning more ReactiveTools for Making Machine Learning more Reactive
Tools for Making Machine Learning more Reactive
Jeff Smith134 views
Models, controllers and views by priestc
Models, controllers and viewsModels, controllers and views
Models, controllers and views
priestc291 views
How to disassemble one monster app into an ecosystem of 30 by fiyuer
How to disassemble one monster app into an ecosystem of 30How to disassemble one monster app into an ecosystem of 30
How to disassemble one monster app into an ecosystem of 30
fiyuer311 views
Refactoring @ Mindvalley: Smells, Techniques and Patterns by Tristan Gomez
Refactoring @ Mindvalley: Smells, Techniques and PatternsRefactoring @ Mindvalley: Smells, Techniques and Patterns
Refactoring @ Mindvalley: Smells, Techniques and Patterns
Tristan Gomez319 views
Osiąganie mądrej architektury z Symfony2 by 3camp
Osiąganie mądrej architektury z Symfony2 Osiąganie mądrej architektury z Symfony2
Osiąganie mądrej architektury z Symfony2
3camp692 views

Recently uploaded

20231123_Camunda Meetup Vienna.pdf by
20231123_Camunda Meetup Vienna.pdf20231123_Camunda Meetup Vienna.pdf
20231123_Camunda Meetup Vienna.pdfPhactum Softwareentwicklung GmbH
50 views73 slides
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...ShapeBlue
146 views15 slides
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineShapeBlue
181 views19 slides
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...ShapeBlue
117 views25 slides
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...Bernd Ruecker
50 views69 slides
"Surviving highload with Node.js", Andrii Shumada by
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada Fwdays
53 views29 slides

Recently uploaded(20)

Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ... by ShapeBlue
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
Backroll, News and Demo - Pierre Charton, Matthias Dhellin, Ousmane Diarra - ...
ShapeBlue146 views
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online by ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue181 views
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue117 views
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas... by Bernd Ruecker
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
iSAQB Software Architecture Gathering 2023: How Process Orchestration Increas...
Bernd Ruecker50 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays53 views
Future of AR - Facebook Presentation by Rob McCarty
Future of AR - Facebook PresentationFuture of AR - Facebook Presentation
Future of AR - Facebook Presentation
Rob McCarty62 views
Digital Personal Data Protection (DPDP) Practical Approach For CISOs by Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash153 views
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti... by ShapeBlue
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
DRaaS using Snapshot copy and destination selection (DRaaS) - Alexandre Matti...
ShapeBlue98 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc160 views
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ by ShapeBlue
Confidence in CloudStack - Aron Wagner, Nathan Gleason - AmericConfidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
Confidence in CloudStack - Aron Wagner, Nathan Gleason - Americ
ShapeBlue88 views
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue by ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlueElevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
Elevating Privacy and Security in CloudStack - Boris Stoyanov - ShapeBlue
ShapeBlue179 views
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue197 views
The Role of Patterns in the Era of Large Language Models by Yunyao Li
The Role of Patterns in the Era of Large Language ModelsThe Role of Patterns in the Era of Large Language Models
The Role of Patterns in the Era of Large Language Models
Yunyao Li80 views
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue by ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlueMigrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
Migrating VMware Infra to KVM Using CloudStack - Nicolas Vazquez - ShapeBlue
ShapeBlue176 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue85 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue123 views
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue by ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlueWhat’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
What’s New in CloudStack 4.19 - Abhishek Kumar - ShapeBlue
ShapeBlue222 views
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... by ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue120 views

Phoenix demysitify, with fun