SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
Case Study: Using OSGi within the
Salesforce Data Center Automation
Initiative
Tim Kral, Principal Engineer
tkral@salesforce.com
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 any
litigation, risks associated with completed and any 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-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent
fiscal quarter. These 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
Why Am I Giving This Talk?
Once upon a time, my co-workers were skeptical...
“OSGi seems great but I’m not sure who uses it in the real world.”
- Lee
“OSGi seems to have a high cost and I’m not sure what benefit we are
getting from it.”
- Austin
“Every time we encounter an OSGi problem, I’m going to make you put
a dollar in a jar so we have beer money.”
- Peter
What’s going on with the Salesforce Data Center Automation (DCA) initiative
Why Salesforce DCA use OSGi
OSGi Tricks, Tips and Lessons Learned
Demonstration of installing plugins with zero downtime
Answer your questions
Real people use OSGi in the real world
Why Am I Giving This Talk?
What’s going on with the Salesforce Data Center Automation (DCA) initiative
Why Salesforce DCA use OSGi
OSGi Tricks, Tips and Lessons Learned
Demonstration of installing plugins with zero downtime
Answer your questions
Real people use OSGi in the real world
Why Am I Giving This Talk?
21B messages sent in a month
3.1B API calls in a month (nearly 50% of all transactions)
45 major releases
AppExchange: 2000+ app with 2M installs
Real people use OSGi in the real world
About Salesforce
The Cloud Computing Pyramid
Infrastructure as a Service
Virtualized Containers, Network Services
Storage, Image Management, Security
Platform as a Service
Database Services, User Management
Application Servers, Caching
Software as
a Service
Business software
consumed by end
users
Salesforce DCA Initiative
Infrastructure as a Service
Virtualized Containers, Network Services
Storage, Image Management, Security
Application Deployment
Services
Code / Configuration Deployment,
Maintain Cardinality
Software as
a Service
Physical Data Center Bootstrapping
OS Installation, Role Assignment
Static Network Configuration, Asset Registration
Health
Monitoring
Runtime Signal
Monitoring,
Health
Inferences,
Automated
Repair Loop
Internal Salesforce
engineers deploy services
for consumption
Workflow: Data Center Expansion
Application Deployment
Services
Infrastructure as a Service
Software as
a Service
Physical Data Center Bootstrapping
Health
Monitoring
1. Roll in Rack
2. Install OS
3. Register
Servers w/ Roles
Workflow: Software Deployment
Application Deployment
Services
Infrastructure as a Service
Software as
a Service
Physical Data Center Bootstrapping
Health
Monitoring
1. Service team
submits artifact +
configuration
2. New VM and LB
request
3. Provision VM and
LB based on
registered servers
4. Deploy app and
maintain cardinality
Workflow: Health Monitoring
Application Deployment
Services
Infrastructure as a Service
Physical Data Center Bootstrapping
Health
Monitoring
4. Perform repair
action
2. Aggregate
signal and
infer health
Software as
a Service
3. Request
repair if
service
unhealthy
1. Deployed app is
polled for health signal
Where is OSGi Used?
Application Deployment
Services
Infrastructure as a Service
Physical Data Center Bootstrapping
Health
Monitoring
Software as
a Service
OSGi !!!
Java:
Ruby:
Language agnostic:
What’s going on with the Salesforce Data Center Automation (DCA) initiative
Why Salesforce DCA use OSGi
OSGi Tricks, Tips and Lessons Learned
Demonstration of installing plugins with zero downtime
Answer your questions
Real people use OSGi in the real world
Why Am I Giving This Talk?
Salesforce Core App
• Legacy code
• 100s of software developers
• OSGi conversion
Data Center Automation
• Green field projects
• 10s of software developers
• OSGi native
A Tale of Two Use Cases
Why Use OSGi: Bundle Modularity
Public (API) Bundle Private (Implementation) Bundle
Simple Rules:
1. Content: Only public Java Interfaces and
shared beans
2. Export all public interfaces and classes
3. Consumer can have compile time
dependency
Simple Rules:
1. Contents: Implementations of some
interfaces from API bundle
2. Export nothing
3. Consumers may not have compile
time dependencies
Contents are available to the outside world Hidden implementations
OSGi class loading
rules prevent you
from cheating!
Example: Bundle Modularity
Signal Receiver
Public Bundle
App Deploy
Service
Health
Signal
Publisher
Signal
Receiver
Metrics Bus
Redis Bus
Redis Signal
Receiver Impl
Modified Kafka (Ajna)
Bus
Ajna Signal
Receiver Impl
Kafka Bus
Kafka Signal
Receiver Impl
AWS SQS Bus
AWS SQS Signal
Receiver Impl
Why Use OSGi: Service Modularity
Service Definition
(Public Java interface)
Service Definition
(Implementing Java class)
Service Registry
Request for Service
Example: Service Modularity
Health
Signal
Source
Signal
Receiver
Metrics Bus
Signal
Source Signal
Mapper
Service implementations
could be in the same
bundle or different ones
Signal Mapper
Signal Mapper
Registry
Server Network I/O
Signal Mapper
Oracle Stats
Signal Mapper
Container Memory
Use Signal Mapper
Daemon Running
Signal Mapper
Container Network
I/O Signal Mapper
Container Disk I/O
Signal Mapper
Libvirt Stats
Signal Mapper
Deployed App
Signal Mapper
Why Use OSGi: Engineer Efficiency
App Deploy
Service
Health
Signal
Publisher
Signal
Receiver
Modified Kakfa (Ajna)
Bus
Signal Receiver
Public Bundle
Ajna Plugin w/ Ajna
Signal Receiver Impl
Tim
Contract: Signal protocol +
SignalReceiver Java
interface
Lee
Peter
Efficiency: Test and Release
App Deploy
Service
Health
Signal
Publisher
Signal
Receiver
Modified Kakfa (Ajna)
Bus
Signal Receiver
Public Bundle
Ajna Plugin w/ Ajna
Signal Receiver Impl
Tim
1. Separate git projects each tested against contract
(Eclipse model)
2. Semantic versioning to ensure compatibility
3. Zero downtime releases
Lee
Peter
Why Use OSGi: Available Features
Things you (almost)
always need:
1. Dependency
injection
2. Configuration
management
3. HTTP server
4. Admin UI
Available OSGi
features:
1. Declarative
Services*
2. ConfigAdmin
3. HTTP Service (Jetty
implementation)
4. Felix WebConsole
*Includes service lifecycle management
What’s going on with the Salesforce Data Center Automation (DCA) initiative
Why Salesforce DCA use OSGi
OSGi Tricks, Tips and Lessons Learned
Demonstration of installing plugins with zero downtime
Answer your questions
Real people use OSGi in the real world
Why Am I Giving This Talk?
OSGi Tip #1: Use BND
Bundle = +
Metadata Files
BND auto-magically generates your bundle
metadata files
Java Files Pom Files
BND
+ =
Metadata Files
+ + +
Other available
integrations. See
http://www.aqute.
biz/Bnd/Download
Metadata Files
by hand = RAGE!
OSGi Tip #2: Platform vs. App Bundles
Platform Bundles: Outside runtime
dependencies for your Application
Order of Operations:
1. Install platform bundles
2. Install app bundles
3. Start platform bundles
4. Start app bundles
App Bundles: The contents of your
Application
OSGi Tip #3: Trust the Framework
Platform Bundles: Outside runtime
dependencies for your Application
“In general trying to control start order is a disaster in the
long run.”
- Peter Kriens*
“...the correct approach is to always install ALL of the
bundles before starting ANY of them. If you do this then the
order of installation does not matter.”
- Neil Bartlett**
App Bundles: The contents of your
Application
*Source: http://stackoverflow.com/questions/19088373/how-can-i-assign-start-level-of-osgi-
modules
**Source: http://stackoverflow.com/questions/17443500/fuse-esb-fabric-feature-bundle-load-order
OSGi Tip #4: Use Felix WebConsole
Installed
Bundles!!
Running
Services!!
More Information:
http://felix.apache.org/site/apache-felix-web-console.html
What’s going on with the Salesforce Data Center Automation (DCA) initiative
Why Salesforce DCA use OSGi
OSGi Tricks, Tips and Lessons Learned
Demonstration of installing plugins with zero downtime
Answer your questions
Real people use OSGi in the real world
Why Am I Giving This Talk?
Demo Bundle
Demo: Installing Signal Mappers
Health
Demo1 Signal
Source
Redis Signal
Receiver
Redis Metrics Bus
Demo2 Signal
Source Signal
Mapper
Signal Mapper
Signal Mapper
Registry
Demo2
Signal Mapper
Demo1
Signal Mapper
1. Without the proper
mappers these signal
sources mean nothing
2. Install the demo
bundle into the Health
server
3. Activate the demo
bundle which registers
the signal mappers
4. Signals can now be
interpreted!!!!!
No magic. Only native
OSGi components:
0. Equinox framework
1. Felix ConfigAdmin
2. Felix FileInstall
3. Felix Jetty HTTP
Service
4. Felix Metatype
5. Felix SCR
6. Felix WebConsole
What’s going on with the Salesforce Data Center Automation (DCA) initiative
Why Salesforce DCA use OSGi
OSGi Tricks, Tips and Lessons Learned
Demonstration of installing plugins with zero downtime
Answer your questions
Real people use OSGi in the real world
Why Am I Giving This Talk?
Thank you

Contenu connexe

Tendances

Inflectra Overview Presentation (2021)
Inflectra Overview Presentation (2021)Inflectra Overview Presentation (2021)
Inflectra Overview Presentation (2021)Inflectra
 
Synthetic Monitoring Deep Dive - AppSphere16
Synthetic Monitoring Deep Dive - AppSphere16Synthetic Monitoring Deep Dive - AppSphere16
Synthetic Monitoring Deep Dive - AppSphere16AppDynamics
 
Inflectra CodeCamp Internship Introduction
Inflectra CodeCamp Internship IntroductionInflectra CodeCamp Internship Introduction
Inflectra CodeCamp Internship IntroductionAdam Sandman
 
Inflectra Overview Presentation (2019)
Inflectra Overview Presentation (2019)Inflectra Overview Presentation (2019)
Inflectra Overview Presentation (2019)Inflectra
 
Good Migrations: APM Essentials For Cloud Success at AppD Global Tour London
Good Migrations: APM Essentials For Cloud Success at AppD Global Tour LondonGood Migrations: APM Essentials For Cloud Success at AppD Global Tour London
Good Migrations: APM Essentials For Cloud Success at AppD Global Tour LondonAppDynamics
 
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16AppDynamics
 
Protecting Our Cyber-Identity in a Physical and Virtual World for IoT Ecosystem
Protecting Our Cyber-Identity in a Physical and Virtual World for IoT EcosystemProtecting Our Cyber-Identity in a Physical and Virtual World for IoT Ecosystem
Protecting Our Cyber-Identity in a Physical and Virtual World for IoT EcosystemCA Technologies
 
Accelerating Your Mastery of APM Through Skills Self-Analysis - AppSphere16
Accelerating Your Mastery of APM Through Skills Self-Analysis - AppSphere16Accelerating Your Mastery of APM Through Skills Self-Analysis - AppSphere16
Accelerating Your Mastery of APM Through Skills Self-Analysis - AppSphere16AppDynamics
 
Spira Team Overview Presentation
Spira Team Overview PresentationSpira Team Overview Presentation
Spira Team Overview PresentationAdam Sandman
 
#APIOps- Agile API Development powered by API Connect
#APIOps- Agile API Development powered by API Connect#APIOps- Agile API Development powered by API Connect
#APIOps- Agile API Development powered by API Connectpramodvallanur
 
[2015 Oracle Cloud Summit] 5. Java Cloud Service _Java의 모든 개발, 테스트 환경을 클라우드에서 구현
[2015 Oracle Cloud Summit] 5. Java Cloud Service _Java의 모든 개발, 테스트 환경을 클라우드에서 구현[2015 Oracle Cloud Summit] 5. Java Cloud Service _Java의 모든 개발, 테스트 환경을 클라우드에서 구현
[2015 Oracle Cloud Summit] 5. Java Cloud Service _Java의 모든 개발, 테스트 환경을 클라우드에서 구현Oracle Korea
 
Automating Test Maintenance
Automating Test MaintenanceAutomating Test Maintenance
Automating Test MaintenanceInflectra
 
Improved Interaction with Mobile User Interaction: Tips and Tricks - AppSphere16
Improved Interaction with Mobile User Interaction: Tips and Tricks - AppSphere16Improved Interaction with Mobile User Interaction: Tips and Tricks - AppSphere16
Improved Interaction with Mobile User Interaction: Tips and Tricks - AppSphere16AppDynamics
 
How Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comHow Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comSalesforce Engineering
 
Heroku Introduction: Scaling customer facing apps & services
Heroku Introduction: Scaling customer facing apps & servicesHeroku Introduction: Scaling customer facing apps & services
Heroku Introduction: Scaling customer facing apps & servicesJohn Stevenson
 
Case Study: Euroclear Adopts Continuous Delivery for New Customer-facing Appl...
Case Study: Euroclear Adopts Continuous Delivery for New Customer-facing Appl...Case Study: Euroclear Adopts Continuous Delivery for New Customer-facing Appl...
Case Study: Euroclear Adopts Continuous Delivery for New Customer-facing Appl...CA Technologies
 
GSS Infosoft Pvt Ltd
GSS Infosoft Pvt LtdGSS Infosoft Pvt Ltd
GSS Infosoft Pvt Ltdbecoder
 

Tendances (20)

Inflectra Overview Presentation (2021)
Inflectra Overview Presentation (2021)Inflectra Overview Presentation (2021)
Inflectra Overview Presentation (2021)
 
Synthetic Monitoring Deep Dive - AppSphere16
Synthetic Monitoring Deep Dive - AppSphere16Synthetic Monitoring Deep Dive - AppSphere16
Synthetic Monitoring Deep Dive - AppSphere16
 
Inflectra CodeCamp Internship Introduction
Inflectra CodeCamp Internship IntroductionInflectra CodeCamp Internship Introduction
Inflectra CodeCamp Internship Introduction
 
Inflectra Overview Presentation (2019)
Inflectra Overview Presentation (2019)Inflectra Overview Presentation (2019)
Inflectra Overview Presentation (2019)
 
Good Migrations: APM Essentials For Cloud Success at AppD Global Tour London
Good Migrations: APM Essentials For Cloud Success at AppD Global Tour LondonGood Migrations: APM Essentials For Cloud Success at AppD Global Tour London
Good Migrations: APM Essentials For Cloud Success at AppD Global Tour London
 
Oracle License Agreements Training
Oracle License Agreements TrainingOracle License Agreements Training
Oracle License Agreements Training
 
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
Getting More Out of the Node.js, PHP, and Python Agents - AppSphere16
 
Protecting Our Cyber-Identity in a Physical and Virtual World for IoT Ecosystem
Protecting Our Cyber-Identity in a Physical and Virtual World for IoT EcosystemProtecting Our Cyber-Identity in a Physical and Virtual World for IoT Ecosystem
Protecting Our Cyber-Identity in a Physical and Virtual World for IoT Ecosystem
 
Accelerating Your Mastery of APM Through Skills Self-Analysis - AppSphere16
Accelerating Your Mastery of APM Through Skills Self-Analysis - AppSphere16Accelerating Your Mastery of APM Through Skills Self-Analysis - AppSphere16
Accelerating Your Mastery of APM Through Skills Self-Analysis - AppSphere16
 
Spira Team Overview Presentation
Spira Team Overview PresentationSpira Team Overview Presentation
Spira Team Overview Presentation
 
#APIOps- Agile API Development powered by API Connect
#APIOps- Agile API Development powered by API Connect#APIOps- Agile API Development powered by API Connect
#APIOps- Agile API Development powered by API Connect
 
[2015 Oracle Cloud Summit] 5. Java Cloud Service _Java의 모든 개발, 테스트 환경을 클라우드에서 구현
[2015 Oracle Cloud Summit] 5. Java Cloud Service _Java의 모든 개발, 테스트 환경을 클라우드에서 구현[2015 Oracle Cloud Summit] 5. Java Cloud Service _Java의 모든 개발, 테스트 환경을 클라우드에서 구현
[2015 Oracle Cloud Summit] 5. Java Cloud Service _Java의 모든 개발, 테스트 환경을 클라우드에서 구현
 
Automating Test Maintenance
Automating Test MaintenanceAutomating Test Maintenance
Automating Test Maintenance
 
Improved Interaction with Mobile User Interaction: Tips and Tricks - AppSphere16
Improved Interaction with Mobile User Interaction: Tips and Tricks - AppSphere16Improved Interaction with Mobile User Interaction: Tips and Tricks - AppSphere16
Improved Interaction with Mobile User Interaction: Tips and Tricks - AppSphere16
 
Oracle license management training part 4
Oracle license management training part 4Oracle license management training part 4
Oracle license management training part 4
 
How Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.comHow Open Source Embiggens Salesforce.com
How Open Source Embiggens Salesforce.com
 
Heroku Introduction: Scaling customer facing apps & services
Heroku Introduction: Scaling customer facing apps & servicesHeroku Introduction: Scaling customer facing apps & services
Heroku Introduction: Scaling customer facing apps & services
 
Case Study: Euroclear Adopts Continuous Delivery for New Customer-facing Appl...
Case Study: Euroclear Adopts Continuous Delivery for New Customer-facing Appl...Case Study: Euroclear Adopts Continuous Delivery for New Customer-facing Appl...
Case Study: Euroclear Adopts Continuous Delivery for New Customer-facing Appl...
 
Oracle license management training part 3
Oracle license management training part 3Oracle license management training part 3
Oracle license management training part 3
 
GSS Infosoft Pvt Ltd
GSS Infosoft Pvt LtdGSS Infosoft Pvt Ltd
GSS Infosoft Pvt Ltd
 

En vedette

Microsoft excel beginner
Microsoft excel beginnerMicrosoft excel beginner
Microsoft excel beginnerSushate Sandal
 
Penggantian refrigeran dengan tingkat ODP (Ozone Depleting Potential) dan GWP...
Penggantian refrigeran dengan tingkat ODP (Ozone Depleting Potential) dan GWP...Penggantian refrigeran dengan tingkat ODP (Ozone Depleting Potential) dan GWP...
Penggantian refrigeran dengan tingkat ODP (Ozone Depleting Potential) dan GWP...drnurhessa
 
Marcus Callender: The Next Audio Engineer
Marcus Callender: The Next Audio EngineerMarcus Callender: The Next Audio Engineer
Marcus Callender: The Next Audio EngineerMarcus Callender
 
6 Great Steps for Human Life
6 Great Steps for Human Life6 Great Steps for Human Life
6 Great Steps for Human LifeAveef Combative
 
Aktiviti mewarna jalur gemilang
Aktiviti mewarna jalur gemilangAktiviti mewarna jalur gemilang
Aktiviti mewarna jalur gemilangJonathan Janting
 
Pelurusan Tafsir Tentang Framework Convention on Tobacco Control (FCTC) dalam...
Pelurusan Tafsir Tentang Framework Convention on Tobacco Control (FCTC) dalam...Pelurusan Tafsir Tentang Framework Convention on Tobacco Control (FCTC) dalam...
Pelurusan Tafsir Tentang Framework Convention on Tobacco Control (FCTC) dalam...Deni Kurniawan
 
PROFIL SMK NEGERI 3 BLITAR
PROFIL SMK NEGERI 3 BLITARPROFIL SMK NEGERI 3 BLITAR
PROFIL SMK NEGERI 3 BLITARrohmawan
 
Weschool we project 2nd semster
Weschool we project 2nd semsterWeschool we project 2nd semster
Weschool we project 2nd semsterYogesh Sharma
 
Intro to Adobe Photoshop
Intro to Adobe PhotoshopIntro to Adobe Photoshop
Intro to Adobe PhotoshopDUSPviz
 
Studi Kualitatif Fenomenologi mengenai Konsep Diri Perokok Berhijab
Studi Kualitatif Fenomenologi mengenai Konsep Diri Perokok BerhijabStudi Kualitatif Fenomenologi mengenai Konsep Diri Perokok Berhijab
Studi Kualitatif Fenomenologi mengenai Konsep Diri Perokok BerhijabCommunication Management
 
Konseling berhenti merokok
Konseling berhenti merokokKonseling berhenti merokok
Konseling berhenti merokokriyan atmoko
 
Adobe illustrator (ai)
Adobe illustrator (ai)Adobe illustrator (ai)
Adobe illustrator (ai)Laura Rangel
 

En vedette (17)

S4 tarea4 capej
S4 tarea4 capejS4 tarea4 capej
S4 tarea4 capej
 
Collaborate-DAM
Collaborate-DAMCollaborate-DAM
Collaborate-DAM
 
Historia del automovil
Historia del automovilHistoria del automovil
Historia del automovil
 
Microsoft excel beginner
Microsoft excel beginnerMicrosoft excel beginner
Microsoft excel beginner
 
Penggantian refrigeran dengan tingkat ODP (Ozone Depleting Potential) dan GWP...
Penggantian refrigeran dengan tingkat ODP (Ozone Depleting Potential) dan GWP...Penggantian refrigeran dengan tingkat ODP (Ozone Depleting Potential) dan GWP...
Penggantian refrigeran dengan tingkat ODP (Ozone Depleting Potential) dan GWP...
 
Marcus Callender: The Next Audio Engineer
Marcus Callender: The Next Audio EngineerMarcus Callender: The Next Audio Engineer
Marcus Callender: The Next Audio Engineer
 
6 Great Steps for Human Life
6 Great Steps for Human Life6 Great Steps for Human Life
6 Great Steps for Human Life
 
U.S. Bellows Expansion Joints In-Depth Webinar
U.S. Bellows Expansion Joints In-Depth WebinarU.S. Bellows Expansion Joints In-Depth Webinar
U.S. Bellows Expansion Joints In-Depth Webinar
 
Aktiviti mewarna jalur gemilang
Aktiviti mewarna jalur gemilangAktiviti mewarna jalur gemilang
Aktiviti mewarna jalur gemilang
 
Pelurusan Tafsir Tentang Framework Convention on Tobacco Control (FCTC) dalam...
Pelurusan Tafsir Tentang Framework Convention on Tobacco Control (FCTC) dalam...Pelurusan Tafsir Tentang Framework Convention on Tobacco Control (FCTC) dalam...
Pelurusan Tafsir Tentang Framework Convention on Tobacco Control (FCTC) dalam...
 
PROFIL SMK NEGERI 3 BLITAR
PROFIL SMK NEGERI 3 BLITARPROFIL SMK NEGERI 3 BLITAR
PROFIL SMK NEGERI 3 BLITAR
 
Weschool we project 2nd semster
Weschool we project 2nd semsterWeschool we project 2nd semster
Weschool we project 2nd semster
 
Intro to Adobe Photoshop
Intro to Adobe PhotoshopIntro to Adobe Photoshop
Intro to Adobe Photoshop
 
Studi Kualitatif Fenomenologi mengenai Konsep Diri Perokok Berhijab
Studi Kualitatif Fenomenologi mengenai Konsep Diri Perokok BerhijabStudi Kualitatif Fenomenologi mengenai Konsep Diri Perokok Berhijab
Studi Kualitatif Fenomenologi mengenai Konsep Diri Perokok Berhijab
 
Konseling berhenti merokok
Konseling berhenti merokokKonseling berhenti merokok
Konseling berhenti merokok
 
Adobe illustrator (ai)
Adobe illustrator (ai)Adobe illustrator (ai)
Adobe illustrator (ai)
 
bahaya merokok
bahaya merokokbahaya merokok
bahaya merokok
 

Similaire à Case study - Using OSGi within the salesforce.com Data Center Automation Initiative - Y Kral

CloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comCloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comAlistair Croll
 
2. 8 things that will make your business love your developers again
2. 8 things that will make your business love your developers again2. 8 things that will make your business love your developers again
2. 8 things that will make your business love your developers againEuroCloud
 
Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)Salesforce Partners
 
Eli Lilly is All In on Salesforce App Cloud. How They Did It and You Can Too!
Eli Lilly is All In on Salesforce App Cloud. How They Did It and You Can Too!Eli Lilly is All In on Salesforce App Cloud. How They Did It and You Can Too!
Eli Lilly is All In on Salesforce App Cloud. How They Did It and You Can Too!Dreamforce
 
Perth MeetUp September 2023
Perth MeetUp September 2023 Perth MeetUp September 2023
Perth MeetUp September 2023 Michael Price
 
Real-Time Data Feeds Using the Streaming API
Real-Time Data Feeds Using the Streaming APIReal-Time Data Feeds Using the Streaming API
Real-Time Data Feeds Using the Streaming APISalesforce Developers
 
Connect Your Clouds with Force.com
Connect Your Clouds with Force.comConnect Your Clouds with Force.com
Connect Your Clouds with Force.comJeff Douglas
 
TDX19 - Accelerate DevOps with GitLab and Salesforce
TDX19 - Accelerate DevOps with GitLab and SalesforceTDX19 - Accelerate DevOps with GitLab and Salesforce
TDX19 - Accelerate DevOps with GitLab and SalesforceDoug Ayers
 
How to Launch Your AppExchange App at Dreamforce
How to Launch Your AppExchange App at DreamforceHow to Launch Your AppExchange App at Dreamforce
How to Launch Your AppExchange App at DreamforceCodeScience
 
Building einstein analytics apps uk-compressed
Building einstein analytics apps   uk-compressedBuilding einstein analytics apps   uk-compressed
Building einstein analytics apps uk-compressedrikkehovgaard
 
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStoreDeveloping Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStoreSalesforce Developers
 
Peter Coffee 20100923 AITP Cloud Computing Con SD
Peter Coffee 20100923 AITP Cloud Computing Con SDPeter Coffee 20100923 AITP Cloud Computing Con SD
Peter Coffee 20100923 AITP Cloud Computing Con SDPeter Coffee
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforceMark Adcock
 
What's new at Elastic: Update on major initiatives and releases
What's new at Elastic: Update on major initiatives and releasesWhat's new at Elastic: Update on major initiatives and releases
What's new at Elastic: Update on major initiatives and releasesElasticsearch
 
Automate the development lifecycle with cumulus ci on april 9th, 2020
Automate the development lifecycle with cumulus ci on april 9th, 2020Automate the development lifecycle with cumulus ci on april 9th, 2020
Automate the development lifecycle with cumulus ci on april 9th, 2020Sudipta Deb ☁
 
DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudrsg00usa
 

Similaire à Case study - Using OSGi within the salesforce.com Data Center Automation Initiative - Y Kral (20)

CloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.comCloudOps evening presentation from Salesforce.com
CloudOps evening presentation from Salesforce.com
 
Salesforce platform session 2
 Salesforce platform session 2 Salesforce platform session 2
Salesforce platform session 2
 
2. 8 things that will make your business love your developers again
2. 8 things that will make your business love your developers again2. 8 things that will make your business love your developers again
2. 8 things that will make your business love your developers again
 
Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)Emerging Technologies: Heroku for ISVs (October 13, 2014)
Emerging Technologies: Heroku for ISVs (October 13, 2014)
 
Eli Lilly is All In on Salesforce App Cloud. How They Did It and You Can Too!
Eli Lilly is All In on Salesforce App Cloud. How They Did It and You Can Too!Eli Lilly is All In on Salesforce App Cloud. How They Did It and You Can Too!
Eli Lilly is All In on Salesforce App Cloud. How They Did It and You Can Too!
 
Perth MeetUp September 2023
Perth MeetUp September 2023 Perth MeetUp September 2023
Perth MeetUp September 2023
 
Real-Time Data Feeds Using the Streaming API
Real-Time Data Feeds Using the Streaming APIReal-Time Data Feeds Using the Streaming API
Real-Time Data Feeds Using the Streaming API
 
Connect Your Clouds with Force.com
Connect Your Clouds with Force.comConnect Your Clouds with Force.com
Connect Your Clouds with Force.com
 
TDX19 - Accelerate DevOps with GitLab and Salesforce
TDX19 - Accelerate DevOps with GitLab and SalesforceTDX19 - Accelerate DevOps with GitLab and Salesforce
TDX19 - Accelerate DevOps with GitLab and Salesforce
 
Using the Google SOAP API
Using the Google SOAP APIUsing the Google SOAP API
Using the Google SOAP API
 
How to Launch Your AppExchange App at Dreamforce
How to Launch Your AppExchange App at DreamforceHow to Launch Your AppExchange App at Dreamforce
How to Launch Your AppExchange App at Dreamforce
 
Building einstein analytics apps uk-compressed
Building einstein analytics apps   uk-compressedBuilding einstein analytics apps   uk-compressed
Building einstein analytics apps uk-compressed
 
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStoreDeveloping Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
Developing Offline-Capable Apps with the Salesforce Mobile SDK and SmartStore
 
Peter Coffee 20100923 AITP Cloud Computing Con SD
Peter Coffee 20100923 AITP Cloud Computing Con SDPeter Coffee 20100923 AITP Cloud Computing Con SD
Peter Coffee 20100923 AITP Cloud Computing Con SD
 
Introduction to Apex Triggers
Introduction to Apex TriggersIntroduction to Apex Triggers
Introduction to Apex Triggers
 
Integrating with salesforce
Integrating with salesforceIntegrating with salesforce
Integrating with salesforce
 
Adopting Salesforce DX
Adopting Salesforce DXAdopting Salesforce DX
Adopting Salesforce DX
 
What's new at Elastic: Update on major initiatives and releases
What's new at Elastic: Update on major initiatives and releasesWhat's new at Elastic: Update on major initiatives and releases
What's new at Elastic: Update on major initiatives and releases
 
Automate the development lifecycle with cumulus ci on april 9th, 2020
Automate the development lifecycle with cumulus ci on april 9th, 2020Automate the development lifecycle with cumulus ci on april 9th, 2020
Automate the development lifecycle with cumulus ci on april 9th, 2020
 
DevOps in Salesforce AppCloud
DevOps in Salesforce AppCloudDevOps in Salesforce AppCloud
DevOps in Salesforce AppCloud
 

Plus de mfrancis

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...mfrancis
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)mfrancis
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)mfrancis
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruumfrancis
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...mfrancis
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...mfrancis
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...mfrancis
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)mfrancis
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...mfrancis
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)mfrancis
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...mfrancis
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...mfrancis
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...mfrancis
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)mfrancis
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)mfrancis
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)mfrancis
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...mfrancis
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)mfrancis
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...mfrancis
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)mfrancis
 

Plus de mfrancis (20)

Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
Eclipse Modeling Framework and plain OSGi the easy way - Mark Hoffman (Data I...
 
OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)OSGi and Java 9+ - BJ Hargrave (IBM)
OSGi and Java 9+ - BJ Hargrave (IBM)
 
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
Simplify Web UX Coding using OSGi Modularity Magic - Paul Fraser (A2Z Living)
 
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank LyaruuOSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
OSGi for the data centre - Connecting OSGi to Kubernetes - Frank Lyaruu
 
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
Remote Management and Monitoring of Distributed OSGi Applications - Tim Verbe...
 
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
OSGi with Docker - a powerful way to develop Java systems - Udo Hafermann (So...
 
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
A real world use case with OSGi R7 - Jurgen Albert (Data In Motion Consulting...
 
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
OSGi Feature Model - Where Art Thou - David Bosschaert (Adobe)
 
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
Migrating from PDE to Bndtools in Practice - Amit Kumar Mondal (Deutsche Tele...
 
OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)OSGi CDI Integration Specification - Ray Augé (Liferay)
OSGi CDI Integration Specification - Ray Augé (Liferay)
 
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
How OSGi drives cross-sector energy management - Jörn Tümmler (SMA Solar Tech...
 
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
Improved developer productivity thanks to Maven and OSGi - Lukasz Dywicki (Co...
 
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
It Was Twenty Years Ago Today - Building an OSGi based Smart Home System - Ch...
 
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)Popular patterns revisited on OSGi - Christian Schneider (Adobe)
Popular patterns revisited on OSGi - Christian Schneider (Adobe)
 
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
Integrating SLF4J and the new OSGi LogService 1.4 - BJ Hargrave (IBM)
 
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
OSG(a)i: because AI needs a runtime - Tim Verbelen (imec)
 
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
Flying to Jupiter with OSGi - Tony Walsh (ESA) & Hristo Indzhov (Telespazio V...
 
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
MicroProfile, OSGi was meant for this - Ray Auge (Liferay)
 
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
Prototyping IoT systems with a hybrid OSGi & Node-RED platform - Bruce Jackso...
 
How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)How to connect your OSGi application - Dirk Fauth (Bosch)
How to connect your OSGi application - Dirk Fauth (Bosch)
 

Dernier

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 

Dernier (20)

Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

Case study - Using OSGi within the salesforce.com Data Center Automation Initiative - Y Kral

  • 1. Case Study: Using OSGi within the Salesforce Data Center Automation Initiative Tim Kral, Principal Engineer tkral@salesforce.com
  • 2. 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 any litigation, risks associated with completed and any 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-K for the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These 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
  • 3. Why Am I Giving This Talk? Once upon a time, my co-workers were skeptical... “OSGi seems great but I’m not sure who uses it in the real world.” - Lee “OSGi seems to have a high cost and I’m not sure what benefit we are getting from it.” - Austin “Every time we encounter an OSGi problem, I’m going to make you put a dollar in a jar so we have beer money.” - Peter
  • 4. What’s going on with the Salesforce Data Center Automation (DCA) initiative Why Salesforce DCA use OSGi OSGi Tricks, Tips and Lessons Learned Demonstration of installing plugins with zero downtime Answer your questions Real people use OSGi in the real world Why Am I Giving This Talk?
  • 5. What’s going on with the Salesforce Data Center Automation (DCA) initiative Why Salesforce DCA use OSGi OSGi Tricks, Tips and Lessons Learned Demonstration of installing plugins with zero downtime Answer your questions Real people use OSGi in the real world Why Am I Giving This Talk?
  • 6. 21B messages sent in a month 3.1B API calls in a month (nearly 50% of all transactions) 45 major releases AppExchange: 2000+ app with 2M installs Real people use OSGi in the real world About Salesforce
  • 7. The Cloud Computing Pyramid Infrastructure as a Service Virtualized Containers, Network Services Storage, Image Management, Security Platform as a Service Database Services, User Management Application Servers, Caching Software as a Service Business software consumed by end users
  • 8. Salesforce DCA Initiative Infrastructure as a Service Virtualized Containers, Network Services Storage, Image Management, Security Application Deployment Services Code / Configuration Deployment, Maintain Cardinality Software as a Service Physical Data Center Bootstrapping OS Installation, Role Assignment Static Network Configuration, Asset Registration Health Monitoring Runtime Signal Monitoring, Health Inferences, Automated Repair Loop Internal Salesforce engineers deploy services for consumption
  • 9. Workflow: Data Center Expansion Application Deployment Services Infrastructure as a Service Software as a Service Physical Data Center Bootstrapping Health Monitoring 1. Roll in Rack 2. Install OS 3. Register Servers w/ Roles
  • 10. Workflow: Software Deployment Application Deployment Services Infrastructure as a Service Software as a Service Physical Data Center Bootstrapping Health Monitoring 1. Service team submits artifact + configuration 2. New VM and LB request 3. Provision VM and LB based on registered servers 4. Deploy app and maintain cardinality
  • 11. Workflow: Health Monitoring Application Deployment Services Infrastructure as a Service Physical Data Center Bootstrapping Health Monitoring 4. Perform repair action 2. Aggregate signal and infer health Software as a Service 3. Request repair if service unhealthy 1. Deployed app is polled for health signal
  • 12. Where is OSGi Used? Application Deployment Services Infrastructure as a Service Physical Data Center Bootstrapping Health Monitoring Software as a Service OSGi !!! Java: Ruby: Language agnostic:
  • 13. What’s going on with the Salesforce Data Center Automation (DCA) initiative Why Salesforce DCA use OSGi OSGi Tricks, Tips and Lessons Learned Demonstration of installing plugins with zero downtime Answer your questions Real people use OSGi in the real world Why Am I Giving This Talk?
  • 14. Salesforce Core App • Legacy code • 100s of software developers • OSGi conversion Data Center Automation • Green field projects • 10s of software developers • OSGi native A Tale of Two Use Cases
  • 15. Why Use OSGi: Bundle Modularity Public (API) Bundle Private (Implementation) Bundle Simple Rules: 1. Content: Only public Java Interfaces and shared beans 2. Export all public interfaces and classes 3. Consumer can have compile time dependency Simple Rules: 1. Contents: Implementations of some interfaces from API bundle 2. Export nothing 3. Consumers may not have compile time dependencies Contents are available to the outside world Hidden implementations OSGi class loading rules prevent you from cheating!
  • 16. Example: Bundle Modularity Signal Receiver Public Bundle App Deploy Service Health Signal Publisher Signal Receiver Metrics Bus Redis Bus Redis Signal Receiver Impl Modified Kafka (Ajna) Bus Ajna Signal Receiver Impl Kafka Bus Kafka Signal Receiver Impl AWS SQS Bus AWS SQS Signal Receiver Impl
  • 17. Why Use OSGi: Service Modularity Service Definition (Public Java interface) Service Definition (Implementing Java class) Service Registry Request for Service
  • 18. Example: Service Modularity Health Signal Source Signal Receiver Metrics Bus Signal Source Signal Mapper Service implementations could be in the same bundle or different ones Signal Mapper Signal Mapper Registry Server Network I/O Signal Mapper Oracle Stats Signal Mapper Container Memory Use Signal Mapper Daemon Running Signal Mapper Container Network I/O Signal Mapper Container Disk I/O Signal Mapper Libvirt Stats Signal Mapper Deployed App Signal Mapper
  • 19. Why Use OSGi: Engineer Efficiency App Deploy Service Health Signal Publisher Signal Receiver Modified Kakfa (Ajna) Bus Signal Receiver Public Bundle Ajna Plugin w/ Ajna Signal Receiver Impl Tim Contract: Signal protocol + SignalReceiver Java interface Lee Peter
  • 20. Efficiency: Test and Release App Deploy Service Health Signal Publisher Signal Receiver Modified Kakfa (Ajna) Bus Signal Receiver Public Bundle Ajna Plugin w/ Ajna Signal Receiver Impl Tim 1. Separate git projects each tested against contract (Eclipse model) 2. Semantic versioning to ensure compatibility 3. Zero downtime releases Lee Peter
  • 21. Why Use OSGi: Available Features Things you (almost) always need: 1. Dependency injection 2. Configuration management 3. HTTP server 4. Admin UI Available OSGi features: 1. Declarative Services* 2. ConfigAdmin 3. HTTP Service (Jetty implementation) 4. Felix WebConsole *Includes service lifecycle management
  • 22. What’s going on with the Salesforce Data Center Automation (DCA) initiative Why Salesforce DCA use OSGi OSGi Tricks, Tips and Lessons Learned Demonstration of installing plugins with zero downtime Answer your questions Real people use OSGi in the real world Why Am I Giving This Talk?
  • 23. OSGi Tip #1: Use BND Bundle = + Metadata Files BND auto-magically generates your bundle metadata files Java Files Pom Files BND + = Metadata Files + + + Other available integrations. See http://www.aqute. biz/Bnd/Download Metadata Files by hand = RAGE!
  • 24. OSGi Tip #2: Platform vs. App Bundles Platform Bundles: Outside runtime dependencies for your Application Order of Operations: 1. Install platform bundles 2. Install app bundles 3. Start platform bundles 4. Start app bundles App Bundles: The contents of your Application
  • 25. OSGi Tip #3: Trust the Framework Platform Bundles: Outside runtime dependencies for your Application “In general trying to control start order is a disaster in the long run.” - Peter Kriens* “...the correct approach is to always install ALL of the bundles before starting ANY of them. If you do this then the order of installation does not matter.” - Neil Bartlett** App Bundles: The contents of your Application *Source: http://stackoverflow.com/questions/19088373/how-can-i-assign-start-level-of-osgi- modules **Source: http://stackoverflow.com/questions/17443500/fuse-esb-fabric-feature-bundle-load-order
  • 26. OSGi Tip #4: Use Felix WebConsole Installed Bundles!! Running Services!! More Information: http://felix.apache.org/site/apache-felix-web-console.html
  • 27. What’s going on with the Salesforce Data Center Automation (DCA) initiative Why Salesforce DCA use OSGi OSGi Tricks, Tips and Lessons Learned Demonstration of installing plugins with zero downtime Answer your questions Real people use OSGi in the real world Why Am I Giving This Talk?
  • 28. Demo Bundle Demo: Installing Signal Mappers Health Demo1 Signal Source Redis Signal Receiver Redis Metrics Bus Demo2 Signal Source Signal Mapper Signal Mapper Signal Mapper Registry Demo2 Signal Mapper Demo1 Signal Mapper 1. Without the proper mappers these signal sources mean nothing 2. Install the demo bundle into the Health server 3. Activate the demo bundle which registers the signal mappers 4. Signals can now be interpreted!!!!! No magic. Only native OSGi components: 0. Equinox framework 1. Felix ConfigAdmin 2. Felix FileInstall 3. Felix Jetty HTTP Service 4. Felix Metatype 5. Felix SCR 6. Felix WebConsole
  • 29. What’s going on with the Salesforce Data Center Automation (DCA) initiative Why Salesforce DCA use OSGi OSGi Tricks, Tips and Lessons Learned Demonstration of installing plugins with zero downtime Answer your questions Real people use OSGi in the real world Why Am I Giving This Talk?