The Rise of Mobility

The Rise
of
Mobility
Guido
Nebiolo
Matteo
Madeddu
- Il Problema
- La Soluzione
  - Core
  - API
- Sviluppi
- Q&A
Il Problema
Questo è … {{your_name}}
Matteo viaggia molto
Non è troppo in forma
Non è troppo in forma
E’ sempre nelle curve
Lancia spesso npm i
In pratica, Matteo
ha un po’ di guai da risolvere
??
In pratica, Matteo
ha un po’ di guai da risolvere
!!!
Idea: portable code
environment in cloud!
Idea: portable code
environment in cloud!
Idea: portable code
environment in cloud!
e IoT Button
come laptop
!!!
La soluzione
ImplementazioneSoluzione
CoreAPIButton
The Rise of Mobility
The Rise of Mobility
The Rise of Mobility
The Rise of Mobility
The Rise of Mobility
!!!
La soluzione
Core
ImplementazioneSoluzione
CoreAPIButton
github.com/cdr/code-server
Visual Code Studio - Server
Creazione dell’ambiente
di sviluppo
MyCodeServerInstance:
Type: "AWS::EC2::Instance"
Properties:
ImageId: String # OS image to run on instance
InstanceType: String # CPU, Ram, network, etc
KeyName: String # KeyPair name
SubnetId: String # Subnet ID
UserData: String # Run commands
MeteData: String # cfn-init
Volumes: # Volume attached
- Volume
Step 1: Creazione Della Macchina
Step 2: Configurazione
dell’Ambiente di Sviluppo
  UserData: # UserData section
    !Base64:
      !Join: # Steps to run the init session
        - ""
        - - "#!/bin/bash -xen"
          - "/opt/aws/bin/cfn-init -v "
          - "         --stack "
          - !Ref AWS::StackName
          - "         --resource CodeServerPublicInstance"
          - "         --configsets end-to-end"
          - "         --region "
          - !Ref AWS::Region
          - "n"
  Metadata: # MetaData section
    AWS::CloudFormation::Init:
      configSets:
        end-to-end:
          - Install # Steps to install packages
          - Setup # Steps to setup development environment
          - Service # Steps to run the service     
Install:
        packages:
          yum:
            docker: [] # Install base packages
            wget: []
            gzip: []
            git: []
……
# Steps to setup development environment
……
Setup:
   # Retrieve of secrets from AWS vault
files:
     "/etc/pki/CA/private/cert1.pem":
       content:
         Fn::Join:
           - ""
           - - ""
             - !Ref CertificateParameterName
      mode: "000600"
       owner: root
       group: root
  
   "/etc/pki/CA/private/privkey1.pem":
       content:
         Fn::Join:
           - ""
           - - ""
             - !Ref PrivateKeyParameterName
      mode: "000600"
       owner: root
       group: root
# Steps to setup development environment
……
Setup:
……
# Commands to install environment
commands:
020-wget:
   command: wget https://github.com/cdr/code-server/releases/
download/1.1156-vsc1.33.1/code-server1.1156-vsc1.33.1-linux-
x64.tar.gz
    cwd: “~"
  030-untar-cleanup:
    command: tar -xvzf code-server1.1156-vsc1.33.1-linux-
x64.tar.gz && cp code-server1.1156-vsc1.33.1-linux-x64/code-
server /usr/bin/ && rm -rf code-server1.1156-vsc1.33.1-linux-
x64*
    cwd: “~"
   040-chmod-bin:
   command: chmod +x /usr/bin/code-server
     cwd: "~"
……
Step 3: Accesso Web
Parametri
- Chiavi SSH
- Configurazione Certificati
- Password di Accesso
- Domini
- Volumi
Un volume
Più volumi
workspace:/
project A
workspace:/
project B
workspace:/
project C
Diversi progetti
workspace:/
customer 1
workspace:/
customer 2
workspace:/
customer 3
Diversi clienti
small type:/
dev env
medium type:/
test env
data type:/
prod env
Diversi scopi
small type:/
dev env
medium type:/
test env
data type:/
prod env
Diversi scopi
La soluzione
API
ImplementazioneSoluzione
CoreAPIButton
ImplementazioneSoluzione
CoreAPIButton
ImplementazioneSoluzione
CoreAPIButton
API
Demo!
Questo è … SAM
……
Resources:
   API:
     Type: AWS::Serverless::Api
     Properties:
       StageName: !Ref Stage
       Auth:
         DefaultAuthorizer: AWS_IAM
         InvokeRole: NONE
  Microservice:
     Type: AWS::Serverless::Function
     Properties:
       CodeUri: MicroserviceAPI/
       Handler: index.handler
       Runtime: nodejs10.x
……
Lambda Button
def launch_stack(configuration_item):
    stackdata = None
    # fingers crossed
    try:
        # generate a `minimum_password_length` random password if not 
# defined in configuration item parameter
        configuration_item["app_password"] = "".join(
            random.choices(string.ascii_letters + string.digits, 
k=minimum_password_length)) 
            if "app_password" not in configuration_item.keys() 
            else configuration_item["app_password"]
        # map configuration item parameters to stack parameters
        parameters = list(map(lambda x: {
            "ParameterKey": f"{snake_to_camelcase(x)[0].upper()}
{snake_to_camelcase(x)[1:]}",
            "ParameterValue": configuration_item[x]
        }, configuration_item.keys()))
        response = microservice_api.create_environment(parameters)
        stackdata = response.text
    except Exception as e:
        logging.error(str(e))
    return stackdata
Lambda API
Lambda API
github.com/jeremydaly/lambda-api
const api = require('lambda-api')();
const _ = require('lodash')
const stackLib = require('./stack')
api.post('/environments', async (req, res) => {
  // Check if a body is provided
  if (req.body === undefined || req.body == “")
throw Error("No required stack parameters specified.");
  // Isolate required UserId property and throw error if not defined
  var userId = _.get(_.find(req.body, (parameter) => 
parameter.ParameterKey == "UserId"), "ParameterValue", undefined);
  if (userId === undefined || userId == “")
throw Error("No user id specified.");
  return await stackLib.createStack(userId, req.body);
})
api.delete('/environments/:environment', async (req, res) => {
  return await stackLib.deleteStack(req.params.environment);
})
api.get('/environments/:environment', async (req, res) => {
  result = await stackLib.getStack(req.params.environment);
  if (condition) res.error(404, 'Not found’);
  else return result;
})
module.exports = api
Demo
Sviluppi
Frontend per amministrazione
Chatbot & Multitenancy
github.com/made2591/fullstackconf19
Codice, materiali, slide
Guido
Nebiolo
Matteo
Madeddu
Grazie
Q & A
1 of 62

Recommended

GPU Programming: Chicago CocoaConf 2015 by
GPU Programming: Chicago CocoaConf 2015GPU Programming: Chicago CocoaConf 2015
GPU Programming: Chicago CocoaConf 2015Janie Clayton
951 views59 slides
GPU Programming: CocoaConf Atlanta by
GPU Programming: CocoaConf AtlantaGPU Programming: CocoaConf Atlanta
GPU Programming: CocoaConf AtlantaJanie Clayton
772 views58 slides
Engineering muscle training interface by
Engineering muscle training interfaceEngineering muscle training interface
Engineering muscle training interfacerina0521
520 views47 slides
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs... by
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...
Von JavaEE auf Microservice in 6 Monaten - The Good, the Bad, and the wtfs...André Goliath
653 views68 slides
You can build anything (Anita Borg 2011) by
You can build anything (Anita Borg 2011)You can build anything (Anita Borg 2011)
You can build anything (Anita Borg 2011)jmcgill_slideshare
252 views30 slides
Node azure by
Node azureNode azure
Node azureEmanuele DelBono
1.6K views66 slides

More Related Content

Similar to The Rise of Mobility

All aboard the NodeJS Express by
All aboard the NodeJS ExpressAll aboard the NodeJS Express
All aboard the NodeJS ExpressDavid Boyer
11.3K views41 slides
Overview Of Parallel Development - Ericnel by
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnelukdpe
1.2K views38 slides
C# Powered Robots, C# Powered Mobile Apps by
C# Powered Robots, C# Powered Mobile AppsC# Powered Robots, C# Powered Mobile Apps
C# Powered Robots, C# Powered Mobile AppsJames Montemagno
1.8K views25 slides
Js foo - Sept 8 upload by
Js foo - Sept 8 uploadJs foo - Sept 8 upload
Js foo - Sept 8 uploadDebnath Sinha
555 views64 slides
Mist.io @ AWSUGGR by
Mist.io @ AWSUGGRMist.io @ AWSUGGR
Mist.io @ AWSUGGRunweb.me
1.1K views20 slides
DevOps meetup 16oct docker and jenkins by
DevOps meetup 16oct docker and jenkinsDevOps meetup 16oct docker and jenkins
DevOps meetup 16oct docker and jenkinsBenoit Wilcox
3.8K views42 slides

Similar to The Rise of Mobility(20)

All aboard the NodeJS Express by David Boyer
All aboard the NodeJS ExpressAll aboard the NodeJS Express
All aboard the NodeJS Express
David Boyer11.3K views
Overview Of Parallel Development - Ericnel by ukdpe
Overview Of Parallel Development -  EricnelOverview Of Parallel Development -  Ericnel
Overview Of Parallel Development - Ericnel
ukdpe1.2K views
C# Powered Robots, C# Powered Mobile Apps by James Montemagno
C# Powered Robots, C# Powered Mobile AppsC# Powered Robots, C# Powered Mobile Apps
C# Powered Robots, C# Powered Mobile Apps
James Montemagno1.8K views
Mist.io @ AWSUGGR by unweb.me
Mist.io @ AWSUGGRMist.io @ AWSUGGR
Mist.io @ AWSUGGR
unweb.me1.1K views
DevOps meetup 16oct docker and jenkins by Benoit Wilcox
DevOps meetup 16oct docker and jenkinsDevOps meetup 16oct docker and jenkins
DevOps meetup 16oct docker and jenkins
Benoit Wilcox3.8K views
Don't Over-React - just use Vue! by Raymond Camden
Don't Over-React - just use Vue!Don't Over-React - just use Vue!
Don't Over-React - just use Vue!
Raymond Camden2.6K views
Docker in development (Story) by Quan Nguyen
Docker in development (Story)Docker in development (Story)
Docker in development (Story)
Quan Nguyen611 views
Building Product from ground up using Open Source Technologies by Amit Goel
Building Product from ground up using Open Source TechnologiesBuilding Product from ground up using Open Source Technologies
Building Product from ground up using Open Source Technologies
Amit Goel778 views
ngServer and-collaboratived-development-between-san-francisco-and-tokyo by Satoshi Tanaka
ngServer and-collaboratived-development-between-san-francisco-and-tokyongServer and-collaboratived-development-between-san-francisco-and-tokyo
ngServer and-collaboratived-development-between-san-francisco-and-tokyo
Satoshi Tanaka10.5K views
Exploring the Internet of Things Using Ruby by Mike Hagedorn
Exploring the Internet of Things Using RubyExploring the Internet of Things Using Ruby
Exploring the Internet of Things Using Ruby
Mike Hagedorn2.5K views
Modular Web Applications With Netzke by netzke
Modular Web Applications With NetzkeModular Web Applications With Netzke
Modular Web Applications With Netzke
netzke1.1K views
Full stack development in Go by Yves Junqueira
Full stack development in GoFull stack development in Go
Full stack development in Go
Yves Junqueira1.2K views
Virtualization and Cloud Computing with Elastic Server On Demand by Yan Pritzker
Virtualization and Cloud Computing with Elastic Server On DemandVirtualization and Cloud Computing with Elastic Server On Demand
Virtualization and Cloud Computing with Elastic Server On Demand
Yan Pritzker33.5K views
AngularJS preso with directives and route resolve by Brent Goldstein
AngularJS preso with directives and route resolveAngularJS preso with directives and route resolve
AngularJS preso with directives and route resolve
Brent Goldstein4.1K views
O futuro do desenvolvimento .NET by Rodrigo Kono
O futuro do desenvolvimento .NETO futuro do desenvolvimento .NET
O futuro do desenvolvimento .NET
Rodrigo Kono2.4K views
MVP Mix 2015 Leveraging MVVM on all Platforms by James Montemagno
MVP Mix 2015  Leveraging MVVM on all PlatformsMVP Mix 2015  Leveraging MVVM on all Platforms
MVP Mix 2015 Leveraging MVVM on all Platforms
James Montemagno832 views
NanoSec Conference 2019: Code Execution Analysis in Mobile Apps - Abdullah Jo... by Hafez Kamal
NanoSec Conference 2019: Code Execution Analysis in Mobile Apps - Abdullah Jo...NanoSec Conference 2019: Code Execution Analysis in Mobile Apps - Abdullah Jo...
NanoSec Conference 2019: Code Execution Analysis in Mobile Apps - Abdullah Jo...
Hafez Kamal155 views
IoT Development from Software Developer Perspective by Andri Yadi
IoT Development from Software Developer PerspectiveIoT Development from Software Developer Perspective
IoT Development from Software Developer Perspective
Andri Yadi2.1K views

Recently uploaded

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
154 views19 slides
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...ShapeBlue
128 views20 slides
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...ShapeBlue
113 views18 slides
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...ShapeBlue
120 views62 slides
The Power of Heat Decarbonisation Plans in the Built Environment by
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built EnvironmentIES VE
67 views20 slides
Microsoft Power Platform.pptx by
Microsoft Power Platform.pptxMicrosoft Power Platform.pptx
Microsoft Power Platform.pptxUni Systems S.M.S.A.
74 views38 slides

Recently uploaded(20)

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
ShapeBlue154 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue128 views
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha... by ShapeBlue
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
Mitigating Common CloudStack Instance Deployment Failures - Jithin Raju - Sha...
ShapeBlue113 views
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue120 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE67 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 ...
ShapeBlue52 views
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N... by James Anderson
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
GDG Cloud Southlake 28 Brad Taylor and Shawn Augenstein Old Problems in the N...
James Anderson142 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue48 views
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T by ShapeBlue
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&TCloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
CloudStack and GitOps at Enterprise Scale - Alex Dometrius, Rene Glover - AT&T
ShapeBlue81 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
ShapeBlue149 views
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 - ...
ShapeBlue121 views
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue by ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlueCloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
CloudStack Managed User Data and Demo - Harikrishna Patnala - ShapeBlue
ShapeBlue68 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...
ShapeBlue86 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
ShapeBlue147 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...
ShapeBlue93 views
Igniting Next Level Productivity with AI-Infused Data Integration Workflows by Safe Software
Igniting Next Level Productivity with AI-Infused Data Integration Workflows Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Safe Software373 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
Fwdays49 views
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool by ShapeBlue
Extending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPoolExtending KVM Host HA for Non-NFS Storage -  Alex Ivanov - StorPool
Extending KVM Host HA for Non-NFS Storage - Alex Ivanov - StorPool
ShapeBlue56 views
DRBD Deep Dive - Philipp Reisner - LINBIT by ShapeBlue
DRBD Deep Dive - Philipp Reisner - LINBITDRBD Deep Dive - Philipp Reisner - LINBIT
DRBD Deep Dive - Philipp Reisner - LINBIT
ShapeBlue110 views

The Rise of Mobility