Ian Varley shares how salesforce.com is currently using and contributing to open source and what he feels the benefits are to OSS. This was first presented at Dreamforce '13 with the same name.
Talk given by Alan Vaghti, SMTS, Software Engineering at Salesforce, at San Francisco Puppet User Group meetup.com event
How Salesforce uses r10k, Jenkins, Vagrant, Rouster, GitHub and other tools to support multiple teams doing parallel Puppet development.
Talk given by Mysti Berry, Principal Technical Writer at Salesforce, at Society of Technical Communicators, San Francisco chapter monthly meeting.
Case study of why one enterprise software company, Salesforce, chose DITA for its post-sales technical content. We share what worked well, and a few best practices we've learned.
The document discusses quality engineering (QE) and its role in a DevOps transformation at Salesforce. QE is involved at all stages of development to prevent issues. They work closely with developers, operations, security and other teams. The goal is to build quality into the product from the start and make quality everyone's responsibility, not just testing. A DevOps culture with strong QE collaboration can deliver high quality services to customers.
Salesforce.com is an enterprise Cloud Computing Leader that specializes in Software as a Service. With several hundred teams working on our diverse product suite, releasing three times a year is not an easy endeavor. Our Agile processes are the key to our success. In this deck, learn the 5 fundamental elements of our successful enterprise implementation of Agile software development methodologies.
This document discusses DevOps practices at Salesforce, including:
- Using continuous delivery pipelines to plan, build, test, release, deploy and monitor code changes.
- Organizing teams using a Scrum model with sprints every two weeks and an average size of 7 engineers per team.
- Maintaining sandbox environments like development, test, UAT and production for each project.
- Following a branching strategy in version control and using continuous integration to test and deploy code changes.
Talk given by David Lucey, Systems Engineering Architect at Salesforce, at Open Network Users Group in May 2016
โLivestock, not Pets.โ Weโve all heard the phrase, but it seems to be so much harder in practice. Itโs even worse when applications are developed over decades.
Well, the Salesforce application suite has been developed over decades, with a massive number of products, features, and offerings within its own ecosystem. Come see how Salesforce wrangles that livestock and handles their scale of infrastructure at a high velocity โ all while maintaining their high level of security.
This document tells the story of how a class project evolved into a company with thousands of engineers and millions of lines of code using continuous integration practices over 15 years. It describes how the project started with manual code sharing and testing, then adopted version control and regular integration. It details how the company scaled up practices like automated builds, testing, and failure tracking to support growth from 2 people to thousands of engineers and over 200,000 tests while maintaining quality. The key takeaways are shortening feedback loops through practices like continuous integration, adopting principles like versioning everything and automating as much as possible, and having scalable solutions at each stage of growth.
Salesforce API Series: Release Management with the Metadata API webinarSalesforce Developers
ย
The Metadata API allows you to make changes to your Salesforce instance and then deploy those changes through sandboxes to production. There are many tools, both Salesforce-provided or community developed, that allow you to interact with the Metadata API. The API is a fundamental part of release management but actually managing the โchangeโ is what literally makes or breaks an implementation. This webinar focuses on building automation into your release management process using commonly available enterprise tools.
Key Takeaways
:: Learn about the Metadata API and some common API calls
:: Explore the tools built on top of the API
:: Learn how to leverage a version control system manage multiple development streams
:: Build deployment pipelines with automated testing
Intended Audience
:: Force.com Developers / Quality Assurance, Technical Leads, Architects, Application Directors
Automating Deployment Between Orgs Using Git & Continuous IntegrationSebastian Wagner
ย
Updated with the deck from DF14
As a fully certified TA, I offer expert consulting services around continuous integration, practice development and governance to help customers leveraging the advantages of SFDC.
https://uk.linkedin.com/in/se6wagner/
Abstract:
Automating the deployment between environments (dev, test, prod, etc.) gives consistency, visibility, and validation to the process.This greatly speeds up deployment and provides early detection of defects. Join us as we cover the theory and best practices of this approach. You'll discover how to design your own automated processes using Continuous Integration (CI) tools and Git version control.
Salesforce is introducing a new product called BigObjects that allows building apps on the Force.com platform to store and query extremely large datasets using Apache Phoenix and Apache HBase. BigObjects provides a familiar Force.com-like development model to scale to hundreds of billions of records. Key challenges addressed include enabling stable query performance independent of data size, resilient querying with full SOQL power, high throughput data loading, and ensuring efficient resource usage of the Apache Phoenix client in a multitenant environment through techniques like connection pooling and performance testing.
Talk given by Michael Damkot, Principal Network Engineer at Salesforce, at Interop in May 2016
A variety of efforts are underway to bring more programmability and automation to network management. These efforts are important because traditional methods canโt match the speed or scale required by modern applications and services, both in the data center and the cloud.
One mechanism to drive the evolution to a truly programmatic network is declarative network configuration, in which the expected state of the network is maintained in a configuration repository. Software is then used to instantiate the desired state on network devices.
Such software helps engineers and administrators provision network services more quickly, build more reliable networks, and shift their time and resources away from tedious configuration tasks to tackle more interesting challenges.
This talk aims to help you re-think how the network is managed. Iโll offer tips from my experience with declarative network configuration and its effectiveness in the real world, and describe tools Iโve leveraged in the pursuit of a truly automated and framework, including Ansible and Puppet.
TDX19 - Accelerate DevOps with GitLab and SalesforceDoug Ayers
ย
Continuous Integration (CI) and Continuous Delivery (CD) provide an unparalleled opportunity for teams to reduce cycle times and increase the quality of their releases, but getting started isn't always obvious. In this session we'll show you how to get going faster than ever with GitLab and Salesforce DX tools by configuring CI/CD pipelines and demonstrating best practices for Salesforce development. We'll give you a brief primer on CI/CD, then show you how to create a deployment pipeline that takes changes you make in a Scratch Org all the way to production, and how to do this across teams using a feature branching strategy and concurrent DevOps. You'll see live demos and walk away with the knowhow to release faster with reduced risk.
https://success.salesforce.com/sessions?eventId=a1Q3A000026slov#/session/a2q3A000002BGbsQAG
This document discusses design patterns for using Salesforce's Second Generation Packaging (2GP). It begins by explaining traditional software design patterns and how they can apply to Salesforce development. It then discusses how Salesforce applications can be decomposed and developed modularly using 2GP. Finally, it describes how the AutoRABIT platform can help integrate development, ALM, and release processes to enable efficient 2GP practices.
Agile at Salesforce From theory to practice, how to be agile at scaleSalesforce Engineering
ย
Talk given by Pitch Chevalier, Director of SW Engineering, Search, at Salesforce, at Agile Grenoble 2015.
The story of Agile at Salesforce started in 2006 when the engineering teams were facing several blockers, delays and quality issues. The adoption of an agile methodology inspired by scrum, common to all teams, backed by senior management, lead to having shorter and predictable development cycles with three releases per year, deployed to all customers. The approach had a big focus on initiative and autonomy giving teams all latitude. It was key to the adoption and the agile transformation.
In order to support this new organization based on a large number of small teams, working independently, distributed across sites and different locations, a set of common agile tools was being deployed allowing teams to manage their projects, their delivery artifacts and more important to collaborate seamlessly.
This talk starts with a high-level description of the ADM (Agile Development Methodology), lessons learned and issues to overcome. It might even point to new issues that remain to be addressed. The second part of the presentation showcases the Salesforce Agile Accelerator, that can also be used by our customers.
The document discusses how Salesforce adapted DITA standards for titles and short descriptions (shortdescs) to better suit release notes. Key changes included writing titles in the imperative to show customers new capabilities, focusing shortdescs on what's new rather than descriptions, and addressing only administrators and developers rather than end users. Guidelines emphasized covering all key changes and prioritizing comprehensiveness over length. The presentation reviews challenges in implementing the guidelines and ideas for continued improvement.
Dreamforce 2014 Presentation : Salesforce.com Sandbox management
Large organizations have complex development processes that span multiple release schedules. It is not only the division between development and testing that is important, but the synchronization of projects on different schedules.
The document discusses release management for software deployed to the cloud. It describes a typical enterprise release process with 6 steps: 1) multi-release scheduling, 2) pre-release communications, 3) deployment workflow planning, 4) release deployment, 5) release communications, and 6) post-release monitoring. It also discusses using continuous integration, continuous delivery, and monitoring to provide an "always-on" cloud service.
Sandbox Templates allow you to create sandboxes with some, but not all, of your data. They work with both Full sandboxes (released Summer '13) and Partial Data sandboxes (released Winter '14). Sandbox Templates allow you to choose which objects and object data to copy into a new sandbox so you can control it's size and content.Join us to hear the details of how Sandbox Templates work with both Full and Partial Data sandboxes. We'll also discuss the algorithms used to determine what objects get copied when you create a sandbox using Sandbox Templates.
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...Sam Garforth
ย
Sam Garforth presented this at the Salesforce Enterprise Architect Forum on January 12th 2017. It covers governance and best practices for developing, deploying and supporting applications running on the Salesforce platform, whether these be apps or configurations of Sales or Service Cloud or Communities.
Salesforce โ Proven Platform Development with DevOps & AgileSai Jithesh โ๏ธ
ย
The document discusses forward-looking statements and associated risks and uncertainties. It states that any projections or statements regarding strategies, plans, beliefs, expected functionality, features, or customer contracts contain forward-looking statements that are subject to risks and uncertainties. These risks include factors that could affect salesforce.com's financial results such as operating losses, fluctuations in results, security breaches, litigation outcomes, mergers and acquisitions, growth management, and reliance on key personnel. The document also notes that unreleased services mentioned may not be delivered on time or at all, and purchase decisions should be based on currently available features.
Talk given by Ravi Kishore Valeti, Software Engineering LMTS at Salesforce, at GIDS in April 2016
Most Enterprises have been thinking of (and some of them are already) running BDaaS and performing analytics over their Big Data to help make key business decisions. This talk is about "what it takes to operationalize BDaaS, challenges in successfully running large scale Big Data clusters".
Manage Development in Your Org with Salesforce Governance FrameworkSalesforce Developers
ย
As your team creates more apps in your Salesforce Org, you're faced with a new set of challenges: managing a well-designed org. Join us to learn about using the practices defined in the Salesforce Governance framework, and the set of tools available for managing issues such as security, coding standards, decisions over declarative verses Apex apps, design standards, overall Org strategy, and change control. By applying these best practices, your team can continue to grow your apps to meet the continuing challenges of your company.
CodeLive with Adam Daw - Building a mobile friendly geolocation aware candy t...JackGuo20
ย
In this special Halloween session of CodeLive, we'll build an app to track which houses in the neighborhood have the best candy, year over year. Register now to join Adam Daw and Kevin Poorman as they build a Salesforce mobile-friendly candy tracker app using Lightning Web Components, Lightning Data Service, and geolocation.
With the new Lightning Editions of Salesforce, everyone now has plenty of sandboxes available to put together a robust change/release management process. Join us as we talk about how to maximize the use of your sandboxes, including refresh cycles, Sandbox templates, Change Set & Package flow between environments, Single Sign-on through Environment Hub, and more.
See the video of this presentation here: https://www.salesforce.com/video/306450/
and more details here:
https://success.salesforce.com/Sessions?eventId=a1Q3000000qQOd9#/session/a2q3A000000LBfmQAG
How to Setup Continuous Integration With Git, Jenkins, and Force.comSalesforce Developers
ย
Join us we walk through setting up a continuous integration system for Salesforce development, from scratch, using Git, Jenkins, the Force.com Migration Tool, and the Apex Data Loader, following a proven, step-by-step approach that you can use with your own project. You'll learn how to manage code using feature-specific sandboxes and feature-specific branches. We'll present the actual configuration scripts we use to make all this work for our group of eight developers, working together on the same managed product, spanning 65+ objects, 350+ classes, and 600+ Apex tests.
Even the most successful projects can be derailed by a poor deployment. Join us as we discuss the plans, tools, and strategies that are critical to a successful deployment. We'll also review common mistakes that administrators, developers, and project managers make that can doom a deployment before it's even begun. We'll demonstrate deployment with both point and click tools such as Change Sets, as well as developer tools like Eclipse and Ant.
The document discusses approaches to software deployments, noting that traditional organizations deploy software 4 times per year while newer organizations deploy software 15 times per day. It advocates automating the entire software delivery pipeline including deployments to reduce risks and costs, by applying the principle of "if it hurts, do it often" through continuous integration, delivery, and deployment.
El documento proporciona un formato para que los estudiantes establezcan metas personales, familiares, de estudio y sociales. Les pide que respondan preguntas sobre si suelen establecer metas y mostrar interรฉs por ellas. Luego deben escribir sus propias metas en cada categorรญa y firmar un contrato para comprometerse a intentar superar todas las metas propuestas.
Salesforce API Series: Release Management with the Metadata API webinarSalesforce Developers
ย
The Metadata API allows you to make changes to your Salesforce instance and then deploy those changes through sandboxes to production. There are many tools, both Salesforce-provided or community developed, that allow you to interact with the Metadata API. The API is a fundamental part of release management but actually managing the โchangeโ is what literally makes or breaks an implementation. This webinar focuses on building automation into your release management process using commonly available enterprise tools.
Key Takeaways
:: Learn about the Metadata API and some common API calls
:: Explore the tools built on top of the API
:: Learn how to leverage a version control system manage multiple development streams
:: Build deployment pipelines with automated testing
Intended Audience
:: Force.com Developers / Quality Assurance, Technical Leads, Architects, Application Directors
Automating Deployment Between Orgs Using Git & Continuous IntegrationSebastian Wagner
ย
Updated with the deck from DF14
As a fully certified TA, I offer expert consulting services around continuous integration, practice development and governance to help customers leveraging the advantages of SFDC.
https://uk.linkedin.com/in/se6wagner/
Abstract:
Automating the deployment between environments (dev, test, prod, etc.) gives consistency, visibility, and validation to the process.This greatly speeds up deployment and provides early detection of defects. Join us as we cover the theory and best practices of this approach. You'll discover how to design your own automated processes using Continuous Integration (CI) tools and Git version control.
Salesforce is introducing a new product called BigObjects that allows building apps on the Force.com platform to store and query extremely large datasets using Apache Phoenix and Apache HBase. BigObjects provides a familiar Force.com-like development model to scale to hundreds of billions of records. Key challenges addressed include enabling stable query performance independent of data size, resilient querying with full SOQL power, high throughput data loading, and ensuring efficient resource usage of the Apache Phoenix client in a multitenant environment through techniques like connection pooling and performance testing.
Talk given by Michael Damkot, Principal Network Engineer at Salesforce, at Interop in May 2016
A variety of efforts are underway to bring more programmability and automation to network management. These efforts are important because traditional methods canโt match the speed or scale required by modern applications and services, both in the data center and the cloud.
One mechanism to drive the evolution to a truly programmatic network is declarative network configuration, in which the expected state of the network is maintained in a configuration repository. Software is then used to instantiate the desired state on network devices.
Such software helps engineers and administrators provision network services more quickly, build more reliable networks, and shift their time and resources away from tedious configuration tasks to tackle more interesting challenges.
This talk aims to help you re-think how the network is managed. Iโll offer tips from my experience with declarative network configuration and its effectiveness in the real world, and describe tools Iโve leveraged in the pursuit of a truly automated and framework, including Ansible and Puppet.
TDX19 - Accelerate DevOps with GitLab and SalesforceDoug Ayers
ย
Continuous Integration (CI) and Continuous Delivery (CD) provide an unparalleled opportunity for teams to reduce cycle times and increase the quality of their releases, but getting started isn't always obvious. In this session we'll show you how to get going faster than ever with GitLab and Salesforce DX tools by configuring CI/CD pipelines and demonstrating best practices for Salesforce development. We'll give you a brief primer on CI/CD, then show you how to create a deployment pipeline that takes changes you make in a Scratch Org all the way to production, and how to do this across teams using a feature branching strategy and concurrent DevOps. You'll see live demos and walk away with the knowhow to release faster with reduced risk.
https://success.salesforce.com/sessions?eventId=a1Q3A000026slov#/session/a2q3A000002BGbsQAG
This document discusses design patterns for using Salesforce's Second Generation Packaging (2GP). It begins by explaining traditional software design patterns and how they can apply to Salesforce development. It then discusses how Salesforce applications can be decomposed and developed modularly using 2GP. Finally, it describes how the AutoRABIT platform can help integrate development, ALM, and release processes to enable efficient 2GP practices.
Agile at Salesforce From theory to practice, how to be agile at scaleSalesforce Engineering
ย
Talk given by Pitch Chevalier, Director of SW Engineering, Search, at Salesforce, at Agile Grenoble 2015.
The story of Agile at Salesforce started in 2006 when the engineering teams were facing several blockers, delays and quality issues. The adoption of an agile methodology inspired by scrum, common to all teams, backed by senior management, lead to having shorter and predictable development cycles with three releases per year, deployed to all customers. The approach had a big focus on initiative and autonomy giving teams all latitude. It was key to the adoption and the agile transformation.
In order to support this new organization based on a large number of small teams, working independently, distributed across sites and different locations, a set of common agile tools was being deployed allowing teams to manage their projects, their delivery artifacts and more important to collaborate seamlessly.
This talk starts with a high-level description of the ADM (Agile Development Methodology), lessons learned and issues to overcome. It might even point to new issues that remain to be addressed. The second part of the presentation showcases the Salesforce Agile Accelerator, that can also be used by our customers.
The document discusses how Salesforce adapted DITA standards for titles and short descriptions (shortdescs) to better suit release notes. Key changes included writing titles in the imperative to show customers new capabilities, focusing shortdescs on what's new rather than descriptions, and addressing only administrators and developers rather than end users. Guidelines emphasized covering all key changes and prioritizing comprehensiveness over length. The presentation reviews challenges in implementing the guidelines and ideas for continued improvement.
Dreamforce 2014 Presentation : Salesforce.com Sandbox management
Large organizations have complex development processes that span multiple release schedules. It is not only the division between development and testing that is important, but the synchronization of projects on different schedules.
The document discusses release management for software deployed to the cloud. It describes a typical enterprise release process with 6 steps: 1) multi-release scheduling, 2) pre-release communications, 3) deployment workflow planning, 4) release deployment, 5) release communications, and 6) post-release monitoring. It also discusses using continuous integration, continuous delivery, and monitoring to provide an "always-on" cloud service.
Sandbox Templates allow you to create sandboxes with some, but not all, of your data. They work with both Full sandboxes (released Summer '13) and Partial Data sandboxes (released Winter '14). Sandbox Templates allow you to choose which objects and object data to copy into a new sandbox so you can control it's size and content.Join us to hear the details of how Sandbox Templates work with both Full and Partial Data sandboxes. We'll also discuss the algorithms used to determine what objects get copied when you create a sandbox using Sandbox Templates.
Salesforce Application Lifecycle Management presented to EA Forum by Sam Garf...Sam Garforth
ย
Sam Garforth presented this at the Salesforce Enterprise Architect Forum on January 12th 2017. It covers governance and best practices for developing, deploying and supporting applications running on the Salesforce platform, whether these be apps or configurations of Sales or Service Cloud or Communities.
Salesforce โ Proven Platform Development with DevOps & AgileSai Jithesh โ๏ธ
ย
The document discusses forward-looking statements and associated risks and uncertainties. It states that any projections or statements regarding strategies, plans, beliefs, expected functionality, features, or customer contracts contain forward-looking statements that are subject to risks and uncertainties. These risks include factors that could affect salesforce.com's financial results such as operating losses, fluctuations in results, security breaches, litigation outcomes, mergers and acquisitions, growth management, and reliance on key personnel. The document also notes that unreleased services mentioned may not be delivered on time or at all, and purchase decisions should be based on currently available features.
Talk given by Ravi Kishore Valeti, Software Engineering LMTS at Salesforce, at GIDS in April 2016
Most Enterprises have been thinking of (and some of them are already) running BDaaS and performing analytics over their Big Data to help make key business decisions. This talk is about "what it takes to operationalize BDaaS, challenges in successfully running large scale Big Data clusters".
Manage Development in Your Org with Salesforce Governance FrameworkSalesforce Developers
ย
As your team creates more apps in your Salesforce Org, you're faced with a new set of challenges: managing a well-designed org. Join us to learn about using the practices defined in the Salesforce Governance framework, and the set of tools available for managing issues such as security, coding standards, decisions over declarative verses Apex apps, design standards, overall Org strategy, and change control. By applying these best practices, your team can continue to grow your apps to meet the continuing challenges of your company.
CodeLive with Adam Daw - Building a mobile friendly geolocation aware candy t...JackGuo20
ย
In this special Halloween session of CodeLive, we'll build an app to track which houses in the neighborhood have the best candy, year over year. Register now to join Adam Daw and Kevin Poorman as they build a Salesforce mobile-friendly candy tracker app using Lightning Web Components, Lightning Data Service, and geolocation.
With the new Lightning Editions of Salesforce, everyone now has plenty of sandboxes available to put together a robust change/release management process. Join us as we talk about how to maximize the use of your sandboxes, including refresh cycles, Sandbox templates, Change Set & Package flow between environments, Single Sign-on through Environment Hub, and more.
See the video of this presentation here: https://www.salesforce.com/video/306450/
and more details here:
https://success.salesforce.com/Sessions?eventId=a1Q3000000qQOd9#/session/a2q3A000000LBfmQAG
How to Setup Continuous Integration With Git, Jenkins, and Force.comSalesforce Developers
ย
Join us we walk through setting up a continuous integration system for Salesforce development, from scratch, using Git, Jenkins, the Force.com Migration Tool, and the Apex Data Loader, following a proven, step-by-step approach that you can use with your own project. You'll learn how to manage code using feature-specific sandboxes and feature-specific branches. We'll present the actual configuration scripts we use to make all this work for our group of eight developers, working together on the same managed product, spanning 65+ objects, 350+ classes, and 600+ Apex tests.
Even the most successful projects can be derailed by a poor deployment. Join us as we discuss the plans, tools, and strategies that are critical to a successful deployment. We'll also review common mistakes that administrators, developers, and project managers make that can doom a deployment before it's even begun. We'll demonstrate deployment with both point and click tools such as Change Sets, as well as developer tools like Eclipse and Ant.
The document discusses approaches to software deployments, noting that traditional organizations deploy software 4 times per year while newer organizations deploy software 15 times per day. It advocates automating the entire software delivery pipeline including deployments to reduce risks and costs, by applying the principle of "if it hurts, do it often" through continuous integration, delivery, and deployment.
El documento proporciona un formato para que los estudiantes establezcan metas personales, familiares, de estudio y sociales. Les pide que respondan preguntas sobre si suelen establecer metas y mostrar interรฉs por ellas. Luego deben escribir sus propias metas en cada categorรญa y firmar un contrato para comprometerse a intentar superar todas las metas propuestas.
Presentation at the Health Consumers Council Patient Experience Week Events, by Dr Carmel Crock and Ms Anita Deakin.
The Emergency Medicine Events Register is an "adverse event and near-miss reporting system that is peer-led, online, anonymous and confidential. It is a means of supporting improvement in safety and quality in emergency medicine by understanding of contributing factors and how the risk of harm to patients can be minimised or prevented."
See http://www.emer.org.au/
The document discusses efforts by companies like Accenture, Marks and Spencer, and others to address youth unemployment in the UK. It describes Accenture's Skills to Succeed Academy, which provides online training to develop employability skills for young people. Marks and Spencer outlines its three-part approach including a program with The Prince's Trust giving young people work placements and engaging suppliers. It also discusses the Movement to Work initiative where companies pledge to provide 4-6 week training placements for unemployed youth equivalent to 2% of their workforce and engage suppliers to multiply the impact. The goal is to create 100,000 placements for unemployed youth by June 2015 to help develop skills and lead to jobs.
This document discusses HBase backup strategies at IBM BigInsights and Salesforce. It provides an overview of common backup approaches, then details IBM's solution of using write-ahead logs for full and incremental backups and providing CLI and web user interfaces. Salesforce's approach is outlined as taking table snapshots at points in time and storing backup data chunked by table and tenant with manifest files. Both emphasize the importance of validation and fast restore capabilities for enterprise backups.
Precision medicine involves using genomic testing to individualize medical care by testing multiple genes at once. Genomic counseling is the process of obtaining a family history, formulating a testing strategy, providing counseling on potential outcomes, coordinating testing, and disclosing results. Key steps include referring to a genomic counselor, who will discuss testing options and implications of various results, order the appropriate tests, track the results, and arrange follow-up care. Genomic information can guide medical management and reproductive decision making for patients and their families.
The document summarizes the activities of the Extraordinary General Assembly of the International Confederation of Christian Family Movements held from January 31 to February 2, 2014 in Santiago de Querรฉtaro, Mexico. It describes the welcoming of assembly members, a water blessing ceremony representing unity, presentations from the continental presidents on the realities of Christian Family Movements in their regions, and discussions around the objectives and financial situation of the ICCFM. The assembly included mass, discussions on new evangelization, and a celebration of Mexican culture.
This document discusses the benefits of public sector organizations doing business with small and medium enterprises (SMEs). It notes that SMEs can provide benefits like lower costs, more agility, innovation, and staff continuity compared to larger organizations. However, it acknowledges some constraints like time, costs, and regulations. The document provides examples of successful projects between SMEs and public sector organizations, and suggests that organizations should communicate more with suppliers, create a more level playing field, and think of risk and supply chains differently to better engage SMEs. It asks if procurement approaches are SME-friendly and communication with potential bidders can be improved.
The 2015 Tennessee PTA Winter Training will feature the Amazing National Standards Race as teams from schools throughout the state compete to demonstrate their mastery of the PTA National Standards for Family School Partnerships for fabulous prizes.
This document provides an overview of guidelines for developing and monitoring organizational budgets. It discusses why budgeting is important, who should be involved in the budgeting process, and steps to take before developing a budget such as creating operational plans and estimating costs. The document explains that a budget translates organizational plans into estimated income needed to fund planned expenditures. It provides frameworks for estimating operational, organizational, staffing, and capital costs. The document also discusses where to estimate income from in a budget, such as promised, probable, and possible donations as well as income generated from sales, services, subscriptions, membership fees, special events, investments, and campaigns.
The Salesforce core stack embraces Open Source Software. Join one of our leading engineers and learn about how we tackle enterprise-grade challenges for our customers using Hadoop, HBase, Jetty, Solr, and Apache QPID. We'll also discuss the process of opening internal libraries like Aura and Phoenix, as well as Salesforce's place in the larger Open Source community.
High Scale Relational Storage at Salesforce Built with Apache HBase and Apach...Salesforce Engineering
ย
Apache HBase is an open source, non-relational, distributed datastore modeled after Googleโs Bigtable, that runs on top of the Apache Hadoop Distributed Filesystem and provides low-latency random-access storage for HDFS-based compute platforms like Apache Hadoop and Apache Spark. Apache Phoenix is a high performance relational database layer over HBase optimized for low latency applications. This session will explore how the Data Platform and Services group at Salesforce.com supports teams of application developers accustomed to structured relational data access, while surfacing additional advantages of the underlying flexible scale-out datastore.
Team collaboration in the Cloud allows developers to work together on projects hosted on Heroku. Heroku is a platform as a service that manages the infrastructure and servers, so developers can focus on coding. Key features of Heroku include automatic scaling of applications, unified logging across all processes, and easy deployment through Git pushes. Heroku also offers add-ons for additional services like databases and monitoring that further enhance collaboration.
Team collaboration in the Cloud allows developers to work together on projects hosted on Heroku. Heroku is a platform as a service that manages the deployment of applications to the cloud. It handles tasks like provisioning servers and handling traffic so developers can focus on coding. Key features that enable collaboration include Git integration for version control and reviewing code changes, as well as role-based access that allows adding collaborators to apps.
This document provides a summary of Mopuru Babu's experience and skills. He has over 9 years of experience in software development using Java technologies and 2 years of experience in Hadoop development. He has expert knowledge of technologies like Hadoop, Hive, Pig, Spark, and databases like HBase and SQL. He has worked on projects for clients in various industries involving designing, developing, and deploying distributed applications that process and analyze large datasets.
This document provides a summary of Mopuru Babu's experience and skills. He has over 9 years of experience in software development using Java technologies and 2 years of experience in Hadoop development. He has expert knowledge of technologies like Hadoop, Hive, Pig, Spark, and databases like HBase and SQL. He has worked on projects in data analytics, ETL, and building applications on big data platforms. He is proficient in Java, Scala, SQL, Pig Latin, HiveQL and has strong skills in distributed systems, data modeling, and Agile methodologies.
Deepesh Rehi has over 5 years of experience in big data technologies like Hadoop, Spark, Hive, and Neo4j. He has worked on several projects involving fraud detection, data integration, and analytics. Currently, he is working as a Programmer Analyst at AAA Insurance where he is building a fraud detection system using graph databases and Spark. Previously, he developed applications for data ingestion, ETL, and analytics on projects for clients like Capital One and Cognizant. Deepesh has strong skills in Scala, Java, SQL, and Unix scripting.
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeSteve Mercier
ย
Slides from my talk at ConFoo Montreal, February 2016. A presentation on how to apply configuration management (CM) principles for your various environments, to control changes made to them. You apply CM on your code, why not on your environments content? This presentation will present the infrastructure as code principles using Chef and/or Ansible. Topics discussed include Continuous Integration, Continuous Delivery/Deployment principles, Infrastructure As Code and DevOps.
Ultra-scale e-Commerce Transaction Services with Lean Middleware WSO2
ย
The document summarizes a case study of an online retailer that uses an ultra-scale e-commerce transaction service with lean middleware to handle over 1 billion transactions per day. Key points include:
1) The retailer faced challenges of scaling to handle millions of power sellers and peaks in load like Cyber Monday across a large backend cluster.
2) An architecture using lean, open source middleware like WSO2 was able to scale reliably to over 600 million transactions per day while keeping costs low.
3) A platform-as-a-service approach provides shared services to simplify developing and deploying applications at scale in public and private clouds.
Boost Performance with Scala โ Learn From Those Whoโve Done It! Cรฉcile Poyet
ย
Scalding is a scala DSL for Cascading. Run on Hadoop, itโs a concise, functional, and very efficient way to build big data applications. One significant benefit of Scalding is that it allows easy porting of Scalding apps from MapReduce to newer, faster execution fabrics.
In this webinar, Cyrille Chรฉpรฉlov, of Transparency Rights Management, will share how his organization boosted the performance of their Scalding apps by over 50% by moving away from MapReduce to Cascading 3.0 on Apache Tez. Dhruv Kumar, Hortonworks Partner Solution Engineer, will then explain how you can interact with data on HDP using Scala and leverage Scala as a programming language to develop Big Data applications.โ
Boost Performance with Scala โ Learn From Those Whoโve Done It! Cรฉcile Poyet
ย
This document provides information about using Scalding on Tez. It begins with prerequisites for using Scalding on Tez, including having a YARN cluster, Cascading 3.0, and the TEZ runtime library in HDFS. It then discusses setting memory and Java heap configuration flags for Tez jobs run through Scalding. The document provides a mini-howto for using Scalding on Tez in two steps - configuring the build.sbt and assembly.sbt files and setting some job flags. It discusses challenges encountered in practice and provides tips and an example Scalding on Tez application.
Boost Performance with Scala โ Learn From Those Whoโve Done It! Hortonworks
ย
This document provides information about using Scalding on Tez. It begins with prerequisites for using Scalding on Tez, including having a YARN cluster, Cascading 3.0, and the TEZ runtime library in HDFS. It then discusses setting memory and Java heap configuration flags for Tez jobs in Scalding. The document provides a mini-tutorial on using Scalding on Tez, covering build configuration, job flags, and challenges encountered in practice like Guava version mismatches and issues with Cascading's Tez registry. It also presents a word count plus example Scalding application built to run on Tez. The document concludes with some tips for debugging Tez jobs in Scalding using Cascading's
The document discusses Intalio, an enterprise software vendor that deploys its products on the cloud using Cloud Foundry. It describes Intalio's journey to moving to the cloud to reduce the burden of managing infrastructure and enable more flexible deployments. It also discusses how Cloud Foundry helps Intalio achieve "NoOps" by automating deployment and management of applications and infrastructure for enterprises. The presentation concludes with a demo of how Intalio uses Cloud Foundry to easily deploy and manage its products.
The document discusses Intalio, an enterprise software vendor that deploys its products on the cloud using Cloud Foundry. It describes Intalio's journey to moving to the cloud to reduce the burden of managing infrastructure and enable "NoOps". It also discusses how Cloud Foundry helps enterprises deploy software on the cloud while still maintaining control over their data and infrastructure. The presentation concludes with a demo of Intalio's product administration on Cloud Foundry to illustrate how it streamlines deployment and management for developers.
According to the document:
1. Phillip Shipley of Cisco's WebEx business unit discussed a recent project using Zend and VMware to deploy a new free trials platform for WebEx products.
2. The previous free trials platform was developed over many years without standards and was difficult to maintain and scale. The new platform was built from scratch using Zend Framework, Zend Server, and VMware virtualization.
3. Key benefits of the new platform included a 68% reduction in sign-up time, an 800% increase in trial completion rates, and dramatically faster times to market and increased capacity. The project aligned the technical solution with business needs and priorities.
According to the document:
1. Phillip Shipley of Cisco's WebEx business unit discussed a recent project using Zend and VMware to deploy a new free trials platform for WebEx products.
2. The previous free trials platform was developed over many years without standards and was difficult to maintain and scale. The new platform was built from scratch using Zend Framework, Zend Server, and VMware virtualization.
3. Key benefits of the new platform included a 68% reduction in sign-up time, an 800% increase in trial completion rates, and dramatically faster times to market and increased capacity. The project aligned WebEx development with business needs and delivered significant improvements.
This document provides an overview of DevOps concepts and the IBM DevOps solution. It defines DevOps as a software development method that emphasizes communication and collaboration between development and IT operations. The key concepts discussed include continuous integration, delivery, testing, monitoring, infrastructure as code, build pipelines, and the need for organizational change. It also outlines IBM's DevOps reference architecture and toolchain, including solutions for application release management, cloud provisioning, and deployment automation.
The Business Value of PaaS Automation - Kieron Sambrook-Smith - Presentation ...eZ Systems
ย
Kieron Sambrook-Smith, Chief Commercial Officer at Platform.sh spoke at eZ Conference 2017 in London about the business value of Platform as a Service (PaaS) Automation.
He covers the many aspects of the advantages of using a PaaS. The business value you can expect to reap will range from hosting cost savings, better workflow and team productivity, new project delivery concepts, and greater competitive advantage. Discover a more advanced implementation of your service offering.
In this talk you will learn:
How to structure your JS-heavy project in Salesforce DX
How to structure your JS-heavy project in Salesforce DX
Learn how to use all the familiar JS tools with Webpack and Lightning
The tech talk was gieven by Ranjeeth Kathiresan, Salesforce Senior Software Engineer & Gurpreet Multani, Salesforce Principal Software Engineer in June 2017.
Techniques to Effectively Monitor the Performance of Customers in the CloudSalesforce Engineering
ย
This document discusses techniques for effectively monitoring customer performance in the cloud. It recommends establishing a baseline for normal performance and monitoring metrics and thresholds to detect deviations. Key metrics to track include counts, medians, percentiles, and distributions over time. Dashboards should visualize these metrics and allow comparing performance across different time periods. An example dashboard monitors adoption, errors, and metrics over the last 30 days and compares to the same day last week. The presentation demonstrates an Einstein Analytics dashboard for interactive analysis across devices.
HBase is a healthy, stable, and popular open source distributed database that is celebrating its 10th birthday. It has over 160 contributors and developers, with steady releases being made across multiple active versions. Improvements and the 2.0 release are upcoming, building on strong community involvement and contributions over its history.
This document summarizes Salesforce's use of HBase and Phoenix for storing and querying large volumes of structured and unstructured data at scale. Some key details:
1) Salesforce heavily uses HBase and Phoenix for both customer-facing and internal use cases, including storing login data, user activity, thread dumps, and more.
2) Salesforce operates over 100 HBase clusters of varying sizes to support over 4 billion write requests and 600 million read requests per day, totaling over 80 terabytes of data written and 500 gigabytes read daily.
3) An example use case is a central metrics database collecting data from over 80,000 machines, storing 11.4 trillion metrics and growing, with
The tech talk was given by Kexin Xie, Director of Data Science, and Yacov Salomon, VP of Data Science in June 2017.
Scaling up data science applications: How switching to Spark improved performance, realizability and reduced cost
Cem Gurkok presented on containers and security. The presentation covered threats to containers like container exploits and tampering of images. It discussed securing the container pipeline through steps like signing, authentication, and vulnerability scans. It also covered monitoring containers and networks, digital forensics techniques, hardening containers and hosts, and vulnerability management.
This document provides an overview of aspect-oriented programming (AOP) and various AOP implementations. It begins with an introduction to AOP concepts like cross-cutting concerns. It then discusses the AOP frameworks AspectJ and Spring AOP, covering their pointcut and advice anatomy. The document also examines how AOP can be used for code coverage, benchmarks, improved compilation, and application monitoring. It analyzes implementations like JaCoCo, JMH, HotswapAgent, and AppDynamics as examples.
This document discusses using XHProf to perform performance tuning of PHP applications. It begins with an introduction of the speaker and their company Pardot. It then provides an overview of XHProf including how to install, configure, and use it to profile PHP applications. The document outlines various performance tips for PHP such as optimizing array operations, managing memory efficiently, and improving database queries. It also walks through some examples of profiling a sample Symfony application that involves getting click data from a database. The examples demonstrate how to optimize queries and object hydration to improve performance.
A Smarter Pig: Building a SQL interface to Pig using Apache CalciteSalesforce Engineering
ย
This document summarizes a presentation about building a SQL interface for Apache Pig using Apache Calcite. It discusses using Calcite's query planning framework to translate SQL queries into Pig Latin scripts for execution on HDFS. The presenters describe their work at Salesforce using Calcite for batch querying across data sources, and outline their process for creating a Pig adapter for Calcite, including implementing Pig-specific operators and rules for translation. Lessons learned include that Calcite provides flexibility but documentation could be improved, and examples from other adapters were helpful for their implementation.
The document discusses implementing a content strategy and outlines some key lessons learned. It notes that implementing a content strategy is like running a long distance and will involve pain, relationships, and focusing on strengths over weaknesses. It advises getting ready for the pain involved, not trying to do it alone, and leveraging strengths rather than weaknesses. The presentation encourages the audience to take action by volunteering or taking the next step.
The tech talk was given by Jim Walsh, Salesforce SVP Infrastructure Engineering in May 2017.
The presentation provides a brief overview of Salesforce Cloud Infrastructure and Challenges.
Koober is an open-source interactive website that uses machine learning models trained on historical taxi and weather data to visualize past taxi demand and predict future demand. It generates datasets by clustering taxi pickup locations and extracting features from the data, then builds models using techniques like gradient-boosted trees and neural networks. The website integrates these predictions with interactive maps to help the taxi industry optimize operations and better meet customer needs based on past trends.
Talk given by Marat Vyshegorodtsev and Sergey Gorbaty. Enterprise Security team at Salesforce, in January 2017.
Discusses a set of open source tools that analyze the Apex/VisualForce code and advise on its quality.
This document discusses microservices and the process of setting up a new microservice. It covers topics such as defining the service scope, getting approvals, source control and packaging, running environments, logging and monitoring, and preparing the service for production use. The key aspects of setting up a new microservice include buy-in from management, external design reviews, source control and deployment automation, provisioning compute and storage resources, and integrating the service with monitoring and on-call systems.
This document discusses using Apache Zookeeper to orchestrate microservice deployments. It describes how Zookeeper can be used to define service topology, enable one-button deployments through a coordinator service called Maestro, and ensure high availability and failure recovery. The Maestro coordinator initiates and manages deployments by monitoring global state in Zookeeper and determining which nodes to deploy next. Maestro agents on each node receive notifications, create execution plans to deploy updates, and publish status to Zookeeper. Different propagation strategies like canary deployments and rollback capabilities provide health mediation during deployments.
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxshyamraj55
ย
Weโre bringing the TDX energy to our community with 2 power-packed sessions:
๐ ๏ธ Workshop: MuleSoft for Agentforce
Explore the new version of our hands-on workshop featuring the latest Topic Center and API Catalog updates.
๐ Talk: Power Up Document Processing
Dive into smart automation with MuleSoft IDP, NLP, and Einstein AI for intelligent document workflows.
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. ๐
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! ๐
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
ย
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
Technology Trends in 2025: AI and Big Data AnalyticsInData Labs
ย
At InData Labs, we have been keeping an ear to the ground, looking out for AI-enabled digital transformation trends coming our way in 2025. Our report will provide a look into the technology landscape of the future, including:
-Artificial Intelligence Market Overview
-Strategies for AI Adoption in 2025
-Anticipated drivers of AI adoption and transformative technologies
-Benefits of AI and Big data for your business
-Tips on how to prepare your business for innovation
-AI and data privacy: Strategies for securing data privacy in AI models, etc.
Download your free copy nowand implement the key findings to improve your business.
Role of Data Annotation Services in AI-Powered ManufacturingAndrew Leo
ย
From predictive maintenance to robotic automation, AI is driving the future of manufacturing. But without high-quality annotated data, even the smartest models fall short.
Discover how data annotation services are powering accuracy, safety, and efficiency in AI-driven manufacturing systems.
Precision in data labeling = Precision on the production floor.
Automation Hour 1/28/2022: Capture User Feedback from AnywhereLynda Kane
ย
Slide Deck from Automation Hour 1/28/2022 presentation Capture User Feedback from Anywhere presenting setting up a Custom Object and Flow to collection User Feedback in Dynamic Pages and schedule a report to act on that feedback regularly.
Learn the Basics of Agile Development: Your Step-by-Step GuideMarcel David
ย
New to Agile? This step-by-step guide is your perfect starting point. "Learn the Basics of Agile Development" simplifies complex concepts, providing you with a clear understanding of how Agile can improve software development and project management. Discover the benefits of iterative work, team collaboration, and flexible planning.
Mobile App Development Company in Saudi ArabiaSteve Jonas
ย
EmizenTech is a globally recognized software development company, proudly serving businesses since 2013. With over 11+ years of industry experience and a team of 200+ skilled professionals, we have successfully delivered 1200+ projects across various sectors. As a leading Mobile App Development Company In Saudi Arabia we offer end-to-end solutions for iOS, Android, and cross-platform applications. Our apps are known for their user-friendly interfaces, scalability, high performance, and strong security features. We tailor each mobile application to meet the unique needs of different industries, ensuring a seamless user experience. EmizenTech is committed to turning your vision into a powerful digital product that drives growth, innovation, and long-term success in the competitive mobile landscape of Saudi Arabia.
How Can I use the AI Hype in my Business Context?Daniel Lehner
ย
๐๐จ ๐ผ๐ ๐๐ช๐จ๐ฉ ๐๐ฎ๐ฅ๐? ๐๐ง ๐๐จ ๐๐ฉ ๐ฉ๐๐ ๐๐๐ข๐ ๐๐๐๐ฃ๐๐๐ง ๐ฎ๐ค๐ช๐ง ๐๐ช๐จ๐๐ฃ๐๐จ๐จ ๐ฃ๐๐๐๐จ?
Everyoneโs talking about AI but is anyone really using it to create real value?
Most companies want to leverage AI. Few know ๐ต๐ผ๐.
โ What exactly should you ask to find real AI opportunities?
โ Which AI techniques actually fit your business?
โ Is your data even ready for AI?
If youโre not sure, youโre not alone. This is a condensed version of the slides I presented at a Linkedin webinar for Tecnovy on 28.04.2025.
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
ย
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, โThe Coding War Games.โ
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we donโt find ourselves having the same discussion again in a decade?
Leading AI Innovation As A Product Manager - Michael JidaelMichael Jidael
ย
Unlike traditional product management, AI product leadership requires new mental models, collaborative approaches, and new measurement frameworks. This presentation breaks down how Product Managers can successfully lead AI Innovation in today's rapidly evolving technology landscape. Drawing from practical experience and industry best practices, I shared frameworks, approaches, and mindset shifts essential for product leaders navigating the unique challenges of AI product development.
In this deck, you'll discover:
- What AI leadership means for product managers
- The fundamental paradigm shift required for AI product development.
- A framework for identifying high-value AI opportunities for your products.
- How to transition from user stories to AI learning loops and hypothesis-driven development.
- The essential AI product management framework for defining, developing, and deploying intelligence.
- Technical and business metrics that matter in AI product development.
- Strategies for effective collaboration with data science and engineering teams.
- Framework for handling AI's probabilistic nature and setting stakeholder expectations.
- A real-world case study demonstrating these principles in action.
- Practical next steps to begin your AI product leadership journey.
This presentation is essential for Product Managers, aspiring PMs, product leaders, innovators, and anyone interested in understanding how to successfully build and manage AI-powered products from idea to impact. The key takeaway is that leading AI products is about creating capabilities (intelligence) that continuously improve and deliver increasing value over time.
Buckeye Dreamin 2024: Assessing and Resolving Technical DebtLynda Kane
ย
Slide Deck from Buckeye Dreamin' 2024 presentation Assessing and Resolving Technical Debt. Focused on identifying technical debt in Salesforce and working towards resolving it.
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018Lynda Kane
ย
How Open Source Embiggens Salesforce.com
1. How Open Source
Software Embiggens
Salesforce.com
Ian Varley
Principal Member of Technical Staff
@thefutureian
2. Safe harbor
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.
3. Who am I?
โข Ian Varley
โข 4 years at Salesforce.com
โข Core Database Team, Big Data Team
โข @thefutureian
4. Show of hands...
โข Use OSS?
โข Contribute to OSS?
โข Write their own OSS projects?
9. Itโs a win-win situation.
โข Everyone gets more out than they put in
โข You have control over your own destiny
โข You can attract the industryโs best minds
โ The smartest devs seem to gravitate towards open source
โ So if you raised your hand before, give yourself a pat on the back.
11. Servlet Container
โข Servlet containers handle routing HTTP requests to code.
โ Started w/ commercial product
โ Feature: โstealโ work from overloaded servers
โ (Code name: Hamburglar)
โข But! Show stopper bug, and no way to fix it ...
13. Search Indexing
โข Indexer takes text (e.g. chatter posts, etc.), makes it searchable.
โ Original implementation: Lucene (forked)
โ But, scale keeps increasing!
โ Bottleneck: single-writer QFS on a SAN
โ Needed solution to scale horizontally
14. Solution: Solr
โข Horizontally scalable, REST interface
โข Query / index on same host, no more SAN
โข New features, core library is (latest) Lucene
โข Weโve also contributed some small fixes, and contracted a big fix to allow handling
indexers with many cores (10K+!).
16. Message Queue
โข Decouple calling code from its execution.
โ Originally: 10-15 devs had rolled their own
โ Centralized on a transactional queue (Vijay)
โ Commercial product, deeply coupled to DB
โ OK until a mysterious, unsolvable error.
โ 3 years of back and forth!
โ Eventually rewrote our layer to work around it.
โ Scale challenges: 50 -> 500 queues
โ CPU contention at head of queue
17. Solution: QPID
โข Apache project, good reputation
โข Separate tier from the DB
โข Ran into bugsโฆ and fixed them.
โข 40% memory savings on client (QPID-4873; thanks Helen Kwong & Brian Toal)
19. Build: Ant
โข Build tools help get you from โcode writtenโ to โcode runningโ.
โ Used Apache Ant for years
โ But, as the # of devs has grown โฆ
โ Itโs become more difficult with a large, complex code base.
20. Solution: Maven
โข Moving core build to Apache Maven
โข Goal is a more modular and decoupled build structure
โข Declarative dependencies FTW
โข OSGi: Apache Felix
21. Plus: Jenkins
โข Salesforce core uses home-grown โautobuildsโ
โข But for new projects outside core, set up builds as needed
โข Additional automation on top of Jenkins for local builds
22. Deployment: Home Grown
โข Deployment tools let you get code out to servers.
โ Salesforce has always used home-grown tool, โReleaseRunnerโ
โ Required for Salesforce's extremely rigorous security model
โ But as we scale out, manual methods arenโt cutting it
23. Solution: Puppet, Salt, Razor, Rundeck
โข Get code out to lots of servers with little manual involvement.
โ Razor: automated machine inventory
โ Puppet: deployment of bits and configuration
โ Salt, Rundeck: service orchestration for restarts
All of this still very much WIPโฆ Salesforce.com is an industry leader in security, and is leading the way in
using tools like Puppet in an enterprise-class, multi-tenant environment.
24. Metric Collection: Home Grown
โข Getting information about server health and performance
โ Home-grown agent software
โ Limited to only one app (Salesforce core)
โ Metrics collected and pulled by central cluster
25. Metric Collection: Kafka
โข Kafka is a high throughput distributed messaging system
โ Written & open sourced by LinkedIn
โ Used in a system (code-named Ajna)
โ Pushes metrics out of prod, rather than pulling
โ Intra-pod queue for local consumption
โ Centralized pipeline to DMZ
26. Batch Processing
โข Salesforce == RDBMS
โข No great approach for batch processing
โข Especially on sets that donโt fit in memory
โข Working with data that doesn't fit into the standard
relational model is hard
27. Solution: Hadoop
โข Map/Reduce: ship computations to your data instead vice versa
โ Walter Macklem (Platform CTO); Codename: Gridforce
โ +HDFS (distributed file storage)
โ +Pig (a higher level language)
โ Features: recommendations, search relevance, machine learning
โ Log export pilot ...
(Ask your CSR/CSM/AM to
get nominated for the pilot!)
28. Big Data
โข Relational databases are powerful โฆ but โฆ
โ The model is so rich, itโs prohibitive for really large data
โ RDBMS has strict scalability limits per object
โ Hard to scale out because, runs on big iron
So we asked:
โข What if we could store vast numbers of records, but with fewer capabilities and
assumptions? Scale horizontally, but with the same safety guarantees?
29. Big Data: HBase
โข Horizontally scalable NoSQL database.
โ Fewer capabilities (no joins, transactions)
โ Scales by adding machines
โ Fault tolerant (on HDFS)
โ Features? Initially, audit & compliance, event tracking
โ Eventually, a lot more: really big objects
โ Got a lot of field history? Join the FHR retention pilot! (Talk to your CSM)
โข This is my team, so I could talk for hours...
32. Aura: UI Framework
โข Basis for new generation of Salesforce UI
โ High performance client-server architecture
โ Event-driven, MVC architecture
โ https://github.com/forcedotcom/aura
33. Phoenix: a SQL Skin for HBase
โข โWe put the SQL back in NoSQLโ
โ A proper subset of SQL
โ Familiar interface, scalable storage
โ Unlike Hive, uses the HBase client API
โ Blazing fast; queries in milliseconds
โ Very broad contribution since we opened it
โ Accepted in the Apache Incubator in 2013
โ Included in Hortonworks Hadoop distribution in 2014
34. Mobile SDK
โข All SDK dev for Salesforce done in open source
โ https://github.com/forcedotcom/SalesforceMobileSDK-iOS
โ https://github.com/forcedotcom/SalesforceMobileSDK-Android
โ Also: heavy use of Apache Cordova, to blend web & native components
35. Lots more!
โข So far, weโve only been talking about Salesforce core.
โ Many Salesforce companies use tons of Open Source:
โ Heroku - https://github.com/heroku
โ Radian6, Data.com, ExactTarget - you name it, we probably use it somewhere
โข And lots of open source stuff on the platform, too!
โ http://boards.developerforce.com/t5/Salesforce-Labs-Open-Source/bd-p/labs
โข You can search github for Apex & Salesforce
37. Committers on dozens of big projects
โข Salesforce actively supports a lot of people who primarily contribute to open source
projects (not just a side thing).
โ Postgres: Tom Lane (Project Lead)
โ Ruby: Matz (Project Lead)
โ Maven: Jason Van Zyl (Project Lead)
โ HBase: Lars Hofhansl (PMC, release manager); Jesse Yates
โ Phoenix: James Taylor (Project Lead)
โ Aura: Doug Chasman (Project Lead)
โ Pig: Prashant Kommereddi
39. Itโs great for โฆ
โข Core components
โข Databases
โข Common algorithms
โข Reusable UI libraries & abstractions
โข And any case where โthe source isnโt the secret sauceโ.
40. Itโs not great for โฆ
โข Code entangled with your business model
โข Code you didnโt write with a plan to open up
โข Software thatโs โall things to all peopleโ
โข Getting other people to do your work
โข But, these are kind of anti-patterns anyway, right โฆ ?
41. Most return on investment is from
open sourcing โthe interesting
bitsโ, rather than the whole stack.
42. And embracing the Open Source
approach, particularly in the last 3
years, has been a sea change.