This presentation gives an overview on how Platform as a Service technology can help you to become an IT manufacturer with highly integrated and greatly automated processes that drive your business forward.
This presentation was held at (W-) JAX 2014 by Jürgen Hoffmann (Red Hat) and Sebastian Faulhaber (Red Hat).
6. How to Build an App:
1. Have Idea
2. Get Budget
3. Code
4. Test
5. Launch
6. Automatically Scale
Virtualized
How to Build an App:
1. Have Idea
2. Get Budget
3. Submit VM Request request
4. Wait
5. Deploy framework/appserver
6. Deploy testing tools
7. Code
8. Test
9. Configure Prod VMs
10.Push to Prod
11. Launch
12.Request VMs to meet demand
13.Wait
14.Deploy app to new VMs
15.Etc.
Physical
How to Build an App:
1. Have Idea
2. Get Budget
3. Submit hardware acquisition request
4. Wait
5. Get Hardware
6. Rack and Stack Hardware
7. Install Operating System
8. Install Operating System Patches
9. Create user Accounts
10.Deploy framework/appserver
11.Deploy testing tools
12.Code
13.Test
14.Buy and configure Prod servers
15.Push to Prod
• Launch
1. Order more servers to meet demand
2. Wait…
3. Deploy new servers
4. Etc.
“The use of Platform-as-a-Service technologies will
enable IT organizations to become more agile and more
responsive to the business needs.” –Gartner*
9. STANDARD PARTS.
STANDARD PROCESS.
STANDARD INFRASTRUCTURE.
BUILD FOR CHANGE.
Standardized.
Interoperable.
Multi-vendor.
10. STANDARD PARTS.
STANDARD PROCESS.
STANDARD INFRASTRUCTURE.
BUILD FOR CHANGE.
Eliminate redundancy.
Encourage flexibility.
Drive modularity.
Maven
(Builds) Apache
Jenkins
(CI)
(HTTP)
Code
JBoss
Git
Repo MySQL
11. STANDARD PARTS.
STANDARD PROCESS.
STANDARD INFRASTRUCTURE.
BUILD FOR CHANGE.
Process drives tools.
Not the other way around.
Runs on RHEL on
Any Infrastructure
RHEL RHEL
RHEL
Public / Hybrid / Private / Virtualization / Bare Metal
Willow Run
12. STANDARD PARTS.
STANDARD PROCESS.
STANDARD INFRASTRUCTURE.
BUILD FOR CHANGE.
Turn craftwork into
commodities.
Design for improvement, not
function.
13. PaaS needs to become
Service Oriented
Infrastructure
The world is changing from Client-Server to Mobile-Cloud …
Is your Infrastructure able to handle that?
18. We want Portability
• JVM
• Virtualization
• Mobile Numbers
• Laptops
• iCloud
• Cloud Services
portable
Able to be easily carried or moved,
especially because being of a lighter
and smaller version than usual:
a portable television
http://www.oxforddictionaries.com/definition/english/portable
19. Software Vendors react
• Lightweight App Server
• Lightweight Web
Frameworks
• Micro Services
• Dynamic Endpoints
• Etc.
http://bit.ly/1onNSXe
23. Traditional Enterprise OS
• Single Userspace Runtime
• Environment and Lifecycle
defined by Host OS
• Trend to isolate Appls on
HW Level
• Managed by IT (Limited
Delegation)
• Very Limited Flexibility
24. Virtualization and IaaS
• Application Isolation per
VM
• Application and Runtime
abstracted from
Hardware
• Complex Multi-Level
Management of Host
and VM Layers
25. App Delivery using Containers
• Application packaged with
individual Runtime Stacks
• Multi-Instance, Multi-
Version, Maximal
Flexibility
• Provides Shared Services
to be be re-used inside
containers
• Clustering, Orchestration
26. Containers vs. Virtualization
• Not either one or other
• Virtualization: Vertical
Abstraction
• Containers: Horizontal
Segmentation
• Horizontal Application Isolation
• Lightweight Delegation
• Application Virtualization
• Density
27. Layering
• Images can be layered
• Layering Model supports
Specialization
• Base Image / Core Build
• Add Consumable
Services on Top
28. Sharing and Self-Service
• Images are pushed to a
central Registry
• Can be pulled by any
developer
• Any Environment, Any
Application Version, Runs
Anywhere
29. Still isolated on the Host
• Applications
• can be Linked
• can talk to each other
• What about
scalability?
• What about
Portability?
Source: http://bit.ly/1uY0E0w
36. Use Case „Bank in a box“
App Server
Self Service
Provisioning
GOALS
Provision complex environments in minutes
Easy scaling of developer teams
public class BamAdapter {
private static final
Logger logger =
Logger.getLogger(BamAdapte
r.class.getName());
public static final String
STATE_AKTIV = "Aktiv";
public static final String
STATE_ABGESCHLOSSEN =
"Abgeschlossen";
Config
Postgres
Testdata
37. Use Case „Continous Delivery“
GOALS
Optimize operational efficiency
Increase deployments by a factor of x6
38. PaaS enables Dev and Ops
to focus on what they’re
good in.
Code Deploy Run
Save Time and Money
Code your app
Push-button
Deploy, and
your App is
running in
the Cloud!