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

Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionDr.Costas Sachpazis
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringJuanCarlosMorales19600
 
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
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)Dr SOUNDIRARAJ N
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptJasonTagapanGulla
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 

Recently uploaded (20)

Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective IntroductionSachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
Sachpazis Costas: Geotechnical Engineering: A student's Perspective Introduction
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineering
 
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
 
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
UNIT III ANALOG ELECTRONICS (BASIC ELECTRONICS)
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
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
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Solving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.pptSolving The Right Triangles PowerPoint 2.ppt
Solving The Right Triangles PowerPoint 2.ppt
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 

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.