SlideShare a Scribd company logo
1 of 143
Download to read offline
Cassandra
                           @Formspring



Tuesday, August 30, 2011
Cassandra
                           @Formspring
                 Yet another Knight, Dragon and Princess Story.




Tuesday, August 30, 2011
Formspring helps people find out more about each
         other by sharing interesting & personal responses




Tuesday, August 30, 2011
25M users



Tuesday, August 30, 2011
3.5B responses



Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Follow[ing|ers]



Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Our situation before
                               Cassandra



Tuesday, August 30, 2011
MySQL + Memcache



Tuesday, August 30, 2011
MySQL + Memcache


                    • Flat MySQL table



Tuesday, August 30, 2011
MySQL + Memcache


                    • Flat MySQL table
                    • Indexes (Followers vs Following)


Tuesday, August 30, 2011
MySQL + Memcache

                    • Flat MySQL table
                    • Indexes (Followers vs Following)
                    • Memcache


Tuesday, August 30, 2011
Memcache


                    • Stored as JSON list



Tuesday, August 30, 2011
Memcache


                    • Stored as JSON list
                    • Can get out of sync


Tuesday, August 30, 2011
MySQL


                    • Hundreds of millions of rows



Tuesday, August 30, 2011
MySQL


                    • Hundreds of millions of rows
                    • m2.4xl EC2 instance


Tuesday, August 30, 2011
It all started with a
                                  Feature.


Tuesday, August 30, 2011
QOTD




Tuesday, August 30, 2011
QOTD




Tuesday, August 30, 2011
QOTD


                    • Feb: 35K Followers



Tuesday, August 30, 2011
QOTD


                    • Feb: 35K Followers
                    • Mid-Feb: 100K


Tuesday, August 30, 2011
QOTD

                    • Feb: 35K Followers
                    • Mid-Feb: 100K
                    • Growing about 30K a week.


Tuesday, August 30, 2011
QOTD

                    • Feb: 35K Followers
                    • Mid-Feb: 100K
                    • Growing about 30K a week.
                    • 200K: closer to Memcache 1MB limit.

Tuesday, August 30, 2011
QOTD

                    • Feb: 35K Followers
                    • Mid-Feb: 100K
                    • Growing about 30K a week.
                    • 200K: closer to Memcache 1MB limit.
                     • (with gz compaction . . .)

Tuesday, August 30, 2011
Then we added more
                           features . . .



Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Temporary solution



Tuesday, August 30, 2011
Redis


                    • Key : JSON blob of IDs



Tuesday, August 30, 2011
Redis


                    • Key : JSON blob of IDs
                    • ~2-3s / insert


Tuesday, August 30, 2011
Frontend Ask


                           Mem
                                   MySQL
                           Cache




Tuesday, August 30, 2011
Frontend Ask


                Outbox     Mem
                 QW
                                   MySQL
                           Cache




Tuesday, August 30, 2011
Frontend Ask
                           SELECT account_id
                           FROM follow
                Outbox     WHERE following = 1234   Mem
                 QW
                                                            MySQL
                                                    Cache




Tuesday, August 30, 2011
Frontend Ask


                Outbox     OH SHIT   Mem
                 QW
                                             MySQL
                                     Cache




Tuesday, August 30, 2011
Frontend Ask


                Outbox     OH SHIT   Mem
                 QW
                                             MySQL
                                     Cache




Tuesday, August 30, 2011
Frontend Ask


                Outbox       OH SHIT            Mem
                 QW
                                                        MySQL
                                                Cache


                           Gazillion messages




Tuesday, August 30, 2011
Frontend Ask


                Outbox           OH SHIT            Mem
                 QW
                                                            MySQL
                                                    Cache


       Inbox
        Inbox
         Inbox
                               Gazillion messages
        QWInbox
           Inbox
         QW
          QWInbox
             Inbox
           QW
            QWInbox
               Inbox
             QW
              QWInbox
                 Inbox
               QW
                QWInbox
                   Inbox
                 QW
                  QWInbox
                     Inbox
                   QW
                    QWInbox
                       Inbox
                     QW
                      QW
                       QW
                       QWs



Tuesday, August 30, 2011
Frontend Ask


                Outbox           OH SHIT            Mem
                 QW
                                                            MySQL
                                                    Cache


       Inbox
        Inbox
         Inbox
                               Gazillion messages
        QWInbox
           Inbox
         QW
          QWInbox
             Inbox
           QW
            QWInbox
               Inbox
             QW
              QWInbox
                 Inbox
               QW
                QWInbox
                   Inbox
                 QW
                  QWInbox
                     Inbox
                   QW
                    QWInbox
                       Inbox
                     QW
                      QW
                       QW
                                           Inbox
                       QWs
                                           Object


Tuesday, August 30, 2011
Frontend Ask


     Outbox
  *HANGING*
                                 OH SHIT            Mem
      QW
                                                            MySQL
                                                    Cache


       Inbox
        Inbox
         Inbox
                               Gazillion messages
        QWInbox
           Inbox
         QW
          QWInbox
             Inbox
           QW
            QWInbox
               Inbox
             QW
              QWInbox
                 Inbox
               QW
                QWInbox
                   Inbox
                 QW
                  QWInbox
                     Inbox
                   QW
                    QWInbox
                       Inbox
                     QW
                      QW
                       QW
                                           Inbox
                       QWs
                                           Object


Tuesday, August 30, 2011
Frontend Ask


             Outbox
            *OOM*
                                 OH SHIT            Mem
              QW
                                                            MySQL
                                                    Cache


       Inbox
        Inbox
         Inbox
                               Gazillion messages
        QWInbox
           Inbox
         QW
          QWInbox
             Inbox
           QW
            QWInbox
               Inbox
             QW
              QWInbox
                 Inbox
               QW
                QWInbox
                   Inbox
                 QW
                  QWInbox
                     Inbox
                   QW
                    QWInbox
                       Inbox
                     QW
                      QW
                       QW
                                           Inbox
                       QWs
                                           Object


Tuesday, August 30, 2011
Frontend Ask

         Outbox
         Outbox
          Outbox
          Outbox                 OH SHIT            Mem
           Outbox
          QW
           Outbox
          QW                                                MySQL
            Outbox
           QW
            QW
            QW
             QW
             QW
                                                    Cache


       Inbox
        Inbox
         Inbox
                               Gazillion messages
        QWInbox
           Inbox
         QW
          QWInbox
             Inbox
           QW
            QWInbox
               Inbox
             QW
              QWInbox
                 Inbox
               QW
                QWInbox
                   Inbox
                 QW
                  QWInbox
                     Inbox
                   QW
                    QWInbox
                       Inbox
                     QW
                      QW
                       QW
                                           Inbox
                       QWs
                                           Object


Tuesday, August 30, 2011
Frontend Ask

         Outbox
         Outbox
          Outbox
          Outbox                 OH SHIT            Mem
           Outbox
          QW
           Outbox
          QW                                                MySQL
           QW
            OOM
            QW
            QW
             QW                                     Cache


       Inbox
        Inbox
         Inbox
                               Gazillion messages
        QWInbox
           Inbox
         QW
          QWInbox
             Inbox
           QW
            QWInbox
               Inbox
             QW
              QWInbox
                 Inbox
               QW
                QWInbox
                   Inbox
                 QW
                  QWInbox
                     Inbox
                   QW
                    QWInbox
                       Inbox
                     QW
                      QW
                       QW
                                           Inbox
                       QWs
                                           Object


Tuesday, August 30, 2011
We need a solution



Tuesday, August 30, 2011
Fast



Tuesday, August 30, 2011
Tuesday, August 30, 2011
Step 1: Research



Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Our first shot with
                              Cassandra



Tuesday, August 30, 2011
All Responses



Tuesday, August 30, 2011
Tuesday, August 30, 2011
Explain our stack here



Tuesday, August 30, 2011
Index of responses to
                      questions on the site.



Tuesday, August 30, 2011
Index of responses to
                      questions on the site.



Tuesday, August 30, 2011
Explain our stack here



Tuesday, August 30, 2011
Tuesday, August 30, 2011
Ask Followers



Tuesday, August 30, 2011
How to scale ?



Tuesday, August 30, 2011
Build a Social Graph



Tuesday, August 30, 2011
Social Graph



Tuesday, August 30, 2011
Build a Social Graph


                    • Python



Tuesday, August 30, 2011
Build a Social Graph


                    • Python
                    • Cassandra (Obviously..)


Tuesday, August 30, 2011
Build a Social Graph

                    • Python
                    • Cassandra (Obviously..)
                    • PyCassa


Tuesday, August 30, 2011
Build a Social Graph

                    • Python
                    • Cassandra (Obviously..)
                    • PyCassa
                    • Thrift

Tuesday, August 30, 2011
4 types of actions


                    • Following



Tuesday, August 30, 2011
4 types of actions


                    • Following
                    • Followers


Tuesday, August 30, 2011
4 types of actions

                    • Following
                    • Followers
                    • Blocks


Tuesday, August 30, 2011
4 types of actions

                    • Following
                    • Followers
                    • Blocks
                    • Blockers

Tuesday, August 30, 2011
Thrift



Tuesday, August 30, 2011
Tuesday, August 30, 2011
Tuesday, August 30, 2011
Cassandra




Tuesday, August 30, 2011
Cassandra




Tuesday, August 30, 2011
Cassandra




Tuesday, August 30, 2011
Cassandra




Tuesday, August 30, 2011
Cassandra




Tuesday, August 30, 2011
Cassandra




Tuesday, August 30, 2011
Python + Pycassa



Tuesday, August 30, 2011
Python + Pycassa
                           Column Families




Tuesday, August 30, 2011
Python + Pycassa
                      Get list of Follow[ers/ing]




Tuesday, August 30, 2011
Python + Pycassa
                           More Queries




Tuesday, August 30, 2011
Python + Pycassa
                           Follow user




Tuesday, August 30, 2011
Switch to Production



Tuesday, August 30, 2011
Simultaneous writes to
                   MySQL and Cassandra



Tuesday, August 30, 2011
Switch to Production

                                     Cassandra   MySQL



                             Read                  x



                             Write      x          x



Tuesday, August 30, 2011
Idempotence is your
                                 friend.


Tuesday, August 30, 2011
Migration from MySQL
                       to Cassandra


Tuesday, August 30, 2011
Load batches of user
                           info into Cassandra.


Tuesday, August 30, 2011
It’s OK if it fails.



Tuesday, August 30, 2011
Remember
                           idempotence is your
                                 friend.

Tuesday, August 30, 2011
Adjust your capacity



Tuesday, August 30, 2011
From 4 instances
                                  to
                            a 12 instances


Tuesday, August 30, 2011
New Ask Followers
                             Infrastructure



Tuesday, August 30, 2011
Frontend Ask


                           Cassandra
                            Cluster




Tuesday, August 30, 2011
Frontend Ask


                Outbox
                           Cassandra
                 QW
                            Cluster




Tuesday, August 30, 2011
Frontend Ask


                Outbox
                            Cassandra
                 QW
                             Cluster

                Iterative
                  KW




Tuesday, August 30, 2011
Frontend Ask


                Outbox
                                                           Cassandra
                 QW
                                                            Cluster
                                                   0, N)
                                           ser_id,
                                      ers(u
                            get_follow
                Iterative
                  KW




Tuesday, August 30, 2011
Frontend Ask


                Outbox
                                                             Cassandra
                 QW
                                                              Cluster
                                          ’, ..., ‘ 1999’]
                             ‘1234 , ‘1238
                            [
                Iterative
                  KW




Tuesday, August 30, 2011
Frontend Ask


                Outbox
                                                                     Cassandra
                 QW
                                                                      Cluster
                                                  ’, ..., ‘ 1999’]
                                     ‘1234 , ‘1238
                                    [
                Iterative
                  KW
                           N Messages




Tuesday, August 30, 2011
Frontend Ask


                Outbox
                                                                     Cassandra
                 QW
                                                                      Cluster
                                                  ’, ..., ‘ 1999’]
                                     ‘1234 , ‘1238
                                    [
                Iterative
                  KW
                           N Messages

                   Inbox
                    QW



Tuesday, August 30, 2011
Frontend Ask


                Outbox
                                                                 Cassandra
                 QW
                                                                  Cluster
                                              ’, ..., ‘ 1999’]
                                 ‘1234 , ‘1238
                                [
                Iterative
                  KW



                   Inbox    N              Inbox
                    QW                     Object


Tuesday, August 30, 2011
Frontend Ask


                Outbox
                                                                   Cassandra
                 QW
                                                                    Cluster
                                                             +N)
                                              ser_i   d, N, N
                                            u
                                      wers(
                            get _follo
                Iterative
                  KW



                   Inbox      N             Inbox
                    QW                      Object


Tuesday, August 30, 2011
Count Following


          14K/min hits at peak time


Tuesday, August 30, 2011
Count Followers


          40K/min hits at peak time


Tuesday, August 30, 2011
Reduce our #instances
                           12x                    12x

                           Inbox
                            Inbox                 Inbox
                                                   Inbox
                             Inbox
                              Inbox                 Inbox
                                                     Inbox
                           QWs
                            QWsInbox
                                Inbox             QWs
                                                   QWsInbox
                                                       Inbox
                             QWs
                              QWsInbox
                                  Inbox             QWs
                                                     QWsInbox
                                                         Inbox
                               QWs
                                QWsInbox
                                    Inbox             QWs
                                                       QWsInbox
                                                           Inbox
                                 QWs
                                  QWsInbox
                                      Inbox             QWs
                                                         QWsInbox
                                                             Inbox
                                   QWs
                                    QWsInbox
                                        Inbox             QWs
                                                           QWsInbox
                                                               Inbox
                                     QWs
                                      QWsInbox
                                          Inbox             QWs Inbox
                                                               Outbox
                                                             QWs
                                       QWs
                                        QWs                   QWs
                                                               QWs
                                         QWs
                                          QWs                   QWs
                                                                 QWs




Tuesday, August 30, 2011
Reduce our #instances
                           12x                    4x

                           Inbox
                            Inbox
                             Inbox
                              Inbox
                           QWs
                            QWsInbox
                                Inbox
                             QWs
                              QWsInbox
                                  Inbox
                               QWs
                                QWsInbox
                                    Inbox
                                 QWs
                                  QWsInbox
                                      Inbox
                                   QWs
                                    QWsInbox
                                        Inbox      Inbox
                                                    Inbox
                                     QWs
                                      QWsInbox
                                          Inbox      Inbox
                                                      Inbox
                                       QWs
                                        QWs          Outbox
                                                   QWs
                                                    QWs
                                         QWs
                                          QWs        QWs
                                                      QWs
                                                       QWs




Tuesday, August 30, 2011
Reduce our #instances
                                12x                 4x


                           Inbox
                            Inbox
                             Inbox
                           QWsInbox
                            QWsInbox
                             QWsInbox
                              QWsInbox
                               QWsInbox              Inbox
                                QWsInbox
                                 QWsInbox             Inbox
                                                       Inbox
                                  QWsInbox              Inbox
                                                       Outbox
                                                     QWs
                                      Inbox
                                   QWs Inbox
                                    QWsInbox          QWs
                                                       QWs
                                     QWsInbox
                                          Inbox         QWs
                                                         QWs
                                      QWs+
                                       QWs
                                        QWs
                                          QWs
                                         Iterator
                                           QW

Tuesday, August 30, 2011
Counts for free with
                                  0.8.1



Tuesday, August 30, 2011
Counting . . .




Tuesday, August 30, 2011
Counting is hard


                                  Let’s go Shopping.



Tuesday, August 30, 2011
Counting


                    • Fast



Tuesday, August 30, 2011
Counting


                    • Fast
                    • Not-accurate


Tuesday, August 30, 2011
Counting

                    • Fast
                    • Not-accurate
                    • Faking “Read-repair”


Tuesday, August 30, 2011
Counting




Tuesday, August 30, 2011
Ghetto Count




Tuesday, August 30, 2011
Cassandra allowed us:


                    • To create new features.



Tuesday, August 30, 2011
Cassandra allowed us:


                    • To create new features.
                    • To scale.


Tuesday, August 30, 2011
Cassandra allowed us:

                    • To create new features.
                    • To scale.
                    • To save money.


Tuesday, August 30, 2011
Cassandra allowed us:

                    • To create new features.
                    • To scale.
                    • To save money.
                    • To sleep. (Almost there)

Tuesday, August 30, 2011
Cassandra allowed us:

                    • To create new features.
                    • To scale.
                    • To save money.
                    • To sleep. (Almost there)
                    • Lots of fun :)

Tuesday, August 30, 2011
Come work with us !



Tuesday, August 30, 2011

More Related Content

Viewers also liked

Reverse Engineering
Reverse EngineeringReverse Engineering
Reverse Engineering
dswanson
 

Viewers also liked (19)

An Overview of Apache Cassandra
An Overview of Apache CassandraAn Overview of Apache Cassandra
An Overview of Apache Cassandra
 
Reverse Engineering
Reverse EngineeringReverse Engineering
Reverse Engineering
 
Chess
ChessChess
Chess
 
Lionel Messi
Lionel MessiLionel Messi
Lionel Messi
 
Lionel messi
Lionel messiLionel messi
Lionel messi
 
Jeff jonas big data new physics
Jeff jonas big data new physicsJeff jonas big data new physics
Jeff jonas big data new physics
 
Growth Hacking
Growth Hacking Growth Hacking
Growth Hacking
 
Workshop
WorkshopWorkshop
Workshop
 
Datomic
DatomicDatomic
Datomic
 
Datomic
DatomicDatomic
Datomic
 
Datomic
DatomicDatomic
Datomic
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Selena Gomez
Selena GomezSelena Gomez
Selena Gomez
 
Sap fiori
Sap fioriSap fiori
Sap fiori
 
intel core i7
intel core i7intel core i7
intel core i7
 
Clojure
ClojureClojure
Clojure
 
Waldorf Education
Waldorf EducationWaldorf Education
Waldorf Education
 
Medical devices
Medical devicesMedical devices
Medical devices
 
ReactJs
ReactJsReactJs
ReactJs
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 

Cassandra @Formspring