Last Friday (February 8th), I spoke at the Intelligent Content Conference 2013. When Scott Abel (aka The Content Wrangler) first contacted me to speak at the event, he asked me to speak about my content management and distribution experiences from both NPR and Netflix. The two experiences seemed to him to be an interesting blend for the conference. These are the slides from that presentation.
I have applied comments to every slide in this presentation to include the context that I otherwise provided verbally during the talk.
Revolutions have a common pattern in technology and this is no different for the API space. This presentation discusses that pattern and goes through various API revolutions. It also uses Netflix as an example of how some revolutions evolved and where things may be headed.
Techniques for Scaling the Netflix API - QCon SFDaniel Jacobson
This presentation was from QCon SF 2011. In these slides I discuss various techniques that we use to scale the API. I also discuss in more detail our effort around redesigning the API.
APIs for Internal Audiences - Netflix - App Dev ConferenceDaniel Jacobson
API programs, typically thought of as a public program to see what public developer communities can build with a company's data, are becoming more and more critical to the success of mobile and device strategies. This presentation takes a look at Netflix's and NPR's strategies that lead to tremendous growth and discusses how Netflix plans to take this internal API strategy to the next level.
The term "scale" for engineering often is used to discuss systems and their ability to grow with the needs of its users. This is clearly an important aspect of scaling, but there are many other areas in which an engineering organization needs to scale to be successful in the long term. This presentation discusses some of those other areas and details how Netflix (and specifically the API team) addresses them.
Netflix API: Keynote at Disney Tech ConferenceDaniel Jacobson
Disney held the first in a series of internal technical conferences in Orlando, FL, this one focused entirely on APIs. These slides are from my keynote presentation which kicked off the event. The slides focus on the Netflix API, API design, anti-patterns, technical revolutions, resiliency, scaling, test frameworks and other constructs that support the Netflix infrastructure.
Maintaining the Netflix Front Door - Presentation at Intuit MeetupDaniel Jacobson
This presentation goes into detail on the key principles behind the Netflix API, including design, resiliency, scaling, and deployment. Among other things, I discuss our migration from our REST API to what we call our Experienced-Based API design. It also shares several of our open source efforts such as Zuul, Scryer, Hystrix, RxJava and the Simian Army.
The term "scale" for engineering often is used to discuss systems and their ability to grow with the needs of its users. This is clearly an important aspect of scaling, but there are many other areas in which an engineering organization needs to scale to be successful in the long term. This presentation discusses some of those other areas and details how Netflix (and specifically the API team) addresses them.
Revolutions have a common pattern in technology and this is no different for the API space. This presentation discusses that pattern and goes through various API revolutions. It also uses Netflix as an example of how some revolutions evolved and where things may be headed.
Techniques for Scaling the Netflix API - QCon SFDaniel Jacobson
This presentation was from QCon SF 2011. In these slides I discuss various techniques that we use to scale the API. I also discuss in more detail our effort around redesigning the API.
APIs for Internal Audiences - Netflix - App Dev ConferenceDaniel Jacobson
API programs, typically thought of as a public program to see what public developer communities can build with a company's data, are becoming more and more critical to the success of mobile and device strategies. This presentation takes a look at Netflix's and NPR's strategies that lead to tremendous growth and discusses how Netflix plans to take this internal API strategy to the next level.
The term "scale" for engineering often is used to discuss systems and their ability to grow with the needs of its users. This is clearly an important aspect of scaling, but there are many other areas in which an engineering organization needs to scale to be successful in the long term. This presentation discusses some of those other areas and details how Netflix (and specifically the API team) addresses them.
Netflix API: Keynote at Disney Tech ConferenceDaniel Jacobson
Disney held the first in a series of internal technical conferences in Orlando, FL, this one focused entirely on APIs. These slides are from my keynote presentation which kicked off the event. The slides focus on the Netflix API, API design, anti-patterns, technical revolutions, resiliency, scaling, test frameworks and other constructs that support the Netflix infrastructure.
Maintaining the Netflix Front Door - Presentation at Intuit MeetupDaniel Jacobson
This presentation goes into detail on the key principles behind the Netflix API, including design, resiliency, scaling, and deployment. Among other things, I discuss our migration from our REST API to what we call our Experienced-Based API design. It also shares several of our open source efforts such as Zuul, Scryer, Hystrix, RxJava and the Simian Army.
The term "scale" for engineering often is used to discuss systems and their ability to grow with the needs of its users. This is clearly an important aspect of scaling, but there are many other areas in which an engineering organization needs to scale to be successful in the long term. This presentation discusses some of those other areas and details how Netflix (and specifically the API team) addresses them.
This is a presentation that I gave to ESPN's Digital Media team about the trajectory of the Netflix API. I also discussed Netflix's device implementation strategy and how it enables rapid development and robust A/B testing.
This is my presentation from the Business of APIs Conference in SF, held by Mashery (http://www.apiconference.com).
This talk talks briefly about the history of the Netflix API, then goes into three main categories of scaling:
1. Using the cloud to scale in size and internationally
2. Using Webkit to scale application development in parallel to the flexibility afforded by the API
3. Redesigning the API to improve performance and to downscale the infrastructure as the system scales
When viewing these slides, please note that they are almost entirely image-based, so I have added notes for each slide to detail the talking points.
This presentation demonstrates the great successes of the Netflix API to date. After some introspection, however, there is an opportunity to better prepare the API for the future. This presentation also offers a few ideas on how the Netflix API architecture may change over time.
Maintaining the Front Door to Netflix : The Netflix APIDaniel Jacobson
This presentation was given to the engineering organization at Zendesk. In this presentation, I talk about the challenges that the Netflix API faces in supporting the 1000+ different device types, millions of users, and billions of transactions. The topics range from resiliency, scale, API design, failure injection, continuous delivery, and more.
I gave this presentation to the engineering team at PayPal. This presentation discusses the history and future of the Netflix API. It also goes into API design principles as well as concepts behind system scalability and resiliency.
History and Future of the Netflix API - Mashery Evolution of DistributionDaniel Jacobson
Presentation on the history and future of the Netflix API. This presentation walks through how the API was formed, why it needs a redesign and some of the principles that will be applied in the redesign effort.
This presentation was given at the Mashery Evolution of Distribution session in San Francisco on June 2, 2011.
Scaling the Netflix API - From Atlassian Dev DenDaniel Jacobson
The term "scale" for engineering often is used to discuss systems and their ability to grow with the needs of its users. This is clearly an important aspect of scaling, but there are many other areas in which an engineering organization needs to scale to be successful in the long term. This presentation discusses some of those other areas and details how Netflix (and specifically the API team) addresses them.
Most API providers focus on solving all three of the key challenges for APIs: data gathering, data formatting and data delivery. All three of these functions are critical for the success of an API, however, not all should be solved by the API provider. Rather, the API consumers have a strong, vested interest in the formatting and delivery. As a result, API design should be addressed based on the true separation of concerns between the needs of the API provider and the various API consumers.
This presentation goes into the separation of concerns. It also goes into depth in how Netflix has solved for this problem through a very different approach to API design.
This presentation was given at the following API Meetup in SF:
http://www.meetup.com/API-Meetup/events/171255242/
Many API programs get launched without a clear understanding as to WHY the API should exist. Rather, many are focused on WHAT the API consists of and HOW it should be targeted, implemented and leveraged. This presentation focuses on establishing the need for a clear WHY proposition behind the decision. The HOW and then WHAT will follow from that.
This presentation also uses the history of the Netflix API to demonstrate the power, utility and importance of knowing WHY you are building an API.
Talk about the Netflix API and how it serves as the front door for Netflix device UIs. Topics include: API design, resiliency patterns, scalability, and enabling fast dev/deploy cycles.
What's hot in APIs? Here are 10 of the hottest trends in open APIs today. This GlueCon 2012 keynote covers monetization trends, technology trends and what makes developers love an API (hint: it's not stale documentation). These are drawn from our data and trends we're seeing at ProgrammableWeb.
At Netflix, we provide a Java-based API that supports the content discovery, sign-up, and playback experience on thousands of device types that millions use around the world every day. As our user base and traffic have grown by leaps and bounds, we are continuously evolving this API to enable the best user experience. In this talk, I will give an overview of how and why the Netflix API has evolved to where it is today and where we plan to take it in the future. I will discuss how we make our system resilient against failures using tools such as Hystrix and FIT, while keeping it flexible and nimble enough to support continuous A/B testing.
As the media leader who first brought a public content API to the market in 2008, NPR continues to innovate and learn about what it means to have flexible content. Our philosophy assumes that to maintain relevancy in an online world media companies need to be adroit at delivering content to multiple channels and disparate platforms. This in turn has lead us to keep a strategic focus on our API development. This positions us not just to meet our distribution needs, but has also helped drive business opportunity and allows for effective design and user experience whether in a browser or on a mobile device. This presentation will share our lessons learned and key metrics around successful creation and use of flexible content – from technology needs to business, editorial and design opportunities in an increasingly fragmented online product landscape.
NPR: Digital Distribution Strategy: OSCON2010Daniel Jacobson
When launching the API at OSCON in 2008, NPR targeted four audiences: the open source community; NPR member stations; NPR partners and vendors; and finally our internal developers and product managers. In its short two-year life, the NPR API has grown tremendously, from only a few hundred thousand requests per month to more than 60M. The API, furthermore, has enabled tremendous growth for NPR in the mobile space while facilitating more than 100% growth in total page views in the last year.
Architecting your API platform to meet 2011 mobile and web development standards is one of the best ways you can to enable your company to meet the demands of today’s competitive markets. Thinking like a platform also helps your business prepare for disruptive forces you cannot possibly predict.
SemTech Conference talk on the key trends in open APIs as well as data on semantic APIs in 2011. API market growth, changes from SOAP to REST and XML to JSON, and new API business models. Semantic portion looks at adoption of RDF/RDFa in open APIs.
Developing an API strategy should be considered a journey, not a project with a predetermined outcome. This presentation describes Netflix's journey to discover a winning API strategy as well as future directions for the API.
This is a presentation that I gave to ESPN's Digital Media team about the trajectory of the Netflix API. I also discussed Netflix's device implementation strategy and how it enables rapid development and robust A/B testing.
This is my presentation from the Business of APIs Conference in SF, held by Mashery (http://www.apiconference.com).
This talk talks briefly about the history of the Netflix API, then goes into three main categories of scaling:
1. Using the cloud to scale in size and internationally
2. Using Webkit to scale application development in parallel to the flexibility afforded by the API
3. Redesigning the API to improve performance and to downscale the infrastructure as the system scales
When viewing these slides, please note that they are almost entirely image-based, so I have added notes for each slide to detail the talking points.
This presentation demonstrates the great successes of the Netflix API to date. After some introspection, however, there is an opportunity to better prepare the API for the future. This presentation also offers a few ideas on how the Netflix API architecture may change over time.
Maintaining the Front Door to Netflix : The Netflix APIDaniel Jacobson
This presentation was given to the engineering organization at Zendesk. In this presentation, I talk about the challenges that the Netflix API faces in supporting the 1000+ different device types, millions of users, and billions of transactions. The topics range from resiliency, scale, API design, failure injection, continuous delivery, and more.
I gave this presentation to the engineering team at PayPal. This presentation discusses the history and future of the Netflix API. It also goes into API design principles as well as concepts behind system scalability and resiliency.
History and Future of the Netflix API - Mashery Evolution of DistributionDaniel Jacobson
Presentation on the history and future of the Netflix API. This presentation walks through how the API was formed, why it needs a redesign and some of the principles that will be applied in the redesign effort.
This presentation was given at the Mashery Evolution of Distribution session in San Francisco on June 2, 2011.
Scaling the Netflix API - From Atlassian Dev DenDaniel Jacobson
The term "scale" for engineering often is used to discuss systems and their ability to grow with the needs of its users. This is clearly an important aspect of scaling, but there are many other areas in which an engineering organization needs to scale to be successful in the long term. This presentation discusses some of those other areas and details how Netflix (and specifically the API team) addresses them.
Most API providers focus on solving all three of the key challenges for APIs: data gathering, data formatting and data delivery. All three of these functions are critical for the success of an API, however, not all should be solved by the API provider. Rather, the API consumers have a strong, vested interest in the formatting and delivery. As a result, API design should be addressed based on the true separation of concerns between the needs of the API provider and the various API consumers.
This presentation goes into the separation of concerns. It also goes into depth in how Netflix has solved for this problem through a very different approach to API design.
This presentation was given at the following API Meetup in SF:
http://www.meetup.com/API-Meetup/events/171255242/
Many API programs get launched without a clear understanding as to WHY the API should exist. Rather, many are focused on WHAT the API consists of and HOW it should be targeted, implemented and leveraged. This presentation focuses on establishing the need for a clear WHY proposition behind the decision. The HOW and then WHAT will follow from that.
This presentation also uses the history of the Netflix API to demonstrate the power, utility and importance of knowing WHY you are building an API.
Talk about the Netflix API and how it serves as the front door for Netflix device UIs. Topics include: API design, resiliency patterns, scalability, and enabling fast dev/deploy cycles.
What's hot in APIs? Here are 10 of the hottest trends in open APIs today. This GlueCon 2012 keynote covers monetization trends, technology trends and what makes developers love an API (hint: it's not stale documentation). These are drawn from our data and trends we're seeing at ProgrammableWeb.
At Netflix, we provide a Java-based API that supports the content discovery, sign-up, and playback experience on thousands of device types that millions use around the world every day. As our user base and traffic have grown by leaps and bounds, we are continuously evolving this API to enable the best user experience. In this talk, I will give an overview of how and why the Netflix API has evolved to where it is today and where we plan to take it in the future. I will discuss how we make our system resilient against failures using tools such as Hystrix and FIT, while keeping it flexible and nimble enough to support continuous A/B testing.
As the media leader who first brought a public content API to the market in 2008, NPR continues to innovate and learn about what it means to have flexible content. Our philosophy assumes that to maintain relevancy in an online world media companies need to be adroit at delivering content to multiple channels and disparate platforms. This in turn has lead us to keep a strategic focus on our API development. This positions us not just to meet our distribution needs, but has also helped drive business opportunity and allows for effective design and user experience whether in a browser or on a mobile device. This presentation will share our lessons learned and key metrics around successful creation and use of flexible content – from technology needs to business, editorial and design opportunities in an increasingly fragmented online product landscape.
NPR: Digital Distribution Strategy: OSCON2010Daniel Jacobson
When launching the API at OSCON in 2008, NPR targeted four audiences: the open source community; NPR member stations; NPR partners and vendors; and finally our internal developers and product managers. In its short two-year life, the NPR API has grown tremendously, from only a few hundred thousand requests per month to more than 60M. The API, furthermore, has enabled tremendous growth for NPR in the mobile space while facilitating more than 100% growth in total page views in the last year.
Architecting your API platform to meet 2011 mobile and web development standards is one of the best ways you can to enable your company to meet the demands of today’s competitive markets. Thinking like a platform also helps your business prepare for disruptive forces you cannot possibly predict.
SemTech Conference talk on the key trends in open APIs as well as data on semantic APIs in 2011. API market growth, changes from SOAP to REST and XML to JSON, and new API business models. Semantic portion looks at adoption of RDF/RDFa in open APIs.
Developing an API strategy should be considered a journey, not a project with a predetermined outcome. This presentation describes Netflix's journey to discover a winning API strategy as well as future directions for the API.
Extend Your Use of JIRA by Solving Your Unique Concerns: An Exposé of the New...Atlassian
The existence of an API allows developers to extend software so as to cater for unique use cases beyond the software's original scope. Administrators and end users of JIRA 5 can expect its REST API to enable the creation of integrated applications to solve their unique concerns. This presentation aims to describe ways in which the JIRA 5 REST API can be used to make a tangible impact for the end user. Several use cases will be discussed, ranging from running simple command line apps, through to creating web applications that integrate with the JIRA 5 REST API.
Extend Your Use of JIRA by Solving Your Unique Concerns: An Exposé of the New...Atlassian
The existence of an API allows developers to extend software so as to cater for unique use cases beyond the software's original scope. Administrators and end users of JIRA 5 can expect its REST API to enable the creation of integrated applications to solve their unique concerns. This presentation aims to describe ways in which the JIRA 5 REST API can be used to make a tangible impact for the end user. Several use cases will be discussed, ranging from running simple command line apps, through to creating web applications that integrate with the JIRA 5 REST API.
The past year was a big one for Confluence — the Office and Widget Connector, major search improvements, updates to the rich text editor — and 2009 is the year Confluence went social. This session explores major innovations in Confluence in the past year and discusses a few to anticipate.
Atlassian Speakers: Bill Arconati, Per Fragemann
Key Takeaways:
* Understand key new capabilities
* Discuss direction and strategy with product managers
* Highlight: Confluence 3
Netflix Edge Engineering Open House Presentations - June 9, 2016Daniel Jacobson
Netflix's Edge Engineering team is responsible for handling all device traffic for to support the user experience, including sign-up, discovery and the triggering of the playback experience. Developing and maintaining this set of massive scale services is no small task and its success is the difference between millions of happy streamers or millions of missed opportunities.
This video captures the presentations delivered at the first ever Edge Engineering Open House at Netflix. This video covers the primary aspects of our charter, including the evolution of our API and Playback services as well as building a robust developer experience for the internal consumers of our APIs.
Architecting your platform to meet 2012 mobile and web development standards is one of the best ways you can to enable your company to meet the demands of today's competitive markets. Building product in a platform way also helps your business prepare for disruptive forces that you cannot possibly predict.
Building a Great Web API - Evan Cooke - QCON 2011Twilio Inc
This presentation explores how fast signup, a clear value proposition, efficient quick starts, concise documentation, easy authentication and debugability are common attributes of many successful web APIs. The Twilio API is used as an example of how a focus on developer experience helps drive API adoption.
Manage your Public API Like a ProtocolDelyn Simons
As the number of public APIs available to developers skyrockets, developers are increasingly asked to evaluate dozens of API providers based on their market opportunity, ease of integration and stability of service - then choose a winner to integrate with. You can quickly communicate that your company is interested in providing opportunity to developers by managing your API like a protocol. Discover why good versioning practices, incorporating developer input, participating in developer meetups and hackathons, and adopting existing standards whenever possible makes good business sense for both API developers and API providers.
Similar to Set Your Content Free! : Case Studies from Netflix and NPR (20)
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
41. There has to be a better tool for the
job than the One-Size-Fits-All REST API
42.
43. Network Border Network Border
One-Size-
Fits-All
REST API
START- A/B MEMBER RECOMME MOVIE SIMILAR
AUTH NDATIONS
RATINGS
UP TESTS DATA DATA MOVIES
44. Network Border Network Border
Optimized
API
START- A/B MEMBER RECOMME MOVIE SIMILAR
AUTH NDATIONS
RATINGS
UP TESTS DATA DATA MOVIES
45. Recipe for Optimized APIs
API providers that have a:
• small number of targeted API consumers
• very close relationships between with API consumers
• increasing divergence of needs across these API consumers
• strong desire for optimization by the API consumers
• optimized APIs offer high value proposition
46. Recipe for Optimized APIs
API providers that have a:
• small number of targeted API consumers
• very close relationships between with API consumers
• increasing divergence of needs across these API consumers
• strong desire for optimization by the API consumers
• optimized APIs offer high value proposition
• a generous helping of chocolate (to keep engineers happy)
50. Static, Non-Reusable Data
Disparate Technologies
Disparate Skill Sets
Redundant
Redundancy in
Redundant Data
Data
SQL
Applications In
Server Across the
Databases
Disparate Two Sites
Technologies Disparate
Technologies
Disparate Skill
Sets Disparate
Informix
Skill Sets
Editorial
Staff
80. Daniel Jacobson
Director of Engineering, Netflix API
djacobson@netflix.com
@daniel_jacobson
http://www.linkedin.com/in/danieljacobson
http://www.slideshare.net/danieljacobson
Editor's Notes
Content Management tends to be a bucket in which everything related to content gets thrown. It ranges from blob-based applications like blogging tools to comprehensive systems that maintain strong structure and separation of content. I prefer to think about it in terms of three discrete operations that these systems should perform: Capture, Storage and Distribution. All three operations require equal attention and are equally important for the success of content strategies. This presentation, however, will mainly focus on Distribution and how to set content free.
There are many forms of caged content, including content embedded in static HTML files, in flash or other binary objects, in legacy databases or otherwise trapped in systems without mechanisms for sharing it. They are like a bird in a cage, desperate for its release. For an effective content strategy, all of that content needs to be liberated.
When talking about liberating content, most people gravitate towards “open” approaches, such as Open/Public APIs, RSS, etc. They think the bird has wings so it should be able to fly anywhere in the world. Those approaches are viable in some scenarios and should not be discounted. But that isn’t always practical or necessary. And in fact, in many cases, the value of content being opened to the world is rarely transformational.
Rather, a more focused liberation strategy can be effective and often transformational. The transformation is in letting the bird out of its cage, but keeping it in the house. This enables the content to be extremely portable so it can satisfy any business/use case while allowing you to leverage it for all of your internal needs. This doesn’t preclude opportunities to let the bird into the world, but I want to be clear that the biggest value proposition is often just getting it outside of the cage.
The following slides will go through two use cases where content liberation has transformed the business: Netflix (my current employer) and NPR (my previous employer). They have different paths towards liberation, but the conclusions are similar.
Netflix is focused on being the best, global Internet streaming video provider.
We now have more than 33 million global subscribers in more than 50 countries and territories.
Those subscribers consume more than a billion hours of streaming video a month which, according to Sandvine, accounts for 33% of the peak Internet traffic in the US.
And we are now producing a fleet of original series, getting released throughout 2013, starting with House of Cards (released on February 1st).
All 33 million of Netflix’s subscribers are watching shows (like House of Cards) and movies on virtually any device that has a streaming video screen. We are now on more than 800 different device types.
All of this started, however, with launching streaming in 2007. At the time, we were only streaming on computer-based players (ie. No devices, mobile phones, etc).
At that stage, the bird was still in the cage. We have lots of systems that knew how to share with each other, but the content wasn’t particularly portable.
Shortly after streaming launched, in 2008, we launched our REST API. I describe it as a One-Size-Fits-All (OSFA) type of implementation because the API itself sets the rules and requires anyone who interfaces with it to adhere to those rules. Everyone is treated the same.
The OSFA REST API launched to support the 1,000 flowers model. That is, we would plant the seeds in the ground (by providing access to our content) and see what flowers sprout up in the myriad fields throughout the US. The 1,000 flowers are public API developers.
At this point, the bird has been set free to the world!
And at launch, the API was exclusively targeted towards and consumed by the 1,000 flowers (ie. External developers).
Some examples of the flowers…
But as streaming gained more steam…
The API evolved to support more of the devices that were getting built. The 1,000 flowers were still supported as well, but as the devices ramped up, they became a bigger focus.
And organizational and system changes were taking place as well. The many devices were now calling into the API and the API was drawing its content from a ever growing distributed system of dependencies.
Meanwhile, the balance of requests by audience had completely flipped. Overwhelmingly, the majority of traffic was coming from Netflix-ready devices and a shrinking percentage was from the 1,000 flowers. Today, the 1,000 flowers accounts for less than 0.1% of the API traffic.
With this transformation, the bird is still free, but it is mostly flying in the house (with occasional adventures into the world).
As the audience of the API has changed, so did its use cases. We started to realize that the original design for the API was not as effective as it could be in satisfying the newer, more complicated and more business-critical users (the device UI teams). We began inspecting the various ways in which the system was creating problems for us so we can create a more effective design. The following are some of the areas in which emerging problems were surfacing.
The first thing we looked at was the scale of the system and how chatty the API was.
With the adoption of the devices, API traffic took off! We went from about 600 million requests per month to about 42 BILLION requests in just two years.
That kind of growth and those kinds of numbers seem great. And it was great as it indicated that our subscriber counts were increasing, the number of devices supported by the API was growing, our subscribers were getting richer experiences on those devices and they were also spending more time interfacing with them. Who wouldn’t want those numbers, right?
Especially if you are an organization like NPR serving web pages that have ads on them. Each one of those requests create impressions for the ad which translates into revenue (and potentially increased CPM at those levels).
But the API traffic is not serving ads. Rather, we are delivering documents like this, in the form of XML…
Or like this, in the form of JSON.
Growth in traffic, especially if it were to continue at this rate, do not directly translate into revenue. Instead, it is more likely to translate into costs. Supporting massive traffic requires major infrastructure to support the load, expenses in delivering the bits, engineering costs to build and support more complex systems, etc.
So our first realization was that we could potentially significantly reduce the chattiness between the devices and the API while maintaining the same or better user experience. Rather than handling 2 billion requests per day, could we have the same UI at 300 million instead? Or less? Could having more optimized delivery of the metadata improve the performance and experience for our customers as well?
With more than 800 different device types that were supporting, we learned that the variability across them can also play a role in some of that chattiness. Different devices have different characteristics and capabilities that could influence the interaction model with the API.
For example, screen size could significantly affect what the API should deliver to the UI. TVs with bigger screens that can potentially fit more titles and more metadata per title than a mobile phone. Do we need to send all of the extra bits for fields or items that are not needed, requiring the device itself to drop items on the floor? Or can we optimize the deliver of those bits on a per-device basis?
Different devices have different controlling functions as well. For devices with swipe technologies, such as the iPad, do we need to pre-load a lot of extra titles in case a user swipes the row quickly to see the last of 500 titles in their queue? Or for up-down-left-right controllers, would devices be more optimized by fetching a few items at a time when they are needed? Other devices support voice or hand gestures or pointer technologies. How might those impact the user experience and therefore the metadata needed to support them?
The technical specs on these devices differ greatly. Some have significant memory space while others do not, impacting how much data can be handled at a given time. Processing power and hard-drive space could also play a role in how the UI performs, in turn potentially influencing the optimal way for fetching content from the API.
Finally, the OSFA model also seemed to slow the innovation rate of our various UI teams (as well as the API team itself). This became one of the most important considerations in our research.
Many UI teams needing metadata means many requests to the API team. In the OSFA world, we essentially needed to funnel these requests and then prioritize them. That means that some teams would need to wait for API work to be done. It also meant that, because they all shared the same endpoints, we were often adding variations to the endpoints resulting in a more complex system as well as a lot of spaghetti code. Make teams wait due to prioritization was exacerbated by the fact that tasks took longer because the technical debt was increasing, causing time to build and test to increase. Moreover, many of the incoming requests were asking us to do more of the same kinds of customizations. This created a spiral that would be very difficult to break out of…
So, after months of investigation, discussions, diagraming, etc., we set a path for our solution.
Ultimately, we determined that they definitely is a better way than adhering to the industry standards around a OSFA REST API. We don’t care about adhering to the industry standard practices, such as building a REST-based API…
What we care about is our audience! That is, we care about how to best serve the UI teams who in turn care about how to best serve Netflix subscribers. We will build systems that best serve them regardless of what that means for various standards or industry best practices.
So, if our OSFA REST API interaction model looked roughly like this (where are device would have a set of rules it needed to adhere to and would make a series of calls to the API based on those rules to create the UI)…
We would alter the interaction model substantially by allowing the device to make a single call back to an optimized API for that device (we are calling it a client adapter). That adapter will then fetch the data from the generic API and then format and deliver the document back to the device itself. This decouples the act of data gathering from data formating/delivery. The gathering would be done by the API system that we support while the formating/delivery would be done in the adapter by the UI teams, all before delivering the payload back to the device itself for rendering. For more details on the new system, you can learn more at http://techblog.netflix.com/search/label/api.
This design is not for everyone. Here is a recipe for those to which something like this could apply…
And don’t forget heaps of chocolate for your engineers!
The NPR story has a few differences in how it evolved, but the importance of the bird in the house is about the same.
In the first three years of my employment at NPR (1999-2002), there were four significant redesigns. Some of them were siginficant visual designs, but some of the changes were also in the underpinnings. For example, early on the content was basically just titles and links to audio for a story. Throughout those three years, we would slowly introduce new data elements to enrich those stories. The final one here shows more images and links out to pages where the earlier ones were mainly Listen links.
Meanwhile, the “systems” that supported these sites were very immature. There were static HTML files plus two distinct applications/databases that supported different areas of the system. A non-trivial amount of the content in the two database applications was the same…
That this stage, the bird was very much in the cage! We reviewed these problems and determined that a site and system redesign was necessary. First, we needed to collapse the databases into one clean and modular database while eliminating as many of the HTML files as possible (in favor of a database-driven system). Meanwhile, the evolution of the site in earlier years told us that presentation layers will constantly be changing so we needed to make sure the capturing and managing of content was separated from any presentation layer that would emerge.
That is when we came up with COPE: Create Once, Publish Everywhere.
The key philosophies that support COPE drove our redesign. Web publishing tools focus on capturing content for a display. That is why many of them have big blog fields where image links and other elements are inline with the text. Our goal was to not focus on publishing. Rather, we needed to manage content independent of where it will live, which takes us to ensuring that the managing of content is separated completely from its display. Next was content modularity which ensures that we break up all blogs into discreet fields for each element. Each field should have a very specific and focused purpose. Portability, which emerged over time, ensures that the content can live effectively wherever it needs to go. Portability started with multiple title lengths to allow different copy to appear in different sized locations (the first example was having the short title appear in a narrow column of PBS.org). But it also included getting rid of dirty markup such as <i> tags that could not be rendered by iPods.
This is an architecture diagram that we created years later after the API was built in to create a further level of abstraction between content and display. This architecture, no doubt, has changed since then.
But the goal remains the same… Capture content from many different points (human editors, feeds from internal and external sources, etc), store that content in a clean, modular and portable way. Then publish to many destinations.
In terms of the NPR API, the first use for it was an internal one to support areas of NPR.org. In that sense, the bird was clearly out of the cage, but that particular use case had the bird exclusively in the house.
As the API took flight, however, its reach became quite impressive. The following are just a few examples of where a single story had been published.
This is what the story, “A Space Voyage To Genesis” looks like in our content capture application. It is important to note that in terms of our system, this capture application is just another presentation layer. I have highlighted the title in this an other slides where it may be tougher to find it.
Once in the system, it becomes available through the NPR API.
OnNPR.org’s story page.
On the NPR.org tablet site.
In the NPR.org audio player. Notice, the title here is different because it draws from a different field in this location. In the audio player, the title gets pulled from the audio file name rather than the story title (a demonstration of the modularity of the data and our ability to have it be context-driven).
On the NPR News iPhone App.
On the mobile site.
On the NPR Android App, which was originally built (without our involvement) by a Google employee with his 20% time, getting the data from the NPR public API. We eventually caught up with him and adopted his work, which became the official NPR Android app.
NPR Addict is another app built entirely by a public developer using the NPR public API.
The same story on KQED.org, one of the San Francisco NPR member stations.
On WBUR.org, one of the Boston NPR member stations.
And of course, this and other stories can make their way to virtually any other location, including IP radios, news aggregators, connected cars, other devices, etc.
At this point, the bird is completely free, although it does spend most of its time in the house.
And as noted early by the frequent redesigns, this major site redesign happened in 2009. The changes were visually very different, but they also required substantially changes to the capture, storage and distribution channels in our content management efforts.
Prior to then, in 2008, similar efforts were made to support the NPR Music site.
And then much more recently, a new story page was created. All of these design efforts, while substantial, would be much more difficult without COPE.
So, looking at the API request distribution for NPR, it is now obviously very skewed towards internal NPR consumption.
Which looks very similar, although not as extreme, as the Netflix distribution.
To further emphasize the point that birds in the house are more valuable than in the open world, other companies like Evernote see a very similar distributions.
As does The Guardian in UK.
My final point will be another analogy. APIs are like icebergs. The tip, which is highly visible and gets a lot of attention equates to public APIs. They are the APIs that you hear about in the news, check out on developer portals, experiment with at hackathons, etc. But they very much are the smallest part of the iceberg in virtually every way. The big mass under the water that you don’t see represent internal or private APIs. They are substantially larger in terms of impact for most companies, amount of traffic, and in pure number of such APIs that companies rely on. As a result, it is important to understand your audience and to target them towards your most impactful segments. In most cases, that will likely be internal developers…