SlideShare a Scribd company logo
1 of 45
Paas and
Containirization in
agile software
development
Presented by: Seyyed Ehsan Beheshtian
Evoteam.ir
1
List of Content
• What is PaaS?
• PaaS Technologies
• PaaS Example – Cloudfoundry
• Simple Hello World in Cloudfoundry
• What is Containerization?
• Container VS VMs
• Containerization Example – Docker
• Simple Hello World in Docker
• PaaS & Containerization
• What is PaaS and containerization roll in agile?
Evoteam.ir
2
PaaS , What is it?
• Platform as a service (PaaS) is a cloud computing offering that provides
users a cloud environment in which they can develop, manage, and deliver
applications.
 Private PaaS
 Public PaaS
Evoteam.ir
3
Key Features
• Facilitates collaborative work even if teams work remotely.
• PaaS provides a platform with tools to test, develop, and host applications in
the same environment.
• Enables organizations to focus on development without having to worry
about underlying infrastructure
• Providers manage security, operating systems, server software, and backups.
Evoteam.ir
4

Evoteam.ir
5
Some PaaS Techs Compared
Strato
s
Google App
Engine
Amazon
Beanstalk Heroku
CloudBees
RUN@Cloud
Red Hat
OpenShift
VMWare
CloudFoundry
Cloud Characteristics 5 7 3 3 3 3 3
Cloud Dimensions 7 3 3 3 3 3 7
Production Ready 5 5 5 0 3 0 0
DevOps activities and
phases
5 2 2 2 7 5 5
Cloud Architecture 5 7 3 3 3 3 3
Platform Services 10 4 4 2 2 2 2
Programming Model 2 5 1 1 1 1 1
Evoteam.ir
6
Some PaaS Techs Compared
Evoteam.ir
7
What is cloud foundry?
• Cloud Foundry is an open source, multi cloud application platform as a
service (PaaS) governed by the Cloud Foundry Foundation.
• The software was originally developed by VMware and then transferred to
Pivotal Software, a joint venture by EMC, VMware and General Electric.
Evoteam.ir
8
Simple hello world
• Pivotal web services (PWS) provides “Cloud Foundry as a web service,”
deployed on top of AWS. You’ll just need create an account and you’ll
automatically get a sixty day free trial.
Cloud Foundry supports many languages like Java, PHP, Ruby, Node.js etc.
In this example we will run Java hello world program in Pivotal Web
Service.
Evoteam.ir
9
Step 1: Register with Pivotal Web
Service
• Register with Pivotal Web Service.
Create your account and finally you
should be able to see your Pivotal
account as below.
Evoteam.ir
10
Step 2: Install the Cloud Foundry Command Line Interface
(cf CLI)
• Cloud Foundry Command Line Interface (cf CLI) is a tool to deploy and
manage applications in Cloud Foundry.
1. Download and install Cloud Foundry Cli
2. Add the Cloud Foundry path to environment variable.
3. Open Command Prompt and run “cf help” to confirm that the tool is installed
correctly. The example shows the beginning lines of output for this command.
Evoteam.ir
11
Step 3: Download and deploy Java Hello World Application
in Cloud Foundry
1. Download the Java Hello World program.
2. Enter command “cf api api.run.pivotal.io” to set the API endpoint.
3. Enter “cf login” to login. Enter your email id and password you used
while registering to Pivotal Web Service.
4. Open Command Prompt and enter the command “CD
<CF_FOLDER_PATH>”.
5. Enter the command “cf push” to publish the Hello World application.
6. Finally the application should be started and the app URL should be
provided as below. For example in this case, it is Java-
HelloWorld.cfapps.io
Evoteam.ir
12
Enter command “cf api api.run.pivotal.io” to
set the API endpoint.
Evoteam.ir
13
Enter “cf login” to login. Enter your email id and password
you used while registering to Pivotal Web Service.
Evoteam.ir
14
Open Command Prompt and enter the
command “CD <CF_FOLDER_PATH>”.
Evoteam.ir
15
Enter the command “cf push” to publish
the Hello World application.
Evoteam.ir
16
Finally the application should be started
and the app URL should be provided
Evoteam.ir
17
Final step
Evoteam.ir
18
Deploying App to Cloud Foundry
Runtime
① Upload app
bits and
metadata
push app
② Create and bind services
③ Stage application
④ Deploy application
⑤ Manage application health
…
Cloud Foundry
Run.me (PaaS)
Blobstore DB
Cloud Controller
Service Broker
Node(s)
DEA
DEA
DEA
DEA
MD+ ap p
+ =
Service
credentials
MDapp
Evoteam.ir
19
Creating and Binding a Service
Cloud Foundry
Run.me (PaaS )
DB
Service
credentials
reserve resourcescreate service (HTTP) create service (HTTP)
bind service (HTTP)bind service (HTTP) obtain connection data
CLI Cloud
Controller
Service
Broker
Data
Service
Evoteam.ir
20
Stage an Application
Evoteam.ir
21
Deploying an Application
Evoteam.ir
22
Monitoring and Replacing an
Application
Evoteam.ir
23
Cloud Foundry Architecture
• The Cloud Foundry platform is
abstracted as a set of large-scale
distributed services. It uses Cloud
Foundry Bosh to operate the
underlying infrastructure from IaaS
providers (e.g., VMware, Amazon
AWS, OpenStack).
• Components are dynamically
discoverable and loosely coupled,
exposing health through HTTP
endpoints so agents can collect state
information (app state & system
state) and act on it.
Evoteam.ir
24
Containerization, What’s it about?
• A container image is a lightweight, stand-alone, executable package of a piece of software
that includes everything needed to run it: code, runtime, system tools, system libraries,
settings. Available for both Linux and Windows based apps, containerized software will
always run the same, regardless of the environment.
Containers isolate software from its surroundings,
for example differences between development and
staging environments and help reduce conflicts
between teams running different software on
the same infrastructure.
Evoteam.ir
25
Container Vs VMs
• Containers and virtual machines have similar resource isolation and
allocation benefits, but function differently because containers virtualize the
operating system instead of hardware. Containers are more portable and
efficient.
Evoteam.ir
26
Container Vs VMs
• Faster to boot, less overhead than a VM
$ time docker run ubuntu echo hello world hello world real 0m0.258s
• Disk usage: less than 100 kB
• Memory usage: less than 1.5 MB
Evoteam.ir
27
Container Vs VMs
Evoteam.ir
28
Container Vs VMs
Evoteam.ir
29
Container Vs VMs
Evoteam.ir
30
Docker
• Docker is an open platform for developing, shipping, and running
applications. Docker is designed to deliver your applications faster. With
Docker you can separate your applications from your infrastructure AND
treat your infrastructure like a managed application. Docker helps you ship
code faster, test faster, deploy faster, and shorten the cycle between writing
code and running code.
Evoteam.ir
31
Docker Features
Evoteam.ir
32
Simple hello world in Docker
(pulling)
• docker pull hello-world
• docker run hello-world
Evoteam.ir
33
Simple hello world in
Docker(Dockerfile)
FROM Alpine3.0.1
Echo “hello world”
Evoteam.ir
34
Docker Concepts
• Docker is composed of following four components
 Docker Client and Daemon
 Images
 registries
 Containers
Evoteam.ir
35
Docker Concepts
• Docker Daemon
 the Docker daemon runs on a host machine. The user does not directly interact with
the daemon, but instead through the Docker client.
• Docker Client
 The Docker client, in the form of the docker binary, is the primary user interface to
Docker. It accepts commands from the user and communicates back and forth with a
Docker daemon.
• Images
 A Docker image is a read-only template.
 Images that exist on register (docker hub)
 Images that can created with build
Evoteam.ir
36
Docker Concepts
• Registeries
 Docker registries hold images. These are public or private stores from which you
upload or download images. The public Docker registry is provided with the Docker
Hub.
• Containers
 Docker containers are similar to a directory. A Docker container holds everything
that is needed for an application to run. Each container is created from a Docker
image.
Evoteam.ir
37
How Does Docker Work?
Evoteam.ir
38
What happens when you run a
container?
• Pulls the image
• Creates a new container
• Allocates a filesystem and mounts a read-write layer
• Allocates a network / bridge interface
• Sets up an IP address
• Executes a process that you specify
• Captures and provides application output
Evoteam.ir
39
PaaS GOAL:
• Creates an abstracted environment that supports an efficient, costeffective,
and repeatable process for the creation and deployment of high-quality
applications.
• The infrastructure such as network, storage etc. and applications are
managed for customers and support is available.
• Services are constantly updated and existing features get upgraded
Evoteam.ir
40
PaaS & Container
• Nowadays, companies are following microservice architecture and creating
containerized apps which could not be run on traditional paas frameworks.
• We design our pass frameworks along with containers such as Docker as
they provide flexibility and easy monitoring of our applications.
• Sometimes it becomes difficult for a application developer to setup and
create the environment on a container there are some companies such as
cloud foundry which setup and manages the containers and the developer
can write and run its code.
• This allows us to run multi-layered application on the cloud.
Evoteam.ir
41
PaaS & Container
-
Evoteam.ir
42
What is PaaS and containerization
roll in agile?
• Development Agility:
 Faster time-to-market
 Better feedback loop
 More frequent iterations with less impact in change process
 More user requirements met
 Less change requests
 Alignment with business
 Positioning IT as a value center and partner to business
• Derived:
https://apprenda.com/blog/what-does-paas-have-to-do-with-agile-development-very-
little-except-for-the-benefits/
Evoteam.ir
43
Acknoledgments
Thanks to:
 Jérôme Petazzoni
 Mohammadreza Amini
 Amir Arsalan
For their wonderful slides and presentation and I used some of their slides in
my presentation
Also many thanks to http://saphanatutorial.com for their tutorial on hello
world in cloud foundry
Evoteam.ir
44
Q/A?
Evoteam.ir
45

More Related Content

What's hot

Cloud Foundry and OpenStack – Marriage Made in Heaven !
Cloud Foundry and OpenStack – Marriage Made in Heaven !Cloud Foundry and OpenStack – Marriage Made in Heaven !
Cloud Foundry and OpenStack – Marriage Made in Heaven ! Animesh Singh
 
Getting Started With Docker | Docker Tutorial | Docker Training | Edureka
Getting Started With Docker | Docker Tutorial | Docker Training | EdurekaGetting Started With Docker | Docker Tutorial | Docker Training | Edureka
Getting Started With Docker | Docker Tutorial | Docker Training | EdurekaEdureka!
 
Automated Lifecycle Management - CloudFoundry on OpenStack
Automated Lifecycle Management - CloudFoundry on OpenStackAutomated Lifecycle Management - CloudFoundry on OpenStack
Automated Lifecycle Management - CloudFoundry on OpenStackAnimesh Singh
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesDavid Currie
 
WebSphere and Docker
WebSphere and DockerWebSphere and Docker
WebSphere and DockerDavid Currie
 
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...VMware Tanzu
 
Run your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryRun your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryAndy Piper
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixIBM
 
Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Stormy Peters
 
Finding and Organizing a Great Cloud Foundry User Group
Finding and Organizing a Great Cloud Foundry User GroupFinding and Organizing a Great Cloud Foundry User Group
Finding and Organizing a Great Cloud Foundry User GroupDaniel Krook
 
C219 - Docker and PureApplication Patterns: Better Together
C219 - Docker and PureApplication Patterns: Better TogetherC219 - Docker and PureApplication Patterns: Better Together
C219 - Docker and PureApplication Patterns: Better TogetherHendrik van Run
 
Dockercon eu tour 2015 - Devoxx Casablanca
Dockercon eu tour 2015 - Devoxx CasablancaDockercon eu tour 2015 - Devoxx Casablanca
Dockercon eu tour 2015 - Devoxx CasablancaMichel Courtine
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Simplilearn
 
Cloud Foundry Bootcamp
Cloud Foundry BootcampCloud Foundry Bootcamp
Cloud Foundry BootcampJoshua Long
 
Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...
Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...
Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...Edureka!
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developersDaniel Krook
 
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)VMware Tanzu
 
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopManuel Garcia
 

What's hot (20)

Cloud Foundry and OpenStack – Marriage Made in Heaven !
Cloud Foundry and OpenStack – Marriage Made in Heaven !Cloud Foundry and OpenStack – Marriage Made in Heaven !
Cloud Foundry and OpenStack – Marriage Made in Heaven !
 
Getting Started With Docker | Docker Tutorial | Docker Training | Edureka
Getting Started With Docker | Docker Tutorial | Docker Training | EdurekaGetting Started With Docker | Docker Tutorial | Docker Training | Edureka
Getting Started With Docker | Docker Tutorial | Docker Training | Edureka
 
Automated Lifecycle Management - CloudFoundry on OpenStack
Automated Lifecycle Management - CloudFoundry on OpenStackAutomated Lifecycle Management - CloudFoundry on OpenStack
Automated Lifecycle Management - CloudFoundry on OpenStack
 
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and MicroservicesScalable, Available and Reliable Cloud Applications with PaaS and Microservices
Scalable, Available and Reliable Cloud Applications with PaaS and Microservices
 
WebSphere and Docker
WebSphere and DockerWebSphere and Docker
WebSphere and Docker
 
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
Cloud Foundry and OpenStack - A Marriage Made in Heaven! (Cloud Foundry Summi...
 
Run your Java apps on Cloud Foundry
Run your Java apps on Cloud FoundryRun your Java apps on Cloud Foundry
Run your Java apps on Cloud Foundry
 
Rest overview briefing
Rest  overview briefingRest  overview briefing
Rest overview briefing
 
Docker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & BluemixDocker, Cloud Foundry, Bosh & Bluemix
Docker, Cloud Foundry, Bosh & Bluemix
 
Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016Cloud Foundry Technical Overview at IBM Interconnect 2016
Cloud Foundry Technical Overview at IBM Interconnect 2016
 
Finding and Organizing a Great Cloud Foundry User Group
Finding and Organizing a Great Cloud Foundry User GroupFinding and Organizing a Great Cloud Foundry User Group
Finding and Organizing a Great Cloud Foundry User Group
 
C219 - Docker and PureApplication Patterns: Better Together
C219 - Docker and PureApplication Patterns: Better TogetherC219 - Docker and PureApplication Patterns: Better Together
C219 - Docker and PureApplication Patterns: Better Together
 
Dockercon eu tour 2015 - Devoxx Casablanca
Dockercon eu tour 2015 - Devoxx CasablancaDockercon eu tour 2015 - Devoxx Casablanca
Dockercon eu tour 2015 - Devoxx Casablanca
 
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
Docker Tutorial For Beginners | What Is Docker And How It Works? | Docker Tut...
 
Cloud Foundry Bootcamp
Cloud Foundry BootcampCloud Foundry Bootcamp
Cloud Foundry Bootcamp
 
Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...
Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...
Docker Networking | Container Network Model (CNM) | Docker Tutorial For Begin...
 
Watson on bluemix
Watson on bluemixWatson on bluemix
Watson on bluemix
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
 
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
 
Cloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment WorkshopCloud Foundry: Hands-on Deployment Workshop
Cloud Foundry: Hands-on Deployment Workshop
 

Similar to PaaSVSContainerization

Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realistsKarthik Gaekwad
 
Container on azure
Container on azureContainer on azure
Container on azureVishwas N
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixIBM
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixJake Peyser
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixDev_Events
 
Docker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryDocker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryAnimesh Singh
 
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...ICON UK EVENTS Limited
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native BootcampVMware Tanzu
 
docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...Matteo Bisi
 
.docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c....docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c...Andrea Fontana
 
Alibaba Cloud Conference 2016 - Docker Enterprise
Alibaba Cloud Conference   2016 - Docker EnterpriseAlibaba Cloud Conference   2016 - Docker Enterprise
Alibaba Cloud Conference 2016 - Docker EnterpriseJohn Willis
 
Was liberty profile and docker
Was liberty profile and dockerWas liberty profile and docker
Was liberty profile and dockersflynn073
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerDavid Currie
 
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...Jack-Junjie Cai
 

Similar to PaaSVSContainerization (20)

56k.cloud training
56k.cloud training56k.cloud training
56k.cloud training
 
SS Introduction to Docker
SS Introduction to DockerSS Introduction to Docker
SS Introduction to Docker
 
Docker12 factor
Docker12 factorDocker12 factor
Docker12 factor
 
Containers, microservices and serverless for realists
Containers, microservices and serverless for realistsContainers, microservices and serverless for realists
Containers, microservices and serverless for realists
 
Container on azure
Container on azureContainer on azure
Container on azure
 
PHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on BluemixPHP Buildpacks in the Cloud on Bluemix
PHP Buildpacks in the Cloud on Bluemix
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Getting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on BluemixGetting Started with Cloud Foundry on Bluemix
Getting Started with Cloud Foundry on Bluemix
 
Docker OpenStack Cloud Foundry
Docker OpenStack Cloud FoundryDocker OpenStack Cloud Foundry
Docker OpenStack Cloud Foundry
 
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ....docker : How to deploy Digital Experience in a container, drinking a cup of ...
.docker : How to deploy Digital Experience in a container, drinking a cup of ...
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
 
docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...docker : how to deploy Digital Experience in a container drinking a cup of co...
docker : how to deploy Digital Experience in a container drinking a cup of co...
 
.docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c....docker : how to deploy Digital Experience in a container drinking a cup of c...
.docker : how to deploy Digital Experience in a container drinking a cup of c...
 
Alibaba Cloud Conference 2016 - Docker Enterprise
Alibaba Cloud Conference   2016 - Docker EnterpriseAlibaba Cloud Conference   2016 - Docker Enterprise
Alibaba Cloud Conference 2016 - Docker Enterprise
 
Cloud foundry
Cloud foundryCloud foundry
Cloud foundry
 
Was liberty profile and docker
Was liberty profile and dockerWas liberty profile and docker
Was liberty profile and docker
 
WebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and DockerWebSphere Application Server Liberty Profile and Docker
WebSphere Application Server Liberty Profile and Docker
 
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
Migrating Java EE applications to IBM Bluemix platform as-a-service (CloudFou...
 
Docker slides
Docker slidesDocker slides
Docker slides
 

Recently uploaded

(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacingjaychoudhary37
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLDeelipZope
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxbritheesh05
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx959SahilShah
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 

Recently uploaded (20)

(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCRCall Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
Call Us -/9953056974- Call Girls In Vikaspuri-/- Delhi NCR
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
microprocessor 8085 and its interfacing
microprocessor 8085  and its interfacingmicroprocessor 8085  and its interfacing
microprocessor 8085 and its interfacing
 
Current Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCLCurrent Transformer Drawing and GTP for MSETCL
Current Transformer Drawing and GTP for MSETCL
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
VICTOR MAESTRE RAMIREZ - Planetary Defender on NASA's Double Asteroid Redirec...
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Artificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptxArtificial-Intelligence-in-Electronics (K).pptx
Artificial-Intelligence-in-Electronics (K).pptx
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
Application of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptxApplication of Residue Theorem to evaluate real integrations.pptx
Application of Residue Theorem to evaluate real integrations.pptx
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 

PaaSVSContainerization

  • 1. Paas and Containirization in agile software development Presented by: Seyyed Ehsan Beheshtian Evoteam.ir 1
  • 2. List of Content • What is PaaS? • PaaS Technologies • PaaS Example – Cloudfoundry • Simple Hello World in Cloudfoundry • What is Containerization? • Container VS VMs • Containerization Example – Docker • Simple Hello World in Docker • PaaS & Containerization • What is PaaS and containerization roll in agile? Evoteam.ir 2
  • 3. PaaS , What is it? • Platform as a service (PaaS) is a cloud computing offering that provides users a cloud environment in which they can develop, manage, and deliver applications.  Private PaaS  Public PaaS Evoteam.ir 3
  • 4. Key Features • Facilitates collaborative work even if teams work remotely. • PaaS provides a platform with tools to test, develop, and host applications in the same environment. • Enables organizations to focus on development without having to worry about underlying infrastructure • Providers manage security, operating systems, server software, and backups. Evoteam.ir 4
  • 6. Some PaaS Techs Compared Strato s Google App Engine Amazon Beanstalk Heroku CloudBees RUN@Cloud Red Hat OpenShift VMWare CloudFoundry Cloud Characteristics 5 7 3 3 3 3 3 Cloud Dimensions 7 3 3 3 3 3 7 Production Ready 5 5 5 0 3 0 0 DevOps activities and phases 5 2 2 2 7 5 5 Cloud Architecture 5 7 3 3 3 3 3 Platform Services 10 4 4 2 2 2 2 Programming Model 2 5 1 1 1 1 1 Evoteam.ir 6
  • 7. Some PaaS Techs Compared Evoteam.ir 7
  • 8. What is cloud foundry? • Cloud Foundry is an open source, multi cloud application platform as a service (PaaS) governed by the Cloud Foundry Foundation. • The software was originally developed by VMware and then transferred to Pivotal Software, a joint venture by EMC, VMware and General Electric. Evoteam.ir 8
  • 9. Simple hello world • Pivotal web services (PWS) provides “Cloud Foundry as a web service,” deployed on top of AWS. You’ll just need create an account and you’ll automatically get a sixty day free trial. Cloud Foundry supports many languages like Java, PHP, Ruby, Node.js etc. In this example we will run Java hello world program in Pivotal Web Service. Evoteam.ir 9
  • 10. Step 1: Register with Pivotal Web Service • Register with Pivotal Web Service. Create your account and finally you should be able to see your Pivotal account as below. Evoteam.ir 10
  • 11. Step 2: Install the Cloud Foundry Command Line Interface (cf CLI) • Cloud Foundry Command Line Interface (cf CLI) is a tool to deploy and manage applications in Cloud Foundry. 1. Download and install Cloud Foundry Cli 2. Add the Cloud Foundry path to environment variable. 3. Open Command Prompt and run “cf help” to confirm that the tool is installed correctly. The example shows the beginning lines of output for this command. Evoteam.ir 11
  • 12. Step 3: Download and deploy Java Hello World Application in Cloud Foundry 1. Download the Java Hello World program. 2. Enter command “cf api api.run.pivotal.io” to set the API endpoint. 3. Enter “cf login” to login. Enter your email id and password you used while registering to Pivotal Web Service. 4. Open Command Prompt and enter the command “CD <CF_FOLDER_PATH>”. 5. Enter the command “cf push” to publish the Hello World application. 6. Finally the application should be started and the app URL should be provided as below. For example in this case, it is Java- HelloWorld.cfapps.io Evoteam.ir 12
  • 13. Enter command “cf api api.run.pivotal.io” to set the API endpoint. Evoteam.ir 13
  • 14. Enter “cf login” to login. Enter your email id and password you used while registering to Pivotal Web Service. Evoteam.ir 14
  • 15. Open Command Prompt and enter the command “CD <CF_FOLDER_PATH>”. Evoteam.ir 15
  • 16. Enter the command “cf push” to publish the Hello World application. Evoteam.ir 16
  • 17. Finally the application should be started and the app URL should be provided Evoteam.ir 17
  • 19. Deploying App to Cloud Foundry Runtime ① Upload app bits and metadata push app ② Create and bind services ③ Stage application ④ Deploy application ⑤ Manage application health … Cloud Foundry Run.me (PaaS) Blobstore DB Cloud Controller Service Broker Node(s) DEA DEA DEA DEA MD+ ap p + = Service credentials MDapp Evoteam.ir 19
  • 20. Creating and Binding a Service Cloud Foundry Run.me (PaaS ) DB Service credentials reserve resourcescreate service (HTTP) create service (HTTP) bind service (HTTP)bind service (HTTP) obtain connection data CLI Cloud Controller Service Broker Data Service Evoteam.ir 20
  • 23. Monitoring and Replacing an Application Evoteam.ir 23
  • 24. Cloud Foundry Architecture • The Cloud Foundry platform is abstracted as a set of large-scale distributed services. It uses Cloud Foundry Bosh to operate the underlying infrastructure from IaaS providers (e.g., VMware, Amazon AWS, OpenStack). • Components are dynamically discoverable and loosely coupled, exposing health through HTTP endpoints so agents can collect state information (app state & system state) and act on it. Evoteam.ir 24
  • 25. Containerization, What’s it about? • A container image is a lightweight, stand-alone, executable package of a piece of software that includes everything needed to run it: code, runtime, system tools, system libraries, settings. Available for both Linux and Windows based apps, containerized software will always run the same, regardless of the environment. Containers isolate software from its surroundings, for example differences between development and staging environments and help reduce conflicts between teams running different software on the same infrastructure. Evoteam.ir 25
  • 26. Container Vs VMs • Containers and virtual machines have similar resource isolation and allocation benefits, but function differently because containers virtualize the operating system instead of hardware. Containers are more portable and efficient. Evoteam.ir 26
  • 27. Container Vs VMs • Faster to boot, less overhead than a VM $ time docker run ubuntu echo hello world hello world real 0m0.258s • Disk usage: less than 100 kB • Memory usage: less than 1.5 MB Evoteam.ir 27
  • 31. Docker • Docker is an open platform for developing, shipping, and running applications. Docker is designed to deliver your applications faster. With Docker you can separate your applications from your infrastructure AND treat your infrastructure like a managed application. Docker helps you ship code faster, test faster, deploy faster, and shorten the cycle between writing code and running code. Evoteam.ir 31
  • 33. Simple hello world in Docker (pulling) • docker pull hello-world • docker run hello-world Evoteam.ir 33
  • 34. Simple hello world in Docker(Dockerfile) FROM Alpine3.0.1 Echo “hello world” Evoteam.ir 34
  • 35. Docker Concepts • Docker is composed of following four components  Docker Client and Daemon  Images  registries  Containers Evoteam.ir 35
  • 36. Docker Concepts • Docker Daemon  the Docker daemon runs on a host machine. The user does not directly interact with the daemon, but instead through the Docker client. • Docker Client  The Docker client, in the form of the docker binary, is the primary user interface to Docker. It accepts commands from the user and communicates back and forth with a Docker daemon. • Images  A Docker image is a read-only template.  Images that exist on register (docker hub)  Images that can created with build Evoteam.ir 36
  • 37. Docker Concepts • Registeries  Docker registries hold images. These are public or private stores from which you upload or download images. The public Docker registry is provided with the Docker Hub. • Containers  Docker containers are similar to a directory. A Docker container holds everything that is needed for an application to run. Each container is created from a Docker image. Evoteam.ir 37
  • 38. How Does Docker Work? Evoteam.ir 38
  • 39. What happens when you run a container? • Pulls the image • Creates a new container • Allocates a filesystem and mounts a read-write layer • Allocates a network / bridge interface • Sets up an IP address • Executes a process that you specify • Captures and provides application output Evoteam.ir 39
  • 40. PaaS GOAL: • Creates an abstracted environment that supports an efficient, costeffective, and repeatable process for the creation and deployment of high-quality applications. • The infrastructure such as network, storage etc. and applications are managed for customers and support is available. • Services are constantly updated and existing features get upgraded Evoteam.ir 40
  • 41. PaaS & Container • Nowadays, companies are following microservice architecture and creating containerized apps which could not be run on traditional paas frameworks. • We design our pass frameworks along with containers such as Docker as they provide flexibility and easy monitoring of our applications. • Sometimes it becomes difficult for a application developer to setup and create the environment on a container there are some companies such as cloud foundry which setup and manages the containers and the developer can write and run its code. • This allows us to run multi-layered application on the cloud. Evoteam.ir 41
  • 43. What is PaaS and containerization roll in agile? • Development Agility:  Faster time-to-market  Better feedback loop  More frequent iterations with less impact in change process  More user requirements met  Less change requests  Alignment with business  Positioning IT as a value center and partner to business • Derived: https://apprenda.com/blog/what-does-paas-have-to-do-with-agile-development-very- little-except-for-the-benefits/ Evoteam.ir 43
  • 44. Acknoledgments Thanks to:  Jérôme Petazzoni  Mohammadreza Amini  Amir Arsalan For their wonderful slides and presentation and I used some of their slides in my presentation Also many thanks to http://saphanatutorial.com for their tutorial on hello world in cloud foundry Evoteam.ir 44

Editor's Notes

  1. public cloud service from a provider, where the consumer controls software deployment with minimal configuration options, and the provider provides the networks, servers, storage, OS, 'middleware' (i.e.; java runtime, .net runtime, integration, etc.), database and other services to host the consumer's application; or as a private service (software or appliance) inside the firewall, or as software deployed on a public infrastructure as a service.