Where do websites live?
We all know what a website is. Most people are unaware of
what makes them tick.
This is the standard architecture for your typical web application. As the
web and underlying applications have evolved, so has this architecture.
Client-Server Architecture
Moore’s Law
“The number of transistors incorporated in a chip will
approximately double every 24 months.”
-Gordon Moore, 1975
Credit: Intel
The first path to the cloud
Infrastructure as a Service (IaaS)
Customer Managed
Service Provider Managed
Infrastructure as
a Service
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Code
Data
Runtime
Middleware
OS
Virtualization
Servers
Storage
Networking
Platform
as a Service
Built on
technologies:
The key to rapid application development is optimal abstraction. The PaaS
and IaaS models help deliver the right level for developers.
The stack is not your friend
The industry-leading open PaaS
Cloud Foundry
• Clouds - Public, Private, Local
Choice
• Runtimes - node.js, spring, ruby on rails, byob…
• Services - MongoDB, MySQL, Redis, Twilio…
• Decreased time to deployment aka faster G2M
Benefits
• Increased environment parity
• Services can be self-assembled to create integrated apps
• Elastically scale applications
• Removes worries of OS and middleware patches
• Development methodologies must adapt to tech
Drawbacks
• Requires dev awareness of platform limitations and best practices
• Control over underlying middleware and infrastructure is limited
•Platform is abstracted as a set of large-scale
distributed services
•Components are dynamically discoverable and
loosely coupled
•Uses Cloud Foundry Bosh to operate the underlying
infrastructure from the IaaS provider
•Uses a dynamic router to shape and route all traffic and
orchestrate load balancing
•Droplet Execution Agents (DEAs) are responsible for
the app lifecycle
•Health Manager monitors and maintains application
uptime
•Buildpacks detect app runtime and compile source
code into executable binaries
Cloud Foundry Architecture
Flexible Compute Options to Run Apps / Services
Instant Runtimes Containers Virtual Machines
Platform Deployment Options that Meet Your Workload Requirements
Bluemix
Public
Bluemix
Dedicated
Bluemix
Local*
DevOps
Tooling Your Own Hosted Apps / Services
Integration and
API Mgmt
Powered by IBM SoftLayer In Your Data Center
+ + +
+ +
Catalog of Services that Extend Apps’ Functionality
Web Data Mobile AnalyticsCognitive IoT Security Yours
+
Cloud Foundry is the underlying PaaS behind Bluemix. It enables teams to practice
continuous delivery by making it easier to deploy, run, and manage apps.
Where does Cloud Foundry fit in?
Types of services
•Accounts for a SaaS application
•Managed database on a multi-tenant server
•Plans for messaging providers
How it works
•When a user adds a service, an instance of
that particular service is provisioned
•A service broker handles communication
between CF and the service itself
•Service processes run on service nodes or
with external as-a-service providers
Services allow users to provision resources on demand
Cloud Foundry Services
Section 3 & 4
The console: How do I use this thing?
1. Find your desired runtime in the catalog
2. Select the runtime, make sure you are in your desired
org and space, then fill in the Name and Host fields in
the configuration box
3. Click ‘Create’
Your app will now stage and deploy. Once
it is finished, hit ‘View App’ link to access
your running app!
Creating an app
The simplest way to get a functioning app up on Bluemix is to create an app
from one of the supported runtimes in the catalog.
1
2
1. Download the starter code
2. Open up the public/index.html file using
your favorite text editor
3. Change the value inside the h1 element on
line 18 to read “Hello World!” and save
4. Push the app back to Bluemix using the
cf login and the cf push commands
Editing your code
Download your code to edit it locally and push the updated version back to
Bluemix using the CF CLI
1
2
3