Upload
anand-bn
View
564
Download
4
Tags:
Embed Size (px)
DESCRIPTION
Citation preview
Java on HerokuDeploying and Scaling on the Cloud
Safe harbor statement under the Private Securities Litigation Reform Act of 1995.
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or implied by the forward looking-statements we make. All statements other than statements of historical fact could be deemed forward-looking, including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded services or technology developments and customer contracts or use of our services.
The risks and uncertainties referred to above include - but are not limited to - risks associated with developing and delivering new functionality for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of intellectual property and other litigation, risks associated with possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history, our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-Q for the most recent fiscal quarter ended. This documents and others containing important disclosures are available on the SEC Filings section of the Investor Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Safe Harbor StatementSafe Harbor Statement
Cloud Application
Trendscontinuous delivery
Continuous Delivery
“..reducing the cycle time between an idea and usable software”
- Martin Fowler
“Software delivers no revenue until it is in the hands of its users.”
-Jez Humble
“.. leads to deeper relationship between IT, their business customer, and their final customers.”
-Jez Humble
In-frequent Releases
Dev-Production Parity
Deploying Manually
Anti-Patterns
Monolithic > Micro apps
JVM
App Server Core
Session Managers
M&M
Web App -1
EJBs
Clustering
Message Listeners
MDBsScheduled Jobs
Web App -2
Slower Releases
-
Single Language
-
Memory footprint-
“noisy” neighbour
-
Monolithic > Micro apps
JVM / Container
Web App 1
JVM / Container
Web App 2
JVM / Container
MessageDriven apps
JVM / Container
BatchJobs
Cloud Services
Faster Releases
+
Isolation+
Small Optimized Apps
+
Composite Apps+
Scale independently
+
Polyglot Architecture
+
Cloud icon – courtesy from The Noun Project collection
Presentation Tier(JSP, JSF, Struts)
Business Logic Tier(Java)
Data TierRDBMS
One language > Polyglot
No one size fits all-Lower productivity-
Presentation Tier(JSP, JSF,, Struts)
Business Logic Tier(Java)
Data Tier(RDBMS)
Presentation Tier(Rails, HTML5..)
Business Logic Tier(Java, Scala, NodeJS)
Data TierRDBMS, NoSQL
One platform > Polyglot
Productivity+
Performance+
Language strengths
+
Application UIs > APIs
Application UI(Browser)
Data Tier
Business Logic
SOAP-Single Viewport
-
Stateful apps-
Application UI > APIs
Application UI(Browser)
Data Tier
Business Logic
Application UI
(Browser)
Data Tier
Business Logic API
Mobile / Tablets
(Java,iOS)
Devices
JSON+
Stateless apps
+
Multi-Device+
Monetization+
Stateful > Stateless
App Server
1
App Server
1
App Server
1
Sticky State Load Balancer
Session
Session
Session
No continuous deployment
-Memory footprint-
Less elastic-
Stateful > Stateless
Continuous Deployment+
Lower memory footprint
+
App App App
Load Balancer
App Server
1
App Server
1
App Server
1
Sticky State Load Balancer
Session
Session
Session
Distributed Cache
Elastic Scale+
App Server > Applications
HTTPContainer
Dev / Production Parity-Complex packaging / deployment
-
App Server > Applications
HTTPComponent
simplified packaging & deployment
+
Simplified application start
+
Dev / Prod parity & Environments
+
Environment
Config > Environments
Resource Configuration
Application Code
JVM PropertyJNDI Property
Multiple build artifacts by envDatasources
Config > Environments
App
DB_URL=jdbc://.. /DBDev
Environment Variable:
DB_URL=jdbc://postgres….
App will access the URL with:
System.getenv(“DB_URL”)
SFDC_OAUTH=DEV
Dev, Prod
Resource Configuration
Application Code
JVM PropertyJNDI Property
Multiple build artifacts by envDatasources
Mdlwr > Cloud Services
Application Code
Email Services
Databases
Databases
Infrastructure not innovation
-Maintenance overheads-
Productivity-
Mdlwr > Cloud Services
Application Code
Email Services
Databases
Databases
App
Dev, Prod
Send GridDB_URL
PubNubPUB_URL..
Papertrail..URL..
Focus on innovation+
Rapid prototyping+
Lower maintenance overheads
+
INTRO TO HEROKU
Building Cloud Apps
IaaS Reduces Costs
Software Infrastructu
re(Slow)
Hardware Infrastructu
re (Expensiv
e)
Your Apps
Traditional On-Premise
Development
Infrastructure as a Service
Software Stack Software Stack
Increase server utilization
Reduce server costs
Ease server administration
Mobile Server
Web Server
App Server
Hyper V Server
Security Server
Operating System
Mobile Server
Web Server
App Server
Hyper V Server
Security Server
Operating System
Still have stack management
Software Infrastructu
re(Slow)
Hardware Infrastructu
re (Expensiv
e)
Your Apps
Infrastructure as a Service
Software Stack
You still manage the software stack
You still upgrade and patch
You still manually scale, tune and back-up
Mobile Server
Web Server
App Server
Hyper V Server
Security Server
Operating System
ForgetServers
Run Anything
SeeEverything
Trust &Manage
Ruby
PHPSpring MVC
NodeJS
GrailsGroovy
Scala
JavaPython
DjangoJavaScript
Clojure
Spring Roo
Play !
Hibernate
NoSQL
MongoDB
HTML5
Rails
CometD PerlApex
SOQL
Run anything
pol·y·glot [pol-ee-glot]
adjective1. able to speak or write several languages; multilingual.2. containing, composed of, or written in several languages: a polyglot Bible.
Run anything
Elastic Load balancing
Dyno manifold
Forget Servers
Dyno manifold
• Virtualized Linux containers (LxC)
• Dynos are fully isolated from each other
• Erosion resistant
Trust & Manage
Dyno manifold
Logplex
• Real time stream of all your application events
• Consumable by 3rd party services or syslog drains
Logplex
See Everything
Elastic Load balancing
Dyno manifold
API
• Process status
• Manage your processes
• Scale up or down your apps
Clients:• CLI• Eclipse
plugin• Apps
Logplex
See Everything
Contr
ol Surf
ace
API
Elastic Load balancing
Dyno manifold
Addons
• Extend the Platform
• Pre-Installed Services
• Common Components Logplex
Contr
ol Surf
ace
API
Addons
Elastic Load balancing
Micro apps Web app, API service
Cloud Services PubNub, Papertrail
Environments Salesforce Oauth
Stateless Distributed sessions w/Memcache
Containerless Webapp-runner
Trend You will be building
12 Factor Apphttp://www.12factor.net