SlideShare una empresa de Scribd logo
1 de 37
Descargar para leer sin conexión
Smalltalk in the Cloud
ESUG 2012, Friday, 31 August 2012, 11:15 – 11:45 AM, Gent, Belgium
James Foster, Sr. Member Technical Staff, VMware




                                                               © 2009 VMware Inc. All rights reserved
Abstract

Cloud Foundry is the open "Platform as a Service" (PaaS) project
initiated by VMware. It can support multiple frameworks, multiple
cloud providers, and multiple application services all on a cloud
scale platform.
In this presentation we show how Smalltalk can fit in this
environment.
Agenda

Overview of Cloud Foundry (corporate marketing slides)
Smalltalk use described with demo
Experience report from Tim Felgentreff at HPI




                          VMware
Hosting Options

What is provided by vendor:

   Type             Utilities    Hardware       Stack     Applications
   Self-hosting
   Data center         
   IaaS                            
   PaaS                                        
   SaaS                                                     

Utilities: Network, power, A/C
Hardware: CPU, RAM, disk
Stack: operating system, web server, database, runtime, framework
Application: this is the programmer's concern
Introducing Cloud FoundryTM
The Open Platform as a Service




March 2012   www.cloudfoundry.com
                                    © 2009 VMware Inc. All rights reserved
The Open
            Platform as a Service

     Deploy and scale applications in
    seconds, without locking yourself
           into a single cloud




6
What if…




      $ vmc target <any cloud>

      $ vmc push <my-app>

           > bind services? Yes

      $ vmc instances <my-app> +100




7
Cloud Foundry open Platform as a Service

The PaaS of choice for the Cloud era

Simple
    • Lets developers focus on their code and not wiring middleware


Open
    • Avoid lock-in to specific cloud, frameworks or service
    • Completely open source from day one


Flexible and Scalable
    • Self service, deploy and scale your applications in seconds
    • Extensible architecture to “digest” future cloud innovation



8
Cloud Foundry – key audiences
            IT Developers                                IT Operations
         “Write code, not tickets”                   “IT as a service provider”




                                       Boost
                                     application
                                      velocity




   Friction-free deployment                      More responsive to developers
   No machines or middleware to manage           Elastic and dynamically scalable
   Latest high productivity frameworks           Improved efficiency
   Choice of application services                Digest future cloud advances
   Cloud portability                             Cloud portability


    9
Cloud Foundry open PaaS - Choice of frameworks

                                            OSS community




10
Cloud Foundry open PaaS - Choice of application services




vFabric
Postgres
              Data
              Services



       vFabric
       RabbitMQTM        Msg
                         Services




                                     Other
                                    Services

              Additional partners
              services …


  11
Cloud Foundry open PaaS - Choice of clouds




       Data                                           Private
       Services
                                                      Clouds


                  Msg                            Public
                  Services
                                                 Clouds          Partners

                                                                .COM
                              Other     Micro
                             Services   Clouds



12
Multi-cloud flexibility is critical to your long-term success

 Make use of both public and private clouds without rewriting your
    applications
   Protect against vendor lock-in
   Meet different compliance and geographical needs
   Accommodate peak loads while optimizing costs
   Manage your growth and changing needs over time




13
Cloud Foundry: Making multi-cloud a reality


 Choice of Private     Choice of Public       Choice of Cloud
Cloud Distributions    Cloud Providers         Infrastructure




                           .COM




                                                 Bare metal




14
CloudFoundry.COM - Multi-tenant PaaS operated by VMware

                      CloudFoundry.COM (beta)

     Runtimes & Frameworks

     Services

                          vCenter / vSphere




     Infrastructure




15
Micro Cloud FoundryTM – Industry first downloadable PaaS

                          Micro Cloud Foundry

      Runtimes & Frameworks

      Services

                             Your Laptop/PC



     Single VM instance of
     Cloud Foundry
     that runs on a developer’s
     MAC or PC




16
CloudFoundry.ORG - Community open-source project

                        CloudFoundry.ORG




                          Your Infrastructure

     Download           Setup              Setup     Deploy Behind
       Code          Environment           Scripts     Firewall




           Apache2
           license


17
Cloud Foundry Logical View



                                            Browser
     VMC client   STS plugin
                                            (user app access)



     Routers


     CloudControllers          App        App

                                                   HealthManager
     Services                  DEA Pool



     Messaging


18
How Apps are Accessed on Cloud Foundry

               Request                      Web Interface
  Load
  Balancing
  and                         Response
  Routing




      Web
      App

App Instance


                     DB                  “vmc push MyApp”
                    Service


 19
How Apps are Scaled on Cloud Foundry

                 Request
     Load
     Balancing
                                   Response
     and
     Routing

                   App Instances

      Web        Web         Web
      App        App         App




                        DB                “vmc instances MyApp 3”
                       Service


20
How Apps are Updated on Cloud Foundry


     Previous      Instance     Updated    New
     Version       Stopped      Code       Version

      Web             Web        Web        Web
      App             App        App        App




                 DB                                   DB

                Service                              Service


                      “vmc update MyApp”

21
Create a Trivial Ruby Application

 In a new directory, create 'env.rb':
require 'rubygems'
require 'sinatra'
configure do
 disable :protection
end
get '/' do
 host = ENV['VMC_APP_HOST']
 port = ENV['VMC_APP_PORT']
 "<h1>Hello ESUG! via: #{host}:#{port}</h1>"
end
get '/env' do
 res = ''
 ENV.each do |k, v|
      res << "#{k}: #{v}<br/>"
 end
 res
end

23
Deploy the Ruby Application

 Try the application locally
  • ruby env.rb
 Push the application to the cloud (with a unique name):
  • vmc push MYAPP -n
 View the application:
  • http://myapp.smalltalkcon.org and http://myapp.smalltalkcon.org/env
 Increase the number of instances:
  • vmc instances MYAPP +1
 View the application again and note differences
  • Port number and directory may change
 Delete your application:
  • vmc delete MYAPP



24
Push Process
Creating Application: OK
Uploading Application:
  Checking for available resources: OK
  Packing application: OK
  Uploading (0K): OK
Push Status: OK
Staging Application 'james-ruby': OK
Starting Application 'james-ruby': OK

         Laptop with
          vmc and               Server with
         application         Cloud Foundry at
                             *.smalltalkcon.org




25
Server Architecture

                                        VMC Client            Web Browsers


                        Router / Firewall / Proxy Server at 64.20.104.5 (*.smalltalkcon.org)


                         Router
                             Ruby
                          Application
     Cloud Controller




                          Instance(s)
                            Droplet
                           Execution
                             Agent

                          Health Mgr
          w2s2-gst-cf1



26
Adding Smalltalk to Cloud Foundry

                                                                                  Smalltalk




       Data                                                             Private
       Services
                                                                        Clouds
GemStone
                  Msg                                          Public
                  Services
                                                               Clouds

                              Other                   Micro
                             Services                 Clouds

                                        Smalltalk image from http://www.freudenbergs.de/bert/balloon.html

27
Support for "Traditional" Programming Model

 Ruby
 • Interpreter works with text files
 • Application code "includes" external libraries
 • Frameworks (Rails, Sinatra) can be pre-loaded on server
 Java / Scala / Groovy
 • Runtime VM works with "jar" files
 • Application code "includes" external libraries
 • Frameworks (Spring, Lift, Grails) can be pre-loaded on server


 How is Smalltalk different?
 • Let me count the ways!
 • Monolithic image with full application and framework



28
Smalltalk can Fit!

 Code can exist outside image
 • Package or file-in
 Push
 • Ship "code" to server during push phase
 • All files under a root directory are sent to server
 Staging
 • Launch Smalltalk, load code into image, and save image
 Starting
 • Launch saved image
 • Determine port on which to listen (environment variable or command line)
 • Start HTTP server on designated port
 Consider a Pharo application
 • Same ideas should work with Squeak, Cincom Smalltalk, and VA Smalltalk


29
Client file structure

 app/
    • aida.st
   Aida.changes
   Aida.image
   PharoDebug.log
   PharoV10.sources -> …
   start*
    • open -a /…/CogVM.app/ --args Aida.image start.st $VCAP_APP_PORT

 start.st
    | file contents |
    FileDirectory setDefaultDirectory:
     (FileDirectory default entryAt: 'app') asFileDirectory fullName.
    file := FileStream readOnlyFileNamed: 'aida.st'.
    contents := file contentsOfEntireFile.
    Compiler evaluate: contents.

30
Special File in Application Directory: aida.st
| portString |
portString := SmalltalkImage current getSystemAttribute: 3.
(portString isNil or: [portString isEmpty])
     ifTrue: [portString := '8888'].
AIDASite default
  stop;
     port: portString asNumber;
     start.
Author fullName: 'CloudFoundry'.
WebDemoApp compile: 'introductionElement
     | e |
     e := WebElement new.
     e addText: self observee introduction.
     e addText: ''<p>Listening on port: '' ,
      session parent site port printString , ''</p>''.
     ^e'.
31
Changes to Cloud Foundry for Aida

 VMC
 • Add Aida to list of supported frameworks
 • Auto-detect 'aida.st' as indicating Aida framework and CogVM runtime
 VCAP (Cloud Foundry Server)
 • Chef scripts to download and install CogVM and Aida one-click image
 • Staging code to install code and save as new image
 • Startup code to change listening port




32
GemStone and Cloud Foundry

 Cloud Foundry Services
 • MySQL, MongoDB, Redis
 • GemStone/S maps reasonably well to these services
 Runtime & Framework
 • Topaz is the command-line executable
 • Support for file-in scripts
 • Startup needs to do lazy-initialization
     • Don't install code if it is already present
 Changes to VMC for GemStone
 • vmc-stic is modified to recognize a Topaz application
     • Look for main.tpz in deployment directory
     • Other files will be copied to server as well (e.g., *.mcz)




33
Server Architecture

                                        VMC Client            Web Browsers


                        Router / Firewall / Proxy Server at 64.20.104.5 (*.smalltalkcon.org)


                         Router
                             Ruby                Topaz            Topaz        GemStone
     Cloud Controller




                          Application          Application     Application     Database
                          Instance(s)          Instance(s)     Instance(s)      Server
                            Droplet
                           Execution             Droplet        Droplet
                             Agent              Execution      Execution
                                                  Agent          Agent
                          Health Mgr
         w2s2-gst-cf1                            w2s2-           w2s2-           w2s2-
                                                 gst-cf2         gst-cf3         gst-cf4



34
Micro Cloud

 Develop application locally
 Deploy it to a public cloud
 Intermediate step of testing deployment to a private cloud
 • You have better access to logs to debug problems!




39
Experience Report

 HPI students build Seaside applications in lecture
 Internal Cloud Foundry setup for students to show their projects
 • Described at http://blog.bithug.org/2012/02/cloud-foundry-squeak
 • Cloud Foundry code at https://github.com/timfel/vcap
 • Squeak code at http://ss3.gemstone.com/ss/CloudFoundry.html
 Will be promoted for all students in upcoming Seaside lecture




40
Key takeaways


 PaaS is the application platform for the Cloud era
 Cloud Foundry is the simple, open and flexible PaaS of choice

 What’s next?
 • Signup - www.cloudfoundry.com
 • Get the source code - www.cloudfoundry.org
 • Download your Micro Cloud Foundry – my.cloudfoundry.com/micro
 • Learn more on the Cloud Foundry blog - blog.cloudfoundry.com
 • Follow us - @cloudfoundry




41
Thanks & Questions?

 Thanks to
 •   Dale Henrichs, Peter McLean, and Monty Williams of VMware
 •   John Thornton (JonnyT) for the vmc-stic Ruby Gem and for testing things
 •   Norm Green and VMware for the opportunity to work on this project
 •   Tim Felgentreff of HPI


 Contact info for James Foster
 • jfoster@vmware.com
 • http://programminggems.wordpress.com/




42

Más contenido relacionado

La actualidad más candente

Unlock the Cloud: Building a Vendor Independent Private Cloud
Unlock the Cloud: Building a Vendor Independent Private CloudUnlock the Cloud: Building a Vendor Independent Private Cloud
Unlock the Cloud: Building a Vendor Independent Private CloudAbiquo, Inc.
 
Onboarding For Public Private And Hybrid Clouds Aws 30.04.09
Onboarding For Public Private And Hybrid Clouds Aws 30.04.09Onboarding For Public Private And Hybrid Clouds Aws 30.04.09
Onboarding For Public Private And Hybrid Clouds Aws 30.04.09Chris Purrington
 
Deep dive: Citrix CloudPlatform for Infrastructure as a Service
Deep dive: Citrix CloudPlatform for Infrastructure as a ServiceDeep dive: Citrix CloudPlatform for Infrastructure as a Service
Deep dive: Citrix CloudPlatform for Infrastructure as a ServiceCitrix
 
MS TechDays 2011 - SCVMM 2012 Building of Private Clouds and Federation to th...
MS TechDays 2011 - SCVMM 2012 Building of Private Clouds and Federation to th...MS TechDays 2011 - SCVMM 2012 Building of Private Clouds and Federation to th...
MS TechDays 2011 - SCVMM 2012 Building of Private Clouds and Federation to th...Spiffy
 
The sky's the limit
The sky's the limitThe sky's the limit
The sky's the limitIvan Zoratti
 
The Sirocco multi-cloud management framework, OW2con'12, Paris
The Sirocco multi-cloud management framework, OW2con'12, ParisThe Sirocco multi-cloud management framework, OW2con'12, Paris
The Sirocco multi-cloud management framework, OW2con'12, ParisOW2
 
9 dani künzli citrix cloud solution 2
9 dani künzli citrix cloud solution 29 dani künzli citrix cloud solution 2
9 dani künzli citrix cloud solution 2Digicomp Academy AG
 
ITCamp 2012 - Tudor Damian - Private Cloud with Hyper-V 3 and SCVMM 2012
ITCamp 2012 - Tudor Damian - Private Cloud with Hyper-V 3 and SCVMM 2012ITCamp 2012 - Tudor Damian - Private Cloud with Hyper-V 3 and SCVMM 2012
ITCamp 2012 - Tudor Damian - Private Cloud with Hyper-V 3 and SCVMM 2012ITCamp
 
Vmware 虚拟花技术作为云计算的平台
Vmware 虚拟花技术作为云计算的平台Vmware 虚拟花技术作为云计算的平台
Vmware 虚拟花技术作为云计算的平台George Ang
 
Mon1420 build clouds-oliviermaes-citrix
Mon1420 build clouds-oliviermaes-citrixMon1420 build clouds-oliviermaes-citrix
Mon1420 build clouds-oliviermaes-citrixeurocloud
 
VMware DRS: Why You Still Need Assured Application Delivery and Application D...
VMware DRS: Why You Still Need Assured Application Delivery and Application D...VMware DRS: Why You Still Need Assured Application Delivery and Application D...
VMware DRS: Why You Still Need Assured Application Delivery and Application D...FindWhitePapers
 
Softchoice Webinar Series: VMware vSphere 5.1 Changes
Softchoice Webinar Series: VMware vSphere 5.1 ChangesSoftchoice Webinar Series: VMware vSphere 5.1 Changes
Softchoice Webinar Series: VMware vSphere 5.1 ChangesSoftchoice Corporation
 
Christian ferber cloud platform_cloudportal
Christian ferber cloud platform_cloudportalChristian ferber cloud platform_cloudportal
Christian ferber cloud platform_cloudportalDigicomp Academy AG
 
Cf intro for spring devs
Cf intro for spring devsCf intro for spring devs
Cf intro for spring devsEric Bottard
 
Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...
Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...
Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...CloudOps Summit
 

La actualidad más candente (20)

Unlock the Cloud: Building a Vendor Independent Private Cloud
Unlock the Cloud: Building a Vendor Independent Private CloudUnlock the Cloud: Building a Vendor Independent Private Cloud
Unlock the Cloud: Building a Vendor Independent Private Cloud
 
Onboarding For Public Private And Hybrid Clouds Aws 30.04.09
Onboarding For Public Private And Hybrid Clouds Aws 30.04.09Onboarding For Public Private And Hybrid Clouds Aws 30.04.09
Onboarding For Public Private And Hybrid Clouds Aws 30.04.09
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Deep dive: Citrix CloudPlatform for Infrastructure as a Service
Deep dive: Citrix CloudPlatform for Infrastructure as a ServiceDeep dive: Citrix CloudPlatform for Infrastructure as a Service
Deep dive: Citrix CloudPlatform for Infrastructure as a Service
 
MS TechDays 2011 - SCVMM 2012 Building of Private Clouds and Federation to th...
MS TechDays 2011 - SCVMM 2012 Building of Private Clouds and Federation to th...MS TechDays 2011 - SCVMM 2012 Building of Private Clouds and Federation to th...
MS TechDays 2011 - SCVMM 2012 Building of Private Clouds and Federation to th...
 
The sky's the limit
The sky's the limitThe sky's the limit
The sky's the limit
 
The Sirocco multi-cloud management framework, OW2con'12, Paris
The Sirocco multi-cloud management framework, OW2con'12, ParisThe Sirocco multi-cloud management framework, OW2con'12, Paris
The Sirocco multi-cloud management framework, OW2con'12, Paris
 
9 dani künzli citrix cloud solution 2
9 dani künzli citrix cloud solution 29 dani künzli citrix cloud solution 2
9 dani künzli citrix cloud solution 2
 
ITCamp 2012 - Tudor Damian - Private Cloud with Hyper-V 3 and SCVMM 2012
ITCamp 2012 - Tudor Damian - Private Cloud with Hyper-V 3 and SCVMM 2012ITCamp 2012 - Tudor Damian - Private Cloud with Hyper-V 3 and SCVMM 2012
ITCamp 2012 - Tudor Damian - Private Cloud with Hyper-V 3 and SCVMM 2012
 
Blue mix and cloudone jazz vpc
Blue mix and cloudone jazz vpcBlue mix and cloudone jazz vpc
Blue mix and cloudone jazz vpc
 
Vmware 虚拟花技术作为云计算的平台
Vmware 虚拟花技术作为云计算的平台Vmware 虚拟花技术作为云计算的平台
Vmware 虚拟花技术作为云计算的平台
 
Mon1420 build clouds-oliviermaes-citrix
Mon1420 build clouds-oliviermaes-citrixMon1420 build clouds-oliviermaes-citrix
Mon1420 build clouds-oliviermaes-citrix
 
VMware DRS: Why You Still Need Assured Application Delivery and Application D...
VMware DRS: Why You Still Need Assured Application Delivery and Application D...VMware DRS: Why You Still Need Assured Application Delivery and Application D...
VMware DRS: Why You Still Need Assured Application Delivery and Application D...
 
Datacenter Virtual powered by Colt
Datacenter Virtual powered by ColtDatacenter Virtual powered by Colt
Datacenter Virtual powered by Colt
 
Softchoice Webinar Series: VMware vSphere 5.1 Changes
Softchoice Webinar Series: VMware vSphere 5.1 ChangesSoftchoice Webinar Series: VMware vSphere 5.1 Changes
Softchoice Webinar Series: VMware vSphere 5.1 Changes
 
Vr storm cips_03nov2010
Vr storm cips_03nov2010Vr storm cips_03nov2010
Vr storm cips_03nov2010
 
Christian ferber cloud platform_cloudportal
Christian ferber cloud platform_cloudportalChristian ferber cloud platform_cloudportal
Christian ferber cloud platform_cloudportal
 
V fabric overview
V fabric overviewV fabric overview
V fabric overview
 
Cf intro for spring devs
Cf intro for spring devsCf intro for spring devs
Cf intro for spring devs
 
Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...
Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...
Windows Azure: Verbinden, erweitern, integrieren Sie ihr Firmennetzwerk in di...
 

Destacado

2009.10 Wykorzystanie Poczty Elektronicznej - raport SARE
2009.10 Wykorzystanie Poczty Elektronicznej - raport SARE2009.10 Wykorzystanie Poczty Elektronicznej - raport SARE
2009.10 Wykorzystanie Poczty Elektronicznej - raport SAREARBOinteractive Polska
 
Las Ventajas del telefono Behold 2
Las Ventajas del telefono Behold 2Las Ventajas del telefono Behold 2
Las Ventajas del telefono Behold 2adriana91235
 
Heartlands1 clan donald - Bannockburn 2014 (Scotland)
Heartlands1 clan donald - Bannockburn 2014 (Scotland)Heartlands1 clan donald - Bannockburn 2014 (Scotland)
Heartlands1 clan donald - Bannockburn 2014 (Scotland)Connie Sanders
 
Ici unidad4-tema2-hmi
Ici unidad4-tema2-hmiIci unidad4-tema2-hmi
Ici unidad4-tema2-hmiJuan Gonzalez
 
[Kladd] Faktorisering ved kvadratsetningene
[Kladd] Faktorisering ved kvadratsetningene[Kladd] Faktorisering ved kvadratsetningene
[Kladd] Faktorisering ved kvadratsetningeneElisabeth Engum
 
OBP Medical IMC Plan_No Video
OBP Medical IMC Plan_No VideoOBP Medical IMC Plan_No Video
OBP Medical IMC Plan_No VideoLujia Chen
 
20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02Chris Palatinus
 
News Release: Lakeland Resources Acquires Newnham Lake Property
News Release:  Lakeland Resources Acquires Newnham Lake PropertyNews Release:  Lakeland Resources Acquires Newnham Lake Property
News Release: Lakeland Resources Acquires Newnham Lake PropertyLakeland Resources Inc. (TSXv: LK)
 
Platforum D2C Conference 24 June 2015: Digital Marketing Guru Panel
Platforum D2C Conference 24 June 2015: Digital Marketing Guru PanelPlatforum D2C Conference 24 June 2015: Digital Marketing Guru Panel
Platforum D2C Conference 24 June 2015: Digital Marketing Guru PanelAcanthus Consulting
 
Portofolio-Gligor Maria
Portofolio-Gligor MariaPortofolio-Gligor Maria
Portofolio-Gligor Mariamariaaag
 
"La reforma tributaria", una ponencia de Francisco Franconetti
"La reforma tributaria", una ponencia de Francisco Franconetti"La reforma tributaria", una ponencia de Francisco Franconetti
"La reforma tributaria", una ponencia de Francisco FranconettiRocío Gutiérrez Micó
 
Bemposta or Benposta .The first modern spanish complementary currency?
Bemposta or Benposta .The first modern spanish complementary currency?Bemposta or Benposta .The first modern spanish complementary currency?
Bemposta or Benposta .The first modern spanish complementary currency?UNED
 

Destacado (20)

2009.10 Wykorzystanie Poczty Elektronicznej - raport SARE
2009.10 Wykorzystanie Poczty Elektronicznej - raport SARE2009.10 Wykorzystanie Poczty Elektronicznej - raport SARE
2009.10 Wykorzystanie Poczty Elektronicznej - raport SARE
 
Kunturwasi
KunturwasiKunturwasi
Kunturwasi
 
Leitlinien für Kathbern
Leitlinien für KathbernLeitlinien für Kathbern
Leitlinien für Kathbern
 
Las Ventajas del telefono Behold 2
Las Ventajas del telefono Behold 2Las Ventajas del telefono Behold 2
Las Ventajas del telefono Behold 2
 
Heartlands1 clan donald - Bannockburn 2014 (Scotland)
Heartlands1 clan donald - Bannockburn 2014 (Scotland)Heartlands1 clan donald - Bannockburn 2014 (Scotland)
Heartlands1 clan donald - Bannockburn 2014 (Scotland)
 
5ºb
5ºb5ºb
5ºb
 
7 pasos para emprender
7 pasos para emprender7 pasos para emprender
7 pasos para emprender
 
Ici unidad4-tema2-hmi
Ici unidad4-tema2-hmiIci unidad4-tema2-hmi
Ici unidad4-tema2-hmi
 
Revista de Marketing Dental y Gesti
Revista de Marketing Dental y GestiRevista de Marketing Dental y Gesti
Revista de Marketing Dental y Gesti
 
Herencia
HerenciaHerencia
Herencia
 
[Kladd] Faktorisering ved kvadratsetningene
[Kladd] Faktorisering ved kvadratsetningene[Kladd] Faktorisering ved kvadratsetningene
[Kladd] Faktorisering ved kvadratsetningene
 
OBP Medical IMC Plan_No Video
OBP Medical IMC Plan_No VideoOBP Medical IMC Plan_No Video
OBP Medical IMC Plan_No Video
 
20120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v0220120207 prs ib_js_libraries_v02
20120207 prs ib_js_libraries_v02
 
News Release: Lakeland Resources Acquires Newnham Lake Property
News Release:  Lakeland Resources Acquires Newnham Lake PropertyNews Release:  Lakeland Resources Acquires Newnham Lake Property
News Release: Lakeland Resources Acquires Newnham Lake Property
 
2008-03-10 Power Service strategy
2008-03-10 Power Service strategy2008-03-10 Power Service strategy
2008-03-10 Power Service strategy
 
Funding Your Green Home Retrofit Handout
Funding Your Green Home Retrofit HandoutFunding Your Green Home Retrofit Handout
Funding Your Green Home Retrofit Handout
 
Platforum D2C Conference 24 June 2015: Digital Marketing Guru Panel
Platforum D2C Conference 24 June 2015: Digital Marketing Guru PanelPlatforum D2C Conference 24 June 2015: Digital Marketing Guru Panel
Platforum D2C Conference 24 June 2015: Digital Marketing Guru Panel
 
Portofolio-Gligor Maria
Portofolio-Gligor MariaPortofolio-Gligor Maria
Portofolio-Gligor Maria
 
"La reforma tributaria", una ponencia de Francisco Franconetti
"La reforma tributaria", una ponencia de Francisco Franconetti"La reforma tributaria", una ponencia de Francisco Franconetti
"La reforma tributaria", una ponencia de Francisco Franconetti
 
Bemposta or Benposta .The first modern spanish complementary currency?
Bemposta or Benposta .The first modern spanish complementary currency?Bemposta or Benposta .The first modern spanish complementary currency?
Bemposta or Benposta .The first modern spanish complementary currency?
 

Similar a Deploy and run Smalltalk apps in the cloud with Cloud Foundry

V mware evolutionary cloud 12 2012
V mware evolutionary cloud 12 2012V mware evolutionary cloud 12 2012
V mware evolutionary cloud 12 2012Khazret Sapenov
 
JAVA를 활용한 클라우딩 환경 기반 PaaS
JAVA를 활용한 클라우딩 환경 기반 PaaSJAVA를 활용한 클라우딩 환경 기반 PaaS
JAVA를 활용한 클라우딩 환경 기반 PaaSmosaicnet
 
자바(Java)를 위한 클라우드 환경 기반 Paas
자바(Java)를 위한 클라우드 환경 기반 Paas자바(Java)를 위한 클라우드 환경 기반 Paas
자바(Java)를 위한 클라우드 환경 기반 Paasmosaicnet
 
Open Cloud Frameworks - Open Standards for the Cloud Community
Open Cloud Frameworks - Open Standards for the Cloud CommunityOpen Cloud Frameworks - Open Standards for the Cloud Community
Open Cloud Frameworks - Open Standards for the Cloud Communitybefreax
 
Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...
Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...
Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...CloudAngels
 
Understanding Cloud Computing (basics)
Understanding Cloud Computing (basics)Understanding Cloud Computing (basics)
Understanding Cloud Computing (basics)vvmenon22
 
Ms private cloud
Ms private cloudMs private cloud
Ms private cloudebuc
 
Extending Your Infrastructure & Data to the Cloud
Extending Your Infrastructure & Data to the CloudExtending Your Infrastructure & Data to the Cloud
Extending Your Infrastructure & Data to the CloudMargaret Dawson
 
Cloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersCloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersGunnar Hillert
 
Introduction to Cloud Foundry
Introduction to Cloud FoundryIntroduction to Cloud Foundry
Introduction to Cloud FoundryVMware vFabric
 
Accelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud PrivateAccelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud PrivateMichael Elder
 
Cloud computing Basics
Cloud computing BasicsCloud computing Basics
Cloud computing BasicsSagar Sane
 
GIDS_what does_cloud-native_mean_anyway?
GIDS_what does_cloud-native_mean_anyway?GIDS_what does_cloud-native_mean_anyway?
GIDS_what does_cloud-native_mean_anyway?Grace Jansen
 
CloudWorld: What Does Cloud-Native Mean Anyway?
CloudWorld: What Does Cloud-Native Mean Anyway?CloudWorld: What Does Cloud-Native Mean Anyway?
CloudWorld: What Does Cloud-Native Mean Anyway?Grace Jansen
 
Cloud Computing Networks
Cloud Computing NetworksCloud Computing Networks
Cloud Computing Networksjayapal385
 
Making of a Successful Cloud Business
Making of a Successful Cloud BusinessMaking of a Successful Cloud Business
Making of a Successful Cloud BusinessACMBangalore
 

Similar a Deploy and run Smalltalk apps in the cloud with Cloud Foundry (20)

V mware evolutionary cloud 12 2012
V mware evolutionary cloud 12 2012V mware evolutionary cloud 12 2012
V mware evolutionary cloud 12 2012
 
JAVA를 활용한 클라우딩 환경 기반 PaaS
JAVA를 활용한 클라우딩 환경 기반 PaaSJAVA를 활용한 클라우딩 환경 기반 PaaS
JAVA를 활용한 클라우딩 환경 기반 PaaS
 
자바(Java)를 위한 클라우드 환경 기반 Paas
자바(Java)를 위한 클라우드 환경 기반 Paas자바(Java)를 위한 클라우드 환경 기반 Paas
자바(Java)를 위한 클라우드 환경 기반 Paas
 
Open Cloud Frameworks - Open Standards for the Cloud Community
Open Cloud Frameworks - Open Standards for the Cloud CommunityOpen Cloud Frameworks - Open Standards for the Cloud Community
Open Cloud Frameworks - Open Standards for the Cloud Community
 
Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...
Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...
Niko Nelissen - Sun Microsystems - Keynote 'What's next in the Cloud?' CloudC...
 
Cloud Foundry Overview
Cloud Foundry OverviewCloud Foundry Overview
Cloud Foundry Overview
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Understanding Cloud Computing (basics)
Understanding Cloud Computing (basics)Understanding Cloud Computing (basics)
Understanding Cloud Computing (basics)
 
Ms private cloud
Ms private cloudMs private cloud
Ms private cloud
 
Extending Your Infrastructure & Data to the Cloud
Extending Your Infrastructure & Data to the CloudExtending Your Infrastructure & Data to the Cloud
Extending Your Infrastructure & Data to the Cloud
 
CLOUD COMPUTING
CLOUD COMPUTINGCLOUD COMPUTING
CLOUD COMPUTING
 
Cloudcomputing
CloudcomputingCloudcomputing
Cloudcomputing
 
Cloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersCloud Foundry for Spring Developers
Cloud Foundry for Spring Developers
 
Introduction to Cloud Foundry
Introduction to Cloud FoundryIntroduction to Cloud Foundry
Introduction to Cloud Foundry
 
Accelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud PrivateAccelerate Digital Transformation with IBM Cloud Private
Accelerate Digital Transformation with IBM Cloud Private
 
Cloud computing Basics
Cloud computing BasicsCloud computing Basics
Cloud computing Basics
 
GIDS_what does_cloud-native_mean_anyway?
GIDS_what does_cloud-native_mean_anyway?GIDS_what does_cloud-native_mean_anyway?
GIDS_what does_cloud-native_mean_anyway?
 
CloudWorld: What Does Cloud-Native Mean Anyway?
CloudWorld: What Does Cloud-Native Mean Anyway?CloudWorld: What Does Cloud-Native Mean Anyway?
CloudWorld: What Does Cloud-Native Mean Anyway?
 
Cloud Computing Networks
Cloud Computing NetworksCloud Computing Networks
Cloud Computing Networks
 
Making of a Successful Cloud Business
Making of a Successful Cloud BusinessMaking of a Successful Cloud Business
Making of a Successful Cloud Business
 

Más de ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 

Más de ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Último

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Último (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

Deploy and run Smalltalk apps in the cloud with Cloud Foundry

  • 1. Smalltalk in the Cloud ESUG 2012, Friday, 31 August 2012, 11:15 – 11:45 AM, Gent, Belgium James Foster, Sr. Member Technical Staff, VMware © 2009 VMware Inc. All rights reserved
  • 2. Abstract Cloud Foundry is the open "Platform as a Service" (PaaS) project initiated by VMware. It can support multiple frameworks, multiple cloud providers, and multiple application services all on a cloud scale platform. In this presentation we show how Smalltalk can fit in this environment.
  • 3. Agenda Overview of Cloud Foundry (corporate marketing slides) Smalltalk use described with demo Experience report from Tim Felgentreff at HPI VMware
  • 4. Hosting Options What is provided by vendor: Type Utilities Hardware Stack Applications Self-hosting Data center  IaaS   PaaS    SaaS     Utilities: Network, power, A/C Hardware: CPU, RAM, disk Stack: operating system, web server, database, runtime, framework Application: this is the programmer's concern
  • 5. Introducing Cloud FoundryTM The Open Platform as a Service March 2012 www.cloudfoundry.com © 2009 VMware Inc. All rights reserved
  • 6. The Open Platform as a Service Deploy and scale applications in seconds, without locking yourself into a single cloud 6
  • 7. What if… $ vmc target <any cloud> $ vmc push <my-app> > bind services? Yes $ vmc instances <my-app> +100 7
  • 8. Cloud Foundry open Platform as a Service The PaaS of choice for the Cloud era Simple • Lets developers focus on their code and not wiring middleware Open • Avoid lock-in to specific cloud, frameworks or service • Completely open source from day one Flexible and Scalable • Self service, deploy and scale your applications in seconds • Extensible architecture to “digest” future cloud innovation 8
  • 9. Cloud Foundry – key audiences IT Developers IT Operations “Write code, not tickets” “IT as a service provider” Boost application velocity  Friction-free deployment  More responsive to developers  No machines or middleware to manage  Elastic and dynamically scalable  Latest high productivity frameworks  Improved efficiency  Choice of application services  Digest future cloud advances  Cloud portability  Cloud portability 9
  • 10. Cloud Foundry open PaaS - Choice of frameworks OSS community 10
  • 11. Cloud Foundry open PaaS - Choice of application services vFabric Postgres Data Services vFabric RabbitMQTM Msg Services Other Services Additional partners services … 11
  • 12. Cloud Foundry open PaaS - Choice of clouds Data Private Services Clouds Msg Public Services Clouds Partners .COM Other Micro Services Clouds 12
  • 13. Multi-cloud flexibility is critical to your long-term success  Make use of both public and private clouds without rewriting your applications  Protect against vendor lock-in  Meet different compliance and geographical needs  Accommodate peak loads while optimizing costs  Manage your growth and changing needs over time 13
  • 14. Cloud Foundry: Making multi-cloud a reality Choice of Private Choice of Public Choice of Cloud Cloud Distributions Cloud Providers Infrastructure .COM Bare metal 14
  • 15. CloudFoundry.COM - Multi-tenant PaaS operated by VMware CloudFoundry.COM (beta) Runtimes & Frameworks Services vCenter / vSphere Infrastructure 15
  • 16. Micro Cloud FoundryTM – Industry first downloadable PaaS Micro Cloud Foundry Runtimes & Frameworks Services Your Laptop/PC Single VM instance of Cloud Foundry that runs on a developer’s MAC or PC 16
  • 17. CloudFoundry.ORG - Community open-source project CloudFoundry.ORG Your Infrastructure Download Setup Setup Deploy Behind Code Environment Scripts Firewall Apache2 license 17
  • 18. Cloud Foundry Logical View Browser VMC client STS plugin (user app access) Routers CloudControllers App App HealthManager Services DEA Pool Messaging 18
  • 19. How Apps are Accessed on Cloud Foundry Request Web Interface Load Balancing and Response Routing Web App App Instance DB “vmc push MyApp” Service 19
  • 20. How Apps are Scaled on Cloud Foundry Request Load Balancing Response and Routing App Instances Web Web Web App App App DB “vmc instances MyApp 3” Service 20
  • 21. How Apps are Updated on Cloud Foundry Previous Instance Updated New Version Stopped Code Version Web Web Web Web App App App App DB DB Service Service “vmc update MyApp” 21
  • 22. Create a Trivial Ruby Application  In a new directory, create 'env.rb': require 'rubygems' require 'sinatra' configure do disable :protection end get '/' do host = ENV['VMC_APP_HOST'] port = ENV['VMC_APP_PORT'] "<h1>Hello ESUG! via: #{host}:#{port}</h1>" end get '/env' do res = '' ENV.each do |k, v| res << "#{k}: #{v}<br/>" end res end 23
  • 23. Deploy the Ruby Application  Try the application locally • ruby env.rb  Push the application to the cloud (with a unique name): • vmc push MYAPP -n  View the application: • http://myapp.smalltalkcon.org and http://myapp.smalltalkcon.org/env  Increase the number of instances: • vmc instances MYAPP +1  View the application again and note differences • Port number and directory may change  Delete your application: • vmc delete MYAPP 24
  • 24. Push Process Creating Application: OK Uploading Application: Checking for available resources: OK Packing application: OK Uploading (0K): OK Push Status: OK Staging Application 'james-ruby': OK Starting Application 'james-ruby': OK Laptop with vmc and Server with application Cloud Foundry at *.smalltalkcon.org 25
  • 25. Server Architecture VMC Client Web Browsers Router / Firewall / Proxy Server at 64.20.104.5 (*.smalltalkcon.org) Router Ruby Application Cloud Controller Instance(s) Droplet Execution Agent Health Mgr w2s2-gst-cf1 26
  • 26. Adding Smalltalk to Cloud Foundry Smalltalk Data Private Services Clouds GemStone Msg Public Services Clouds Other Micro Services Clouds Smalltalk image from http://www.freudenbergs.de/bert/balloon.html 27
  • 27. Support for "Traditional" Programming Model  Ruby • Interpreter works with text files • Application code "includes" external libraries • Frameworks (Rails, Sinatra) can be pre-loaded on server  Java / Scala / Groovy • Runtime VM works with "jar" files • Application code "includes" external libraries • Frameworks (Spring, Lift, Grails) can be pre-loaded on server  How is Smalltalk different? • Let me count the ways! • Monolithic image with full application and framework 28
  • 28. Smalltalk can Fit!  Code can exist outside image • Package or file-in  Push • Ship "code" to server during push phase • All files under a root directory are sent to server  Staging • Launch Smalltalk, load code into image, and save image  Starting • Launch saved image • Determine port on which to listen (environment variable or command line) • Start HTTP server on designated port  Consider a Pharo application • Same ideas should work with Squeak, Cincom Smalltalk, and VA Smalltalk 29
  • 29. Client file structure  app/ • aida.st  Aida.changes  Aida.image  PharoDebug.log  PharoV10.sources -> …  start* • open -a /…/CogVM.app/ --args Aida.image start.st $VCAP_APP_PORT  start.st | file contents | FileDirectory setDefaultDirectory: (FileDirectory default entryAt: 'app') asFileDirectory fullName. file := FileStream readOnlyFileNamed: 'aida.st'. contents := file contentsOfEntireFile. Compiler evaluate: contents. 30
  • 30. Special File in Application Directory: aida.st | portString | portString := SmalltalkImage current getSystemAttribute: 3. (portString isNil or: [portString isEmpty]) ifTrue: [portString := '8888']. AIDASite default stop; port: portString asNumber; start. Author fullName: 'CloudFoundry'. WebDemoApp compile: 'introductionElement | e | e := WebElement new. e addText: self observee introduction. e addText: ''<p>Listening on port: '' , session parent site port printString , ''</p>''. ^e'. 31
  • 31. Changes to Cloud Foundry for Aida  VMC • Add Aida to list of supported frameworks • Auto-detect 'aida.st' as indicating Aida framework and CogVM runtime  VCAP (Cloud Foundry Server) • Chef scripts to download and install CogVM and Aida one-click image • Staging code to install code and save as new image • Startup code to change listening port 32
  • 32. GemStone and Cloud Foundry  Cloud Foundry Services • MySQL, MongoDB, Redis • GemStone/S maps reasonably well to these services  Runtime & Framework • Topaz is the command-line executable • Support for file-in scripts • Startup needs to do lazy-initialization • Don't install code if it is already present  Changes to VMC for GemStone • vmc-stic is modified to recognize a Topaz application • Look for main.tpz in deployment directory • Other files will be copied to server as well (e.g., *.mcz) 33
  • 33. Server Architecture VMC Client Web Browsers Router / Firewall / Proxy Server at 64.20.104.5 (*.smalltalkcon.org) Router Ruby Topaz Topaz GemStone Cloud Controller Application Application Application Database Instance(s) Instance(s) Instance(s) Server Droplet Execution Droplet Droplet Agent Execution Execution Agent Agent Health Mgr w2s2-gst-cf1 w2s2- w2s2- w2s2- gst-cf2 gst-cf3 gst-cf4 34
  • 34. Micro Cloud  Develop application locally  Deploy it to a public cloud  Intermediate step of testing deployment to a private cloud • You have better access to logs to debug problems! 39
  • 35. Experience Report  HPI students build Seaside applications in lecture  Internal Cloud Foundry setup for students to show their projects • Described at http://blog.bithug.org/2012/02/cloud-foundry-squeak • Cloud Foundry code at https://github.com/timfel/vcap • Squeak code at http://ss3.gemstone.com/ss/CloudFoundry.html  Will be promoted for all students in upcoming Seaside lecture 40
  • 36. Key takeaways  PaaS is the application platform for the Cloud era  Cloud Foundry is the simple, open and flexible PaaS of choice  What’s next? • Signup - www.cloudfoundry.com • Get the source code - www.cloudfoundry.org • Download your Micro Cloud Foundry – my.cloudfoundry.com/micro • Learn more on the Cloud Foundry blog - blog.cloudfoundry.com • Follow us - @cloudfoundry 41
  • 37. Thanks & Questions?  Thanks to • Dale Henrichs, Peter McLean, and Monty Williams of VMware • John Thornton (JonnyT) for the vmc-stic Ruby Gem and for testing things • Norm Green and VMware for the opportunity to work on this project • Tim Felgentreff of HPI  Contact info for James Foster • jfoster@vmware.com • http://programminggems.wordpress.com/ 42