SlideShare ist ein Scribd-Unternehmen logo
1 von 57
Enterprise	
  Apps	
  in	
  2011	
  
     and	
  beyond	
  


                              Adrian Colyer
                                   VMware
                              @adriancolyer
1. Big Picture Stuff

              2. Open
                 PaaS


3. Application implications
major	
  forces	
  that	
  impact	
  the	
  way	
  we	
  develop	
  and	
  deploy	
  applica;ons	
  

PART  I:  THE  BIG  PICTURE  
language,
new ways to                tools,
access                     fworks,
                           data,
         enterprise        services,
            apps           design


new modes of          new deployment
interaction           options
new ways to
access




              client and server-side
                        implications
 	
  	
  	
  	
  Greenhouse	
  
new modes of interaction
social commentary




                                  social
                                  objects




                social entities
cross-­‐store	
  persistence	
  
cross-­‐store	
  persistence	
  
blob


BIG    column
       document
       graph
       key-value

data   map-reduce
       relational!
development and
new	
  deployment	
  op;ons	
  

                                  public
 traditional                      private
                    PaaS
                                  hybrid
 why	
  PaaS?	
  




                       •  eliminate tickets
                       •  business agility
                       •  cost models
                       •  scalability
                       •  low barrier to entry
this	
  changes	
  everything	
  

PART  II:  OPEN  PAAS  
Cloud	
  Foundry	
  –	
  Open	
  PaaS	
  




      •  www.cloudfoundry.com
      •  www.cloudfoundry.org
choice	
  of	
  frameworks	
  


                 Cloud
                Foundry
choice	
  of	
  applica;on	
  services	
  




     Data	
  Services
                    	
  




                  Msg	
  Services
                                	
  




                                   Other	
  Services
                                                   	
  
choice	
  of	
  clouds	
  




Data	
  Services
               	
  
                                                                      Private	
  	
  
                                                                      Clouds	
  	
  

                                                              Public	
  
             Msg	
  Services
                           	
  
                                                              Clouds	
  

                                                     Micro	
  
                              Other	
  Services
                                              	
     Clouds	
  
cloud	
  foundry	
  :	
  the	
  open	
  paas	
  




      Data	
  Services
                     	
  
                                                                           Private	
  	
  
                                                                           Clouds	
  	
  


                   Msg	
  Services
                                 	
  
                                                                   Public	
  
                                                                   Clouds	
  

                                                           Micro	
  
                                    Other	
  Services
                                                    	
  
                                                           Clouds	
  
$
$ vmc info
$ vmc info	

VMware's Cloud Application Platform	
For support visit support@cloudfoundry.com	

Target:   http://api.cloudfoundry.com (v0.999)	
Client:   v0.3.4	

User:     acolyer@vmware.com	
Usage:    Memory   (512.0M of 2.0G total)	
          Services (2 of 16 total)	
          Apps     (1 of 20 total)	

$
$ vmc info	

VMware's Cloud Application Platform	
For support visit support@cloudfoundry.com	

Target:   http://api.cloudfoundry.com (v0.999)	
Client:   v0.3.4	

User:     acolyer@vmware.com	
Usage:    Memory   (512.0M of 2.0G total)	
          Services (2 of 16 total)	
          Apps     (1 of 20 total)	

$ vmc apps
For support visit support@cloudfoundry.com	

Target:          http://api.cloudfoundry.com (v0.999)	
Client:          v0.3.4	

User:            acolyer@vmware.com	
Usage:           Memory   (512.0M of 2.0G total)	
                 Services (2 of 16 total)	
                 Apps     (1 of 20 total)	

$ vmc apps	

+-------------+----+---------+-----------------------------+----------+	
| Application | # | Health | URLS                          | Services |	
+-------------+----+---------+-----------------------------+----------+	
| showcase    | 1 | RUNNING | showcase.cloudfoundry.com    |          |	
| hello-node | 1 | STOPPED | hello-node.cloudfoundry.com |            |	
+-------------+----+---------+-----------------------------+----------+	


$
For support visit support@cloudfoundry.com	

Target:          http://api.cloudfoundry.com (v0.999)	
Client:          v0.3.4	

User:            acolyer@vmware.com	
Usage:           Memory   (512.0M of 2.0G total)	
                 Services (2 of 16 total)	
                 Apps     (1 of 20 total)	

$ vmc apps	

+-------------+----+---------+-----------------------------+----------+	
| Application | # | Health | URLS                          | Services |	
+-------------+----+---------+-----------------------------+----------+	
| showcase    | 1 | RUNNING | showcase.cloudfoundry.com    |          |	
| hello-node | 1 | STOPPED | hello-node.cloudfoundry.com |            |	
+-------------+----+---------+-----------------------------+----------+	


$ vmc services
+-------------+----+---------+-----------------------------+----------+	
| Application | # | Health | URLS                          | Services |	
+-------------+----+---------+-----------------------------+----------+	
| showcase    | 1 | RUNNING | showcase.cloudfoundry.com    |          |	
| hello-node | 1 | STOPPED | hello-node.cloudfoundry.com |            |	
+-------------+----+---------+-----------------------------+----------+	


$ vmc services	

============== System Services ==============	

+----------+---------+-------------------------------+	
| Service | Version | Description                    |	
+----------+---------+-------------------------------+	
| rabbitmq | 2.4     | RabbitMQ message queue        |	
| mysql    | 5.1     | MySQL database service        |	
| mongodb | 1.8      | MongoDB NoSQL store           |	
| redis    | 2.2     | Redis key-value store service |	
+----------+---------+-------------------------------+	

=========== Provisioned Services ============	

+----------+----------+	
| Name     | Service |	
+----------+----------+	
| mybroker | rabbitmq |	
| mydb     | mysql    |	
+----------+----------+
$ vmc frameworks	
+---------+	
| Name    |	
+---------+	
| node    |	
| spring |	
| rails3 |	
| grails |	
| sinatra |	
+---------+	

$
$ vmc frameworks	
+---------+	
| Name    |	
+---------+	
| node    |	
| spring |	
| rails3 |	
| grails |	
| sinatra |	
+---------+	

$ vmc runtimes
| node    |	
| spring |	
| rails3 |	
| grails |	
| sinatra |	
+---------+	

$ vmc runtimes	
+--------+-------------+-----------+	
| Name   | Description | Version   |	
+--------+-------------+-----------+	
| node   | Node.js     | 0.4.5     |	
| java   | Java 6      | 1.6       |	
| ruby18 | Ruby 1.8    | 1.8.7     |	
| ruby19 | Ruby 1.9    | 1.9.2p180 |	
+--------+-------------+-----------+	

$
$ cd myapp	
myapp$ vmc push whatsnext	
Would you like to deploy from the current directory? [Yn]: Y	
Application Deployed URL: 'whatsnext.cloudfoundry.com'? 	
Detected a Java SpringSource Spring Application, is this correct?
[Yn]: 	
Memory Reservation [Default:512M] (64M, 128M, 256M, 512M or 1G) 	
Creating Application: OK	
Would you like to bind any services to 'whatsnext'? [yN]: N	
Uploading Application:	
  Checking for available resources: OK	
  Processing resources: OK	
  Packing application: OK	
  Uploading (8K): OK    	
Push Status: OK	
Starting Application: OK   	

myapp$
$ vmc instances whatsnext	

+-------+---------+--------------------+	
| Index | State   | Start Time         |	
+-------+---------+--------------------+	
| 0     | RUNNING | 05/23/2011 03:36PM |	
+-------+---------+--------------------+	

$
$ vmc instances whatsnext	

+-------+---------+--------------------+	
| Index | State   | Start Time         |	
+-------+---------+--------------------+	
| 0     | RUNNING | 05/23/2011 03:36PM |	
+-------+---------+--------------------+	

$ vmc instances whatsnext 3	

Scaling Application instances up to 3: OK	

$
$ vmc instances whatsnext	

+-------+---------+--------------------+	
| Index | State   | Start Time         |	
+-------+---------+--------------------+	
| 0     | RUNNING | 05/23/2011 03:36PM |	
+-------+---------+--------------------+	

$ vmc instances whatsnext 3	

Scaling Application instances up to 3: OK	

$ vmc instances whatsnext
$ vmc instances whatsnext 3	

Scaling Application instances up to 3: OK	

$ vmc instances whatsnext 	

+-------+---------+--------------------+	
| Index | State   | Start Time         |	
+-------+---------+--------------------+	
| 0     | RUNNING | 05/23/2011 03:36PM |	
| 1     | RUNNING | 05/23/2011 03:46PM |	
| 2     | RUNNING | 05/23/2011 03:46PM |	
+-------+---------+--------------------+ 	

$
other	
  vmc	
  commands	
  
•    create-­‐service	
  <service>	
  <name>	
  <app>	
  
•    bind-­‐service	
  <servicename>	
  <appname>	
  
•    unbind-­‐service	
  <servicename>	
  <appname>	
  
•    update	
  <appname>	
  
•    map	
  <appname>	
  <url>	
  
•    logs	
  <appname>	
  
•    stats	
  <appname>	
  
•    target	
  <url>	
  
•    …	
  
Applica;on	
  Concepts	
  
                                All	
  of	
  the	
  code,	
  libraries,	
  and,	
  data	
  that	
  are	
  needed	
  in	
  
               my	
  code	
     order	
  to	
  run	
  my	
  code	
  on	
  a	
  system	
  supplied	
  stack	
  

                                Instances	
  make	
  my	
  applica;on	
  scale.	
  The	
  more	
  
                                instances	
  the	
  more	
  load	
  the	
  app	
  can	
  handle	
  

                                My	
  app	
  is	
  URL	
  addressable	
  and	
  can	
  have	
  mul;ple	
  URLs,	
  
     http://www.foo
            some	
  clouds	
  allow	
  custom	
  domains	
  

                                Services	
  are	
  used	
  to	
  extend	
  an	
  applica;on	
  with	
  higher	
  
                                level	
  func;ons	
  like	
  a	
  KV	
  store	
  or	
  email	
  gateway	
  

Applica;on	
  Tools	
  
     $  vmc  update  myapp
     $  vmc  apps
                                vmc	
  (command	
  line	
  tool)	
  and	
  STS	
  plugin	
  (IDE)	
  are	
  the	
  
                                primary	
  tools	
  used	
  by	
  developers	
  
     $  vm
$ grails prod cf-push
Sends droplet
             heart beats and
              exit messages


                                                                     Router
                                                                      Router

                                      Registers and                                                Registers and
                                       unregisters                                                  unregisters




                                              Routes REST API                           Routes droplet
                                                  requests                                requests
                     Droplet change
                      notifications

                        Droplet
                                       Cloud Controller             Orchestrates
Health Manager         start/stop        Cloud Controller         (Start, Stop, Find)           Droplet Execution
                       requests
                                                                                                  Agent (DEA)



Periodically scans                     Persists droplets
 for consistency                       and provisioned                                        Guest applications
                                                                 Advertise
                                           services                                              consume
                         Cloud                                    Service
                        Controller
                                                  Provision and
                        Database
                                                   unprovision




                                                         Service "A"
                                                                               Provision          Service
                                                                                  and               "A"
                                                      Provisioning Agent
                                                                              unprovision
and	
  it’s	
  only	
  just	
  the	
  beginning…	
  

PART  III:  WHAT  PAAS  MEANS  FOR  
APPS  &  SERVICES  
applica;on	
  enablers	
  
•  polyglot	
  applica;ons	
  
•  service	
  consump;on	
  
•  web	
  of	
  services	
  
full description and links to source at
http://blog.springsource.com
;cker-­‐sample	
  
 browser
       socket.io



                           store in
generate       subscribe   mongo
ticker         ticker
events         stream




      subscribe                       update min, max,
      ticker                          avg.
      stream
web	
  of	
  services	
  


lot of
little
services




infrastructure                          …
services
applica;on	
  challenges	
  
•  portability	
  
•  elas;c	
  scaling	
  
•  cloud-­‐burs;ng	
  and	
  other	
  hybrid	
  
   scenarios	
  
•  monitoring	
  
environment	
  beans	
  

<beans profile="cloud">	
  <cloud:datasource id="dataSource"/>	
</beans>	

<beans profile="default">	
  <jdbc:embedded-database 	
     id="dataSource"/>	
</beans>	

@Profile("production")	
…
elas;c	
  scaling	
  
•  no	
  silver	
  bullets	
  
•  design	
  for	
  scale	
  
    -­‐  think	
  about	
  data,	
  
    -­‐  deployment	
  units,	
  
    -­‐  messaging	
  
design	
  for	
  scale	
  


                    application




                     database
design	
  for	
  scale	
  

        app          app                 sessions



msg fabric
                                         app data




 app          app            app          ref data



                                   app
                                         data
                                         fabric
              database
cloud	
  foundry	
  example	
  
                     system	
  load	
  balancer
                                              	
  

             elas;c	
  pool	
  

  redis
      	
                                               mysql
                                                           	
  
                front_end	
         front_end	
  


                              rabbitMQ	
  

             elas;c	
  pool	
  

                                                     mongodb	
  
                           back_end	
  
#  create  the  front  end  and  backend  apps
#  front  end  is  small  but  multi-­‐instance
vmc  push  fe  –instances  8  –mem  64M  –path  ../fe_code
vmc  push  be  –instances  2  –mem  256M  –path  ../be_code

#  create  the  services  and  bind  per  spec
vmc  create-­‐service  mysql  –name  mysql  –bind  fe
vmc  create-­‐service  mongodb  –name  mongo  –bind  be
vmc  create-­‐service  rabbit  –name  rabbit  –bind  fe
vmc  create-­‐service  redis  –name  redis  –bind  fe
vmc  bind-­‐service  redis  be
vmc  bind-­‐service  rabbit  be

#  to  perform  an  update  of  code
vmc  update  fe  –path  ../new_fe_code
vmc  update  be  –path  ../new_be_code
the data’s over
there!
thank	
  you	
  for	
  listening	
  

PART  IV:  IN  CONCLUSION  
language,
new ways to                tools,
access                     fworks,
                           data,
         enterprise        services,
            apps           design


new modes of          new deployment
interaction           options
thank	
  you	
  

                   Adrian Colyer
                        VMware
                   @adriancolyer

Weitere ähnliche Inhalte

Ähnlich wie What's Next? Paris - Adrian Colyer Keynote

Smalltalk In the Cloud
Smalltalk In the CloudSmalltalk In the Cloud
Smalltalk In the CloudESUG
 
CloudCompare NC4
CloudCompare NC4CloudCompare NC4
CloudCompare NC4Clearpreso
 
Cloud computing
Cloud computingCloud computing
Cloud computingRobbySahoo
 
What Does Cloud Computing Mean for the Channel?
What Does Cloud Computing Mean for the Channel?What Does Cloud Computing Mean for the Channel?
What Does Cloud Computing Mean for the Channel?SMB Group
 
The Ultimate Guide to Cloud Migration - A Whitepaper by RapidValue
The Ultimate Guide to Cloud Migration - A Whitepaper by RapidValueThe Ultimate Guide to Cloud Migration - A Whitepaper by RapidValue
The Ultimate Guide to Cloud Migration - A Whitepaper by RapidValueRapidValue
 
Cloud computing
Cloud computingCloud computing
Cloud computingAjit Yadav
 
Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computingsuraj bhandari
 
CLOUD COMPUTING AND SERVICES BY SAIKIRAN PANJALA
CLOUD COMPUTING AND SERVICES BY SAIKIRAN PANJALACLOUD COMPUTING AND SERVICES BY SAIKIRAN PANJALA
CLOUD COMPUTING AND SERVICES BY SAIKIRAN PANJALASaikiran Panjala
 
Capacity Management in a Cloud Computing World
Capacity Management in a Cloud Computing WorldCapacity Management in a Cloud Computing World
Capacity Management in a Cloud Computing WorldDavid Linthicum
 
Avner algom igt cloud igtdld event
Avner algom igt cloud   igtdld eventAvner algom igt cloud   igtdld event
Avner algom igt cloud igtdld eventAvner Algom
 
Cloud Computing For Enterprises
Cloud Computing For EnterprisesCloud Computing For Enterprises
Cloud Computing For EnterprisesOne App Cloud
 
Cloud Computing Presentation
Cloud Computing PresentationCloud Computing Presentation
Cloud Computing PresentationVivek Ravindran
 
Evolution of the Cloud.pptx
Evolution of the Cloud.pptxEvolution of the Cloud.pptx
Evolution of the Cloud.pptxSanjeev Banerjee
 
Cloud Computing Webinar
Cloud Computing WebinarCloud Computing Webinar
Cloud Computing WebinarSaif Ahmad
 

Ähnlich wie What's Next? Paris - Adrian Colyer Keynote (20)

Smalltalk In the Cloud
Smalltalk In the CloudSmalltalk In the Cloud
Smalltalk In the Cloud
 
Cloud Foundry et le Cloud vu par VMware
Cloud Foundry et le Cloud vu par VMwareCloud Foundry et le Cloud vu par VMware
Cloud Foundry et le Cloud vu par VMware
 
12023 cloud-computing-wp
12023 cloud-computing-wp12023 cloud-computing-wp
12023 cloud-computing-wp
 
Unleashing cloud-performance
Unleashing cloud-performanceUnleashing cloud-performance
Unleashing cloud-performance
 
CloudCompare NC4
CloudCompare NC4CloudCompare NC4
CloudCompare NC4
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
What Does Cloud Computing Mean for the Channel?
What Does Cloud Computing Mean for the Channel?What Does Cloud Computing Mean for the Channel?
What Does Cloud Computing Mean for the Channel?
 
IIA2013 PPT SLIDES DECK
IIA2013 PPT SLIDES DECKIIA2013 PPT SLIDES DECK
IIA2013 PPT SLIDES DECK
 
The Ultimate Guide to Cloud Migration - A Whitepaper by RapidValue
The Ultimate Guide to Cloud Migration - A Whitepaper by RapidValueThe Ultimate Guide to Cloud Migration - A Whitepaper by RapidValue
The Ultimate Guide to Cloud Migration - A Whitepaper by RapidValue
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computing
 
CLOUD COMPUTING AND SERVICES BY SAIKIRAN PANJALA
CLOUD COMPUTING AND SERVICES BY SAIKIRAN PANJALACLOUD COMPUTING AND SERVICES BY SAIKIRAN PANJALA
CLOUD COMPUTING AND SERVICES BY SAIKIRAN PANJALA
 
Capacity Management in a Cloud Computing World
Capacity Management in a Cloud Computing WorldCapacity Management in a Cloud Computing World
Capacity Management in a Cloud Computing World
 
Avner algom igt cloud igtdld event
Avner algom igt cloud   igtdld eventAvner algom igt cloud   igtdld event
Avner algom igt cloud igtdld event
 
Cloud Computing For Enterprises
Cloud Computing For EnterprisesCloud Computing For Enterprises
Cloud Computing For Enterprises
 
Cloud Computing Presentation
Cloud Computing PresentationCloud Computing Presentation
Cloud Computing Presentation
 
Evolution of the Cloud.pptx
Evolution of the Cloud.pptxEvolution of the Cloud.pptx
Evolution of the Cloud.pptx
 
Zubair
ZubairZubair
Zubair
 
Cloud Computing Webinar
Cloud Computing WebinarCloud Computing Webinar
Cloud Computing Webinar
 

Kürzlich hochgeladen

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
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
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
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
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
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
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 

Kürzlich hochgeladen (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
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...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
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...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
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
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 

What's Next? Paris - Adrian Colyer Keynote

  • 1. Enterprise  Apps  in  2011   and  beyond   Adrian Colyer VMware @adriancolyer
  • 2. 1. Big Picture Stuff 2. Open PaaS 3. Application implications
  • 3. major  forces  that  impact  the  way  we  develop  and  deploy  applica;ons   PART  I:  THE  BIG  PICTURE  
  • 4. language, new ways to tools, access fworks, data, enterprise services, apps design new modes of new deployment interaction options
  • 5. new ways to access client and server-side implications
  • 6.          Greenhouse  
  • 7. new modes of interaction social commentary social objects social entities
  • 10.
  • 11. blob BIG column document graph key-value data map-reduce relational!
  • 12. development and new  deployment  op;ons   public traditional private PaaS hybrid
  • 13.  why  PaaS?   •  eliminate tickets •  business agility •  cost models •  scalability •  low barrier to entry
  • 14. this  changes  everything   PART  II:  OPEN  PAAS  
  • 15. Cloud  Foundry  –  Open  PaaS   •  www.cloudfoundry.com •  www.cloudfoundry.org
  • 16. choice  of  frameworks   Cloud Foundry
  • 17. choice  of  applica;on  services   Data  Services   Msg  Services   Other  Services  
  • 18. choice  of  clouds   Data  Services   Private     Clouds     Public   Msg  Services   Clouds   Micro   Other  Services   Clouds  
  • 19. cloud  foundry  :  the  open  paas   Data  Services   Private     Clouds     Msg  Services   Public   Clouds   Micro   Other  Services   Clouds  
  • 20. $
  • 22. $ vmc info VMware's Cloud Application Platform For support visit support@cloudfoundry.com Target: http://api.cloudfoundry.com (v0.999) Client: v0.3.4 User: acolyer@vmware.com Usage: Memory (512.0M of 2.0G total) Services (2 of 16 total) Apps (1 of 20 total) $
  • 23. $ vmc info VMware's Cloud Application Platform For support visit support@cloudfoundry.com Target: http://api.cloudfoundry.com (v0.999) Client: v0.3.4 User: acolyer@vmware.com Usage: Memory (512.0M of 2.0G total) Services (2 of 16 total) Apps (1 of 20 total) $ vmc apps
  • 24. For support visit support@cloudfoundry.com Target: http://api.cloudfoundry.com (v0.999) Client: v0.3.4 User: acolyer@vmware.com Usage: Memory (512.0M of 2.0G total) Services (2 of 16 total) Apps (1 of 20 total) $ vmc apps +-------------+----+---------+-----------------------------+----------+ | Application | # | Health | URLS | Services | +-------------+----+---------+-----------------------------+----------+ | showcase | 1 | RUNNING | showcase.cloudfoundry.com | | | hello-node | 1 | STOPPED | hello-node.cloudfoundry.com | | +-------------+----+---------+-----------------------------+----------+ $
  • 25. For support visit support@cloudfoundry.com Target: http://api.cloudfoundry.com (v0.999) Client: v0.3.4 User: acolyer@vmware.com Usage: Memory (512.0M of 2.0G total) Services (2 of 16 total) Apps (1 of 20 total) $ vmc apps +-------------+----+---------+-----------------------------+----------+ | Application | # | Health | URLS | Services | +-------------+----+---------+-----------------------------+----------+ | showcase | 1 | RUNNING | showcase.cloudfoundry.com | | | hello-node | 1 | STOPPED | hello-node.cloudfoundry.com | | +-------------+----+---------+-----------------------------+----------+ $ vmc services
  • 26. +-------------+----+---------+-----------------------------+----------+ | Application | # | Health | URLS | Services | +-------------+----+---------+-----------------------------+----------+ | showcase | 1 | RUNNING | showcase.cloudfoundry.com | | | hello-node | 1 | STOPPED | hello-node.cloudfoundry.com | | +-------------+----+---------+-----------------------------+----------+ $ vmc services ============== System Services ============== +----------+---------+-------------------------------+ | Service | Version | Description | +----------+---------+-------------------------------+ | rabbitmq | 2.4 | RabbitMQ message queue | | mysql | 5.1 | MySQL database service | | mongodb | 1.8 | MongoDB NoSQL store | | redis | 2.2 | Redis key-value store service | +----------+---------+-------------------------------+ =========== Provisioned Services ============ +----------+----------+ | Name | Service | +----------+----------+ | mybroker | rabbitmq | | mydb | mysql | +----------+----------+
  • 27. $ vmc frameworks +---------+ | Name | +---------+ | node | | spring | | rails3 | | grails | | sinatra | +---------+ $
  • 28. $ vmc frameworks +---------+ | Name | +---------+ | node | | spring | | rails3 | | grails | | sinatra | +---------+ $ vmc runtimes
  • 29. | node | | spring | | rails3 | | grails | | sinatra | +---------+ $ vmc runtimes +--------+-------------+-----------+ | Name | Description | Version | +--------+-------------+-----------+ | node | Node.js | 0.4.5 | | java | Java 6 | 1.6 | | ruby18 | Ruby 1.8 | 1.8.7 | | ruby19 | Ruby 1.9 | 1.9.2p180 | +--------+-------------+-----------+ $
  • 30. $ cd myapp myapp$ vmc push whatsnext Would you like to deploy from the current directory? [Yn]: Y Application Deployed URL: 'whatsnext.cloudfoundry.com'? Detected a Java SpringSource Spring Application, is this correct? [Yn]: Memory Reservation [Default:512M] (64M, 128M, 256M, 512M or 1G) Creating Application: OK Would you like to bind any services to 'whatsnext'? [yN]: N Uploading Application: Checking for available resources: OK Processing resources: OK Packing application: OK Uploading (8K): OK Push Status: OK Starting Application: OK myapp$
  • 31.
  • 32. $ vmc instances whatsnext +-------+---------+--------------------+ | Index | State | Start Time | +-------+---------+--------------------+ | 0 | RUNNING | 05/23/2011 03:36PM | +-------+---------+--------------------+ $
  • 33. $ vmc instances whatsnext +-------+---------+--------------------+ | Index | State | Start Time | +-------+---------+--------------------+ | 0 | RUNNING | 05/23/2011 03:36PM | +-------+---------+--------------------+ $ vmc instances whatsnext 3 Scaling Application instances up to 3: OK $
  • 34. $ vmc instances whatsnext +-------+---------+--------------------+ | Index | State | Start Time | +-------+---------+--------------------+ | 0 | RUNNING | 05/23/2011 03:36PM | +-------+---------+--------------------+ $ vmc instances whatsnext 3 Scaling Application instances up to 3: OK $ vmc instances whatsnext
  • 35. $ vmc instances whatsnext 3 Scaling Application instances up to 3: OK $ vmc instances whatsnext +-------+---------+--------------------+ | Index | State | Start Time | +-------+---------+--------------------+ | 0 | RUNNING | 05/23/2011 03:36PM | | 1 | RUNNING | 05/23/2011 03:46PM | | 2 | RUNNING | 05/23/2011 03:46PM | +-------+---------+--------------------+ $
  • 36. other  vmc  commands   •  create-­‐service  <service>  <name>  <app>   •  bind-­‐service  <servicename>  <appname>   •  unbind-­‐service  <servicename>  <appname>   •  update  <appname>   •  map  <appname>  <url>   •  logs  <appname>   •  stats  <appname>   •  target  <url>   •  …  
  • 37. Applica;on  Concepts   All  of  the  code,  libraries,  and,  data  that  are  needed  in   my  code   order  to  run  my  code  on  a  system  supplied  stack   Instances  make  my  applica;on  scale.  The  more   instances  the  more  load  the  app  can  handle   My  app  is  URL  addressable  and  can  have  mul;ple  URLs,   http://www.foo some  clouds  allow  custom  domains   Services  are  used  to  extend  an  applica;on  with  higher   level  func;ons  like  a  KV  store  or  email  gateway   Applica;on  Tools   $  vmc  update  myapp $  vmc  apps vmc  (command  line  tool)  and  STS  plugin  (IDE)  are  the   primary  tools  used  by  developers   $  vm
  • 38.
  • 39.
  • 40. $ grails prod cf-push
  • 41. Sends droplet heart beats and exit messages Router Router Registers and Registers and unregisters unregisters Routes REST API Routes droplet requests requests Droplet change notifications Droplet Cloud Controller Orchestrates Health Manager start/stop Cloud Controller (Start, Stop, Find) Droplet Execution requests Agent (DEA) Periodically scans Persists droplets for consistency and provisioned Guest applications Advertise services consume Cloud Service Controller Provision and Database unprovision Service "A" Provision Service and "A" Provisioning Agent unprovision
  • 42. and  it’s  only  just  the  beginning…   PART  III:  WHAT  PAAS  MEANS  FOR   APPS  &  SERVICES  
  • 43. applica;on  enablers   •  polyglot  applica;ons   •  service  consump;on   •  web  of  services  
  • 44. full description and links to source at http://blog.springsource.com
  • 45. ;cker-­‐sample   browser socket.io store in generate subscribe mongo ticker ticker events stream subscribe update min, max, ticker avg. stream
  • 46. web  of  services   lot of little services infrastructure … services
  • 47. applica;on  challenges   •  portability   •  elas;c  scaling   •  cloud-­‐burs;ng  and  other  hybrid   scenarios   •  monitoring  
  • 48. environment  beans   <beans profile="cloud"> <cloud:datasource id="dataSource"/> </beans> <beans profile="default"> <jdbc:embedded-database id="dataSource"/> </beans> @Profile("production") …
  • 49. elas;c  scaling   •  no  silver  bullets   •  design  for  scale   -­‐  think  about  data,   -­‐  deployment  units,   -­‐  messaging  
  • 50. design  for  scale   application database
  • 51. design  for  scale   app app sessions msg fabric app data app app app ref data app data fabric database
  • 52. cloud  foundry  example   system  load  balancer   elas;c  pool   redis   mysql   front_end   front_end   rabbitMQ   elas;c  pool   mongodb   back_end  
  • 53. #  create  the  front  end  and  backend  apps #  front  end  is  small  but  multi-­‐instance vmc  push  fe  –instances  8  –mem  64M  –path  ../fe_code vmc  push  be  –instances  2  –mem  256M  –path  ../be_code #  create  the  services  and  bind  per  spec vmc  create-­‐service  mysql  –name  mysql  –bind  fe vmc  create-­‐service  mongodb  –name  mongo  –bind  be vmc  create-­‐service  rabbit  –name  rabbit  –bind  fe vmc  create-­‐service  redis  –name  redis  –bind  fe vmc  bind-­‐service  redis  be vmc  bind-­‐service  rabbit  be #  to  perform  an  update  of  code vmc  update  fe  –path  ../new_fe_code vmc  update  be  –path  ../new_be_code
  • 55. thank  you  for  listening   PART  IV:  IN  CONCLUSION  
  • 56. language, new ways to tools, access fworks, data, enterprise services, apps design new modes of new deployment interaction options
  • 57. thank  you   Adrian Colyer VMware @adriancolyer