A N O PEN -S OURCE OURCE B ENC HMARK S UI OR M IC NCHMARK UITE TE FOR ICRO ROSERVICES SERVICES AND ND T HEIR IR H ARDWARE RDWARE -S OFTWARE OFTWARE I MPLICA OR C LOU ICATIONS TIONS FOR OUD AND E DGE S YSTE STEMS MS Yu Gan, Yanqi Zhang, Dailun Cheng, Ankitha Shetty, Priyal Rathi, Nayantara Katarki, Ariana Bruno, Justin Hu, Brian Ritchken, Brendon Jackson, Kelvin Hu, Meghna Pancholi, Yuan He, Brett Clancy, Chris Colen, Fukang Wen, Catherine Leung, Siyuan Wang, Leon Zaruvinsky, Mateo Espinosa, Rick Lin, Zhongling Liu, Jake Padilla and Christina Delimitrou Cornell University ASPLOS 2019 Session Cloud I
E XEC UTIVE S UM ECUTIV UMMARY MARY Cloud applications migrating from monoliths to microservices • Monoliths: all functionality in a single service • Microservices: many single-concerned, loosely-coupled services • Modularity, specialization, faster development • Datacenters designed for monoliths microservices have different requirements An end-to-end benchmark suite for large-scale microservices Architectural and system implications • Hardware design • OS/networking overheads • Cluster management • Application & programming frameworks • Tail at scale 1
F ROM ROM M ON TO M IC ONOLITHS OLITHS TO ICRO ROSERVICES SERVICES Monolithic applications • Single binary with entire business logic orders Limitations login • Too complex for continuous development payments • Obstacle to adopting new frameworks • Poor scalability & elasticity shipping Monolith Application 2
F ROM ROM M ON TO M IC ONOLITHS OLITHS TO ICRO ROSERVICES SERVICES Microservices • Fine-grained, loosely-coupled, and single- concerned • Communicate with RPCs or RESTful APIs shipping login Pros payments orders • Agile development • Better modularity & elasticity • Testing and debugging in isolation Cons • Different hardware & software constraints • Dependencies complicate cluster management 3
F ROM ROM M ON TO M IC ONOLITHS OLITHS TO ICRO ROSERVICES SERVICES 4
M OT OTIVATIO IVATION Explore implications of microservices across the system stack 5. Tail at scale 4. 4. Application and frameworks 3. Cluster management 3. Cluster management 2. OS/Network overheads 2. OS/Network overheads 1. Hardware design 1. Hardware design 5
M OT OTIVATIO IVATION Explore implications of microservices across the system stack 5. Tail at scale 4. 4. Application and frameworks Need representative, end-to-end applications 3. Cluster management 3. Cluster management built with microservices 2. OS/Network overheads 2. OS/Network overheads 1. Hardware design 1. Hardware design 6
M OT OTIVATIO IVATION Previous work in cloud benchmarking • CloudSuite [ ASPLOS’12 ] • Sirius [ ASPLOS’15 ] Focus either on monolithic applications or • TailBench [ II SWC’17 ] applications with few tiers • μSuite [ IISWC’18 ] DeathStarBench suite • Focus on large-scale microservices that stress typical datacenter design 7
D EA TH S TAR TAR B ENCH ENCH S UI EATH UITE TE Design principles • Representativeness » Use of popular open-source applications and frameworks » Service architecture following public documentation of real systems using microservices 8
D EA TH S TAR TAR B ENCH ENCH S UI EATH UITE TE Design principles • Representativeness • End-to-end operation » Full functionality using microservices 9
D EA TH S TAR TAR B ENCH ENCH S UI EATH UITE TE Design principles • Representativeness • End-to-end operation • Heterogeneity » Wide range of programming languages and microservices frameworks 10
D EA TH S TAR TAR B ENCH ENCH S UI EATH UITE TE Design principles • Representativeness • End-to-end operation • Heterogeneity • Modularity » Single-concerned and loosely-coupled services 11
D EA TH S TAR TAR B ENCH ENCH S UI EATH UITE TE Design principles • Representativeness • End-to-end operation • Heterogeneity • Modularity • Reconfigurability » Easy to update or change components with minimal effort 12
D EA TH S TAR TAR B ENCH ENCH S UI EATH UITE TE 5 end-to-end applications, tens of unique microservices each • Social Network • Media Service • E-Commerce Service • Banking System • Drone Coordination System 13
D EA TH S TAR TAR B ENCH ENCH S UI EATH UITE TE Social network 14
D EA TH S TAR TAR B ENCH ENCH S UI EATH UITE TE Media service 15
D EA TH S TAR TAR B ENCH ENCH S UI EATH UITE TE E-commerce service 16
D EA TH S TAR TAR B ENCH ENCH S UI EATH UITE TE Banking system 17
D EA TH S TAR TAR B ENCH ENCH S UI EATH UITE TE Drone coordination system Frontend Cloud Edge Edge Router Controller OrientationDB Location LuminosityDB Speed Load MotionCtrl Client NGINX Controller Balancer SpeedDB Image Image LocationDB Construct Video Recognition Edge Swarm Route VideoDB Luminosity Obstacle ImageDB Orientation Avoidance TargetDB Stocking ImageDB Log(node.js) 18
C AS TUDY : : S OC ASE STU OCIA IAL NE NETWORK TWORK User sign up/login Frontend Logic Caching & Storage Read Favorite Memcached MongoDB User storage Unique ID Post Search Memcached MongoDB Post storage URL Shorten Image Store Post Read Home Index n Index 0 Index 1 Frontend Image Storage Timeline User timeline Memcached MongoDB storage Load Text User Client NGINX Compose Balancer Timeline Home timeline Post Redis storage Video Store Video Social graph Frontend RabbitMQ Memcached MongoDB User storage User Tag Memcached MongoDB Image storage Social Write Home Recommender Graph Timeline Memcached MongoDB Video storage 19
C AS TUDY : : S OC ASE STU OCIA IAL NE NETWORK TWORK Write posts Frontend Logic Caching & Storage Read Favorite Memcached MongoDB User storage Unique ID Post Search Memcached MongoDB Post storage URL Shorten Image Store Post Read Home Index n Index 0 Index 1 Frontend Image Storage Timeline User timeline Memcached MongoDB storage Load User Client NGINX Text Compose Balancer Home timeline Timeline Post Redis storage Video Store Video Social graph Memcached MongoDB Frontend RabbitMQ storage User User Tag Memcached MongoDB Image storage Social Write Home Recommender Memcached MongoDB Video storage Graph Timeline 20
C AS TUDY : : S OC ASE STU OCIA IAL NE NETWORK TWORK Read home timeline Frontend Logic Caching & Storage Read Favorite MongoDB Memcached User storage Unique ID Post Search Memcached MongoDB Post storage URL Shorten Image Store Post Read Home Index n Index 0 Index 1 Frontend Image Storage Timeline User timeline MongoDB Memcached storage Load User Client NGINX Text Compose Balancer Home timeline Timeline Post Redis storage Video Store Video Social graph Memcached MongoDB Frontend RabbitMQ storage User User Tag Memcached MongoDB Image storage Social Write Home Video storage Recommender Memcached MongoDB Graph Timeline 21
C AS TUDY : : S OC ASE STU OCIA IAL NE NETWORK TWORK Search Frontend Logic Caching & Storage Read Favorite Memcached MongoDB User storage Unique ID Post Search Post storage Memcached MongoDB URL Shorten Image Store Post Read Home Frontend Index n Index 0 Index 1 Image Storage Timeline User timeline Memcached MongoDB Load storage Text User Client NGINX Compose Balancer Timeline Home timeline Post Redis storage Video Store Video Social graph Frontend RabbitMQ Memcached MongoDB User storage User Tag Memcached MongoDB Image storage Social Write Home Recommender Graph Timeline Memcached MongoDB Video storage 22
C AS TUDY : : S OC ASE STU OCIA IAL NE NETWORK TWORK Recommendation Frontend Logic Caching & Storage Read Favorite Memcached MongoDB User storage Unique ID Post Search Memcached MongoDB Post storage URL Shorten Image Store Post Read Home Index n Index 0 Index 1 Frontend Image Storage Timeline User timeline Memcached MongoDB storage Load User Client NGINX Text Compose Balancer Home timeline Timeline Post Redis storage Video Store Video Social graph Frontend Memcached MongoDB RabbitMQ User storage User Tag Memcached MongoDB Image storage Social Write Home Recommender Graph Timeline Memcached MongoDB Video storage 23
A RC AND S YS TEM I MPLI RCHITECT ITECTURAL URAL AN YSTE LICA CATIONS TIONS Explore implications of microservices across the system stack 5. Tail at scale 4. 4. Application and frameworks 3. Cluster management 3. Cluster management 2. OS/Network overheads 2. OS/Network overheads 1. Hardware design 1. Hardware design 24
H AR RE D ES ARDWA WARE ESIG IGN 5. Tail at scale Brawny vs. wimpy cores 4. Application and frameworks • Microservices are more sensitive to performance 3. Cluster management unpredictability than monoliths 2. OS/Network overheads 1. Hardware design Microservices Monoliths 25
H AR RE D ES ARDWA WARE ESIG IGN 5. Tail at scale Brawny vs. wimpy cores 4. Application and frameworks • Microservices are more sensitive to performance 3. Cluster management unpredictability than monoliths 2. OS/Network overheads 1. Hardware design Microservices Monoliths 26
Recommend
More recommend