Archives
- By thread 3668
-
By date
- June 2021 10
- July 2021 6
- August 2021 20
- September 2021 21
- October 2021 48
- November 2021 40
- December 2021 23
- January 2022 46
- February 2022 80
- March 2022 109
- April 2022 100
- May 2022 97
- June 2022 105
- July 2022 82
- August 2022 95
- September 2022 103
- October 2022 117
- November 2022 115
- December 2022 102
- January 2023 88
- February 2023 90
- March 2023 116
- April 2023 97
- May 2023 159
- June 2023 145
- July 2023 120
- August 2023 90
- September 2023 102
- October 2023 106
- November 2023 100
- December 2023 74
- January 2024 75
- February 2024 75
- March 2024 78
- April 2024 74
- May 2024 108
- June 2024 98
- July 2024 116
- August 2024 134
- September 2024 130
- October 2024 141
- November 2024 90
-
📆 Unlock the power of async work: Join our webinar.
📆 Unlock the power of async work: Join our webinar.
Learn about asynchronous work in action and its impact on global teams.Hi MD,
🎉 We're thrilled to invite you to our webinar:
ASYNC Power Hour: Asynchronous Work in Action and Its Impact on Global Teams.
Watch on-demand, starting March 6th, 2024. This pre-recorded webinar is all about embracing async. Why this format? Because learning should fit your schedule, not the other way around.
Agenda Highlights:
- Buzzword or Future of Work? 🤔 Remote CEO, Job van der Voort unpacks the reality of async work in a global organisation.
- Confessions from the People Team: 💬 Insights into cultivating an ASYNC culture from our global team leaders.
- Hiring for an ASYNC Workplace: 👥 Learn strategies for assembling a remote-ready team, featuring advice from our Director of Talent Acquisition, Anastasia Pshegodskaya.
- Managing an ASYNC Team: 💼 Discover lessons from our leadership, including firsthand experiences from Amanda Day, Senior Director of People Enablement.
Gain actionable insights and strategies to enhance your team's productivity 📈 and flexibility. Be sure to Register Now and set your team up for success. 🏆
The HR platform for global businesses
Remote makes running global teams simple.
Hire, manage, and pay anyone, anywhere.You received this email because you are subscribed to News & Offers from Remote Europe Holding B.V
Update your email preferences to choose the types of emails you receive.
Unsubscribe from all future emailsRemote Europe Holding B.V
Copyright © 2024 All rights reserved.
Kraijenhoffstraat 137A 1018RG Amsterdam The Netherlands
by "Remote" <hello@remote-comms.com> - 10:01 - 26 Feb 2024 -
Only the best: A leader’s guide to delivering exceptional customer experiences
At your service
by "McKinsey Leading Off" <publishing@email.mckinsey.com> - 04:49 - 26 Feb 2024 -
Will generative AI lift up Black communities?
On Point
Effects on minority workers Brought to you by Liz Hilton Segel, chief client officer and managing partner, global industry practices, & Homayoun Hatami, managing partner, global client capabilities
•
A wider wealth gap. Organizations are just starting to understand generative AI’s potential to lift productivity and create value. Yet new technologies often can create or worsen divides, McKinsey senior partner Mark McMillan, partner Jan Shelly Brown, and coauthors share. Without correcting long-standing patterns, gen AI has the potential to increase the racial wealth gap in the US. The McKinsey Institute for Black Economic Mobility finds that by 2045, a skewed distribution of new wealth created by gen AI could increase the gap between Black and White US households by $43 billion each year.
— Edited by Belinda Yu, editor, Atlanta
This email contains information about McKinsey's research, insights, services, or events. By opening our emails or clicking on links, you agree to our use of cookies and web tracking technology. For more information on how we use and protect your information, please review our privacy policy.
You received this newsletter because you subscribed to the Only McKinsey newsletter, formerly called On Point.
Copyright © 2024 | McKinsey & Company, 3 World Trade Center, 175 Greenwich Street, New York, NY 10007
by "Only McKinsey" <publishing@email.mckinsey.com> - 01:37 - 26 Feb 2024 -
The week in charts
The Week in Charts
Racial parity in the US, Panama Canal restrictions, and more Share these insights
Did you enjoy this newsletter? Forward it to colleagues and friends so they can subscribe too. Was this issue forwarded to you? Sign up for it and sample our 40+ other free email subscriptions here.
This email contains information about McKinsey's research, insights, services, or events. By opening our emails or clicking on links, you agree to our use of cookies and web tracking technology. For more information on how we use and protect your information, please review our privacy policy.
You received this email because you subscribed to The Week in Charts newsletter.
Copyright © 2024 | McKinsey & Company, 3 World Trade Center, 175 Greenwich Street, New York, NY 10007
by "McKinsey Week in Charts" <publishing@email.mckinsey.com> - 03:26 - 24 Feb 2024 -
The power of problem-solving: Ditch conventional methods
Readers & Leaders
Plus, new reads for a new year THIS MONTH’S PAGE-TURNERS ON BUSINESS AND BEYOND
Your team has identified an ideal solution to a major challenge at work. There’s just one problem: the solution increases the workload for several team members and involves some elements of bureaucracy. Is it ideal if it reduces pain points but increases tasks? With so many cogs in the wheel, how can you set an effective game plan in motion?
In this edition of Readers & Leaders, sharpen your business problem-solving skills and learn ways to overcome friction, strengthen teams, and enhance project management efforts. After studying more than 2,000 teams, Robert I. Sutton shares friction-fixing tips to streamline processes for greater efficiency and less frustration. Andrew McAfee and Howard Friedman outline unconventional methods for achieving goals. Mohammed Alardhi explains why situational awareness is a predictor of successful leadership. And Moshik Temkin draws on history to see how leaders from the past have shaped the future outlook.
Read on to find out more about how you, too, can streamline efforts and improve productivity.IT BEARS REPEATING
“[Friction fixing] starts with the mindset that leaders of organizations see themselves as editor in chief, whose job it is to subtract unnecessary stuff or to make it difficult for people to add in the first place.”
—Robert I. Sutton, organizational psychologist and Stanford University professor emeritus of management science and engineering, in a February edition of Author Talks.IN CASE YOU MISSED IT
TURN BACK THE PAGE
Looking to increase business productivity and reduce friction? Check out these previous Author Talks interviews to learn how:
1. How minor stresses add up to epic fails
2. Am I making myself clear?
3. Scale your people, not just your companyCOMING SOON
What’s in store for retail?
Philip Kotler, renowned marketing expert and professor emeritus of international marketing at Northwestern University, offers an enhanced perspective on retail in a March edition of Author Talks, saying, “There’s a perfect storm going on in retailing. Do we need stores anymore?”
To learn why the digital age “isn’t the end,” check out Kotler’s interview about his new book, Redefining Retail: 10 Guiding Principles for a Post-Digital World (Wiley, January 2024), coauthored by Giuseppe Stigliano. Stay tuned!BUSINESS BESTSELLERS TOP
8
Need more books to add to your reading list? Explore January’s business bestsellers, prepared exclusively for McKinsey by Circana. Check out the full selection on McKinsey on Books.
BUSINESS OVERALL
BUSINESS HARDCOVER
ECONOMICS
DECISION MAKING
ORGANIZATIONAL BEHAVIOR
WORKPLACE CULTURE
COMPUTERS & AI
SUSTAINABILITY
Venture Meets Mission: Aligning People, Purpose, and Profit to Innovate and Transform Society by Arun Gupta, Gerard George, and Thomas J. Fewer
(Two Rivers Distribution)BOOKMARK THIS
If you’d like to propose a book or author for #McKAuthorTalks, please email us at Author_Talks@McKinsey.com. Due to the high volume of requests, we will respond only to those being considered.
— Edited by Emily Adeyanju, editor, Charlotte
Share these insights
Did you enjoy this newsletter? Forward it to colleagues and friends so they can subscribe too.
Was this issue forwarded to you? Sign up for it and sample our 40+ other free email subscriptions here.
This email contains information about McKinsey's research, insights, services, or events. By opening our emails or clicking on links, you agree to our use of cookies and web tracking technology. For more information on how we use and protect your information, please review our privacy policy.
You received this email because you subscribed to the Readers & Leaders newsletter.
Copyright © 2024 | McKinsey & Company, 3 World Trade Center, 175 Greenwich Street, New York, NY 10007
by "McKinsey Readers & Leaders" <publishing@email.mckinsey.com> - 11:41 - 24 Feb 2024 -
EP100: Polling vs. Webhooks
EP100: Polling vs. Webhooks
This week’s system design refresher: Polling vs. Webhooks How do we manage configurations in a system? What is CSS (Cascading Style Sheets)? What is GraphQL? Is it a replacement for the REST API? SPONSOR US 😘 Kiss bugs goodbye with fully automated end-to-end test coverage (Sponsored)͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ Forwarded this email? Subscribe here for moreThis week’s system design refresher:
Polling vs. Webhooks
How do we manage configurations in a system?
What is CSS (Cascading Style Sheets)?
What is GraphQL? Is it a replacement for the REST API?
SPONSOR US
😘 Kiss bugs goodbye with fully automated end-to-end test coverage (Sponsored)
QA Wolf offers a cost-effective approach to getting 80% test coverage in just 4 months. And they guarantee zero flakes.
They build and maintain your test suite in Playwright + include unlimited parallel test runs on their infrastructure. The benefit? No more manual e2e testing, no more slow QAcycles, and no more bugs.
QA Wolf has multiple case studies of customers saving $200k+/year in QA engineering and infrastructure costs. Schedule a demo to learn more.
PS: They have a 4.8/5 star rating on G2.
Polling vs. Webhooks
Polling
Polling involves repeatedly checking the external service or endpoint at fixed intervals to retrieve updated information.
It’s like constantly asking, “Do you have something new for me?” even where there might not be any update.
This approach is resource-intensive and inefficient.
Also, you get updates only when you ask for it, thereby missing any real-time information.
However, developers have more control over when and how the data is fetched.Webhooks
Webhooks are like having a built-in notification system.
You don’t continuously ask for information.
Instead you create an endpoint in your application server and provide it as a callback to the external service (such as a payment processor or a shipping vendor)
Every time something interesting happens, the external service calls the endpoint and provides the information.
This makes webhooks ideal for dealing with real-time updates because data is pushed to your application as soon as it’s available.
So, when to use Polling or Webhook?
Polling is a solid option when there is some infrastructural limitation that prevents the use of webhooks. Also, with webhooks there is a risk of missed notifications due to network issues, hence proper retry mechanisms are needed.
Webhooks are recommended for applications that need instant data delivery. Also, webhooks are efficient in terms of resource utilization especially in high throughput environments.Latest articles
If you’re not a paid subscriber, here’s what you missed this month.
To receive all the full articles and support ByteByteGo, consider subscribing:
How do we manage configurations in a system?
The diagram shows a comparison between traditional configuration management and IaC (Infrastructure as Code).
Configuration Management
The practice is designed to manage and provision IT infrastructure through systematic and repeatable processes. This is critical for ensuring that the system performs as intended.
Traditional configuration management focuses on maintaining the desired state of the system's configuration items, such as servers, network devices, and applications, after they have been provisioned.
It usually involves initial manual setup by DevOps. Changes are managed by step-by-step commands.What is IaC?
IaC, on the hand, represents a shift in how infrastructure is provisioned and managed, treating infrastructure setup and changes as software development practices.
IaC automates the provisioning of infrastructure, starting and managing the system through code. It often uses a declarative approach, where the desired state of the infrastructure is described.
Tools like Terraform, AWS CloudFormation, Chef, and Puppet are used to define infrastructure in code files that are source controlled.
IaC represents an evolution towards automation, repeatability, and the application of software development practices to infrastructure management.
What is CSS (Cascading Style Sheets)?
Front-end development requires not only content presentation, but also good-looking. CSS is a markup language used to describe how elements on a web page should be rendered.
What CSS does?
CSS separates the content and presentation of a document. In the early days of web development, HTML acted as both content and style.
CSS divides structure (HTML) and style (CSS). This has many benefits, for example, when we change the color scheme of a web page, all we need to do is to tweak the CSS file.How CSS works?
CSS consists of a selector and a set of properties, which can be thought of as individual rules. Selectors are used to locate HTML elements that we want to change the style of, and properties are the specific style descriptions for those elements, such as color, size, position, etc.
For example, if we want to make all the text in a paragraph blue, we write CSS code like this:
p { color: blue; }
Here “p” is the selector and “color: blue” is the attribute that declares the color of the paragraph text to be blue.Cascading in CSS
The concept of cascading is crucial to understanding CSS.
When multiple style rules conflict, the browser needs to decide which rule to use based on a specific prioritization rule. The one with the highest weight wins. The weight can be determined by a variety of factors, including selector type and the order of the source.Powerful Layout Capabilities of CSS
In the past, CSS was only used for simple visual effects such as text colors, font styles, or backgrounds. Today, CSS has evolved into a powerful layout tool capable of handling complex design layouts.
The “Flexbox” and “Grid” layout modules are two popular CSS layout modules that make it easy to create responsive designs and precise placement of web elements, so web developers no longer have to rely on complex tables or floating layouts.CSS Animation
Animation and interactive elements can greatly enhance the user experience.
CSS3 introduces animation features that allow us to transform and animate elements without using JavaScript. For example, “@keyframes” rule defines animation sequences, and the `transition` property can be used to set animated transitions from one state to another.Responsive Design
CSS allows the layout and style of a website to be adapted to different screen sizes and resolutions, so that we can provide an optimized browsing experience for different devices such as cell phones, tablets and computers.
What is GraphQL? Is it a replacement for the REST API?
The diagram below explains different aspects of GraphQL.
GraphQL is a query language for APIs and a runtime for executing those queries by using a type system you define for your data. It was developed internally by Meta in 2012 before being publicly released in 2015.
Unlike the more traditional REST API, GraphQL allows clients to request exactly the data they need, making it possible to fetch data from multiple sources with a single query. This efficiency in data retrieval can lead to improved performance for web and mobile applications.
GraphQL servers sit in between the client and the backend services. It can aggregate multiple REST requests into one query. GraphQL server organizes the resources in a graph.
GraphQL supports queries, mutations (applying data modifications to resources), and subscriptions (receiving notifications on schema modifications).
Benefits of GraphQL:GraphQL is more efficient in data fetching.
GraphQL returns more accurate results.
GraphQL has a strong type system to manage the structure of entities, reducing errors.
GraphQL is suitable for managing complex microservices.
Disadvantages of GraphQL
Increased complexity.
Over fetching by design
Caching complexity
SPONSOR US
Get your product in front of more than 500,000 tech professionals.
Our newsletter puts your products and services directly in front of an audience that matters - hundreds of thousands of engineering leaders and senior engineers - who have influence over significant tech decisions and big purchases.
Space Fills Up Fast - Reserve Today
Ad spots typically sell out about 4 weeks in advance. To ensure your ad reaches this influential audience, reserve your space now by emailing hi@bytebytego.com
Like Comment Restack © 2024 ByteByteGo
548 Market Street PMB 72296, San Francisco, CA 94104
Unsubscribe
by "ByteByteGo" <bytebytego@substack.com> - 11:39 - 24 Feb 2024 -
AI is the new steam
The Shortlist
Four new insights Curated by Liz Hilton Segel, chief client officer and managing partner, global industry practices, & Homayoun Hatami, managing partner, global client capabilities
Tech is a bigger story than ever—in our businesses, societies, and economies. In this edition of the CEO Shortlist, we look closely at four ways leaders can harness technology to pull ahead of their peers. We hope you enjoy the read.
—Liz and Homayoun
AI is the new steam. Hear us out: steam power, mechanized engines, and coal supply chains powered the First Industrial Revolution. The Fourth Industrial Revolution is already under way, but the efflorescence of AI has bent the S-curve for advanced manufacturing such that leaders are achieving truly transformative growth.
Start your revolution with “Adopting AI at speed and scale: The 4IR push to stay competitive,” by Henry Bristol, Enno de Boer, and Rahul Shahani.An old story with a new ending. We’ve known for a while that simply upgrading technology without involving the business doesn’t work. Now, companies are finding ways to combine the power of tech with managers’ collective wisdom to transform the entire enterprise. Take a look at what three companies have accomplished by simultaneously rethinking their supply chains and tech stacks.
Rewrite your story with “Tech-enabled transformations: Three supply chain success stories,” by Florian Bauer, Valerio Dilda, Lisa Gong, Christina Gröger, Bjørnar Jensen, Frederik Schulze Spüntrup, and Kaushik Vedpathak.All grown up. McKinsey’s Organizational Health Index recently celebrated its 20th birthday. Our latest research confirms the original insight: how a leader runs a business affects its performance—a lot. But wait, there’s more. The latest research finds intriguing new contributions to organizational health from technology, data-based decision making, decisive leadership, dynamic talent deployment, and more.
Take your company’s pulse with “Organizational health is (still) the key to long-term performance,” by Alex Camp, Arne Gast, Drew Goldstein, and Brooke Weddle.We hope you find these ideas inspiring and helpful. See you next time with four more McKinsey ideas for the CEO and others in the C-suite.
Share these insights
This email contains information about McKinsey’s research, insights, services, or events. By opening our emails or clicking on links, you agree to our use of cookies and web tracking technology. For more information on how we use and protect your information, please review our privacy policy.
You received this email because you subscribed to The CEO Shortlist newsletter.
Copyright © 2024 | McKinsey & Company, 3 World Trade Center, 175 Greenwich Street, New York, NY 10007
by "McKinsey CEO Shortlist" <publishing@email.mckinsey.com> - 04:24 - 23 Feb 2024 -
✨LEAP 2024: Elevate your API observability skills
✨LEAP 2024: Elevate your API observability skills
Mark your calendars and get ready for an immersive experience in API observability!Hi Md Abul,
Budha here! With just one week remaining until the LEAP 2024 API observability conference, I'm delighted to announce the official agenda is now live, including all the sessions you need to redefine what you know about API observability.
Check out the full schedule and sign up for your free spot here:
At the heart of LEAP lies a bold mission: to shake up the API landscape like never before. How? By shining a spotlight on observability which can help platform teams create more efficient API platforms, assist developers in troubleshooting and improving their APIs, and enable product managers to extract more value from their API products.
So, what can you expect on the day? Oh, just a little bit of API observability magic sprinkled here and there, no big deal:
🌟 Keynote address
💡 Expert panel
🛠️ Interactive workshops
📜 API observability certification
👣 Distinct decision-makers and implementers tracksThe important bits:
Thurs
29
FebTime
9am - 4pm
ETVirtual
Zoom
eventThis is THE day to elevate your API observability skills from basic to expert level!
See you at LEAP 2024!
Budha and team
Tyk, 87a Worship Street, London, City of London EC2A 2BE, United Kingdom, +44 (0)20 3409 1911
by "Budhaditya Bhattacharya" <communities@tyk.io> - 04:17 - 23 Feb 2024 -
What technologies are fueling mobility’s future?
On Point
10 tech trends to watch Brought to you by Liz Hilton Segel, chief client officer and managing partner, global industry practices, & Homayoun Hatami, managing partner, global client capabilities
•
Transformative tech. Thanks to the growth of EVs, autonomous driving, and other innovations, the mobility sector is changing fast. Our analysis of 3,500 industrial companies in ACES (autonomous driving, connectivity, electrification, and shared mobility) found that about 20% are already working on products or services related to ten leading tech trends, McKinsey Center for Future Mobility coleader Timo Möller and coauthors explain. These companies are in good financial health, with total funding reaching upward of $200 billion.
— Edited by Belinda Yu, editor, Atlanta
This email contains information about McKinsey's research, insights, services, or events. By opening our emails or clicking on links, you agree to our use of cookies and web tracking technology. For more information on how we use and protect your information, please review our privacy policy.
You received this newsletter because you subscribed to the Only McKinsey newsletter, formerly called On Point.
Copyright © 2024 | McKinsey & Company, 3 World Trade Center, 175 Greenwich Street, New York, NY 10007
by "Only McKinsey" <publishing@email.mckinsey.com> - 01:48 - 23 Feb 2024 -
The Fourth Industrial Revolution, healthcare in Latin America, new business building, and more: The Daily Read weekender
Relax and unwind with these reads Brought to you by Liz Hilton Segel, chief client officer and managing partner, global industry practices, & Homayoun Hatami, managing partner, global client capabilities
Relax and recharge this weekend with some of the week’s highlights on the Fourth Industrial Revolution, new business building for CEOs, healthcare in Latin America, and more.
QUOTE OF THE DAY
chart of the day
Ready to unwind?
—Edited by Joyce Yoo, editor, New York
Share these insights
Did you enjoy this newsletter? Forward it to colleagues and friends so they can subscribe too. Was this issue forwarded to you? Sign up for it and sample our 40+ other free email subscriptions here.
This email contains information about McKinsey’s research, insights, services, or events. By opening our emails or clicking on links, you agree to our use of cookies and web tracking technology. For more information on how we use and protect your information, please review our privacy policy.
You received this email because you subscribed to our McKinsey Quarterly Five Fifty alert list.
Copyright © 2024 | McKinsey & Company, 3 World Trade Center, 175 Greenwich Street, New York, NY 10007
by "McKinsey Daily Read" <publishing@email.mckinsey.com> - 10:08 - 22 Feb 2024 -
Tire Pressure Monitoring System - Keep Your Fleet Safe on the Road.
Tire Pressure Monitoring System - Keep Your Fleet Safe on the Road.
TPMS software provides analytics to enhance vehicle performance and prevent accidents.The Unmatched Advantages of Using TPMS
Uffizio Technologies Pvt. Ltd., 4th Floor, Metropolis, Opp. S.T Workshop, Valsad, Gujarat, 396001, India
by "Sunny Thakur" <sunny.thakur@uffizio.com> - 07:00 - 22 Feb 2024 -
How to Design a Good API?
How to Design a Good API?
We can find web services and APIs (Application Programming Interfaces) everywhere, but many are painful to use. Have you ever connected a web service using its API and wondered, "What were they thinking?" We have, and connecting services via API can be confusing. Whether due to bad design, missing docs, constant changes, or bugs, using APIs is often a struggle.͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ Forwarded this email? Subscribe here for moreLatest articles
If you’re not a subscriber, here’s what you missed this month.
To receive all the full articles and support ByteByteGo, consider subscribing:
We can find web services and APIs (Application Programming Interfaces) everywhere, but many are painful to use. Have you ever connected a web service using its API and wondered, "What were they thinking?" We have, and connecting services via API can be confusing. Whether due to bad design, missing docs, constant changes, or bugs, using APIs is often a struggle.
But it doesn't have to be that way. We can create fantastic web APIs that people love using, and we'll enjoy making them too. So, what's the key to designing a good API? This issue shares the secrets, guiding us in creating a clean, well-documented API that is easy to use.
Get ready, and let’s understand how to design an API that people enjoy using.
The Importance of Good API Design
APIs are crucial assets for companies. Customers don't casually use APIs – they invest time and money in integrating, coding, and learning about them. However, relying so heavily on APIs comes with challenges. The cost of discontinuing an API's use can be substantial, showing the critical role APIs play in operations.
Well-designed public APIs have great potential to attract and retain users. However, poor API design can quickly cause problems - like floods of support calls from a dysfunctional API. This can turn a company's greatest digital assets into headaches.
This dual nature of APIs points to the importance of care and precision when designing them. The goal is to craft APIs that provide more benefits than drawbacks.
When we build products, we're usually thinking about regular people without much tech expertise. We create a friendly interface, getting input on what they want. But API development is different - we're making an interface for skilled programmers. They notice even minor issues and can be as critical as we would be.
Our perspective as API designers is a bit distinct from that of users. We focus on what an API should do or offer. Meanwhile, users care about easily getting what they need with the least effort. These differing viewpoints cause problems. The key is shifting our viewpoint to match that of the user. Seems obvious, but few APIs take this user-centric approach.
Characteristics of a Good API
A quality API has several characteristics that contribute to its effectiveness, usability, and long-term success:
Now that we've covered what makes a good API, let's move on to tips for designing one.
Requirements Gathering
The first vital step for designing a quality API is gathering requirements from users. Approach this process with skepticism. Users often suggest specific solutions rather than focus on their underlying needs.
Our job is to have users walk us through core use cases to uncover those fundamental needs, even when hidden at first glance. There may be better design ideas lurking beneath the initial “solutions” suggested.
Additionally, it’s exciting to envision very versatile APIs that address a wide variety of challenges. But we must stay laser-focused on users' actual requirements first.
Start the design process by drafting a high-level functional specification. Speed and flexibility are more important than comprehensive details at this early experimental stage.
Share the draft widely, both with target users and other stakeholders. Listen intently to feedback, as there will likely be valuable insights on how to shape a refined offering.
The key is not making too many assumptions early on. Requirements gathering sets the foundation - take time to get it right before moving on to formal API design.
One API, One Purpose
A key rule for designing excellent APIs is that each should focus squarely on solving one primary problem very well rather than trying to address too many diverse issues.
Creating a general “Swiss army knife” API attempting to cover many use cases often fails. The scope gets too scattered without a crisp, singular purpose tied to specific user needs. Trying to be everything for everyone results in shallow functionality.
Instead, limit the scope of each API we build. Ensure the purpose stays clear and focused. Align all capabilities directly to that goal of fulfilling a distinct user need. Anything peripheral should be removed.
For example, an API focused solely on address validation has a clear purpose. One centered exclusively on credit card transactions defines different but still narrow functionality.
Clarity and Consistency
Let’s explore some effective naming practices and standardized responses that contribute to an API's overall clarity and consistency.
Choosing intuitive names
When designing a good API, clarity starts with the names we choose for endpoints and resources. Adopting and applying naming conventions consistently allows developers to intuitively understand the API, like speaking a common language. For instance, using the RESTful convention for endpoints like "/users" to retrieve user information aligns with industry standards. This helps developers grasp the purpose of endpoints without excessive documentation.
Keep reading with a 7-day free trial
Subscribe to ByteByteGo Newsletter to keep reading this post and get 7 days of free access to the full post archives.
A subscription gets you:
An extra deep dive on Thursdays Full archive Many expense it with team's learning budget Like Comment Restack © 2024 ByteByteGo
548 Market Street PMB 72296, San Francisco, CA 94104
Unsubscribe
by "ByteByteGo" <bytebytego@substack.com> - 11:39 - 22 Feb 2024 -
How healthy is your company?
On Point
3 organizational health trends Brought to you by Liz Hilton Segel, chief client officer and managing partner, global industry practices, & Homayoun Hatami, managing partner, global client capabilities
•
Secret to success. What makes some companies succeed, while others don’t? According to McKinsey research, organizational health is the strongest predictor of value creation and a critical factor in sustained competitive advantage, McKinsey senior partner Arne Gast and colleagues note. In one evaluation of 1,500 companies in 100 countries, companies that had improved their organizational health realized 18% increases in their EBITDA after one year.
— Edited by Belinda Yu, editor, Atlanta
This email contains information about McKinsey's research, insights, services, or events. By opening our emails or clicking on links, you agree to our use of cookies and web tracking technology. For more information on how we use and protect your information, please review our privacy policy.
You received this newsletter because you subscribed to the Only McKinsey newsletter, formerly called On Point.
Copyright © 2024 | McKinsey & Company, 3 World Trade Center, 175 Greenwich Street, New York, NY 10007
by "Only McKinsey" <publishing@email.mckinsey.com> - 01:20 - 22 Feb 2024 -
The best CEOs succeed at each stage of the CEO journey. Here’s how.
Intersection
Get your briefing The best new CEOs are quick to treat their transitions into the role as an opportunity for renewal—both for themselves and the organizations they lead, say McKinsey’s Carolyn Dewar, Scott Keller, Vikram Malhotra, and Kurt Strovink. Which span of time is considered most vital by leading early-tenure CEOs? To take the quiz and to explore other stages of the CEO journey, check out the latest edition of the Five Fifty.
Share these insights
Did you enjoy this newsletter? Forward it to colleagues and friends so they can subscribe too. Was this issue forwarded to you? Sign up for it and sample our 40+ other free email subscriptions here.
This email contains information about McKinsey’s research, insights, services, or events. By opening our emails or clicking on links, you agree to our use of cookies and web tracking technology. For more information on how we use and protect your information, please review our privacy policy.
You received this email because you subscribed to our McKinsey Quarterly Five Fifty alert list.
Copyright © 2024 | McKinsey & Company, 3 World Trade Center, 175 Greenwich Street, New York, NY 10007
by "McKinsey Quarterly Five Fifty" <publishing@email.mckinsey.com> - 06:45 - 21 Feb 2024 -
What consumers want from wellness offerings
Re:think
A pulse check on wellness FRESH TAKES ON BIG IDEAS
ON THE FUTURE OF WELLNESS
The trends defining the wellness marketAnna Pione
Four years ago, investors and consumer brand executives often asked us to define what wellness meant to consumers, describe the size of the health and wellness market, and answer whether wellness was just another marketing buzzword that would fade away as consumers found themselves intrigued by something new. Then, COVID-19 helped accelerate growth in this space, as all things health and wellness were top of mind for global consumers with unresolved questions about how to keep themselves both mentally and physically healthy.
As the pandemic has moved into its endemic stage, the focus on wellness has remained. Our Future of Wellness research shows not only that the sector could offer significant growth potential to investors, businesses, and employers but also that it has demonstrable staying power.
Eighty-two percent of US consumers consider wellness a top or important priority in their everyday lives, which echoes our findings in China, the United Kingdom, and other countries. Wellness interests consumers not only across geographies (often with more similarities in their preferences than differences) but also across demographic and income groups. The market—which we consider to be made up of categories that address health, sleep, fitness, nutrition, appearance, and mindfulness—has grown to around $1.8 trillion globally, up from $1.5 trillion in 2021. We expect the US market to continue to grow between 5 and 10 percent annually.
Just because the opportunities in wellness are plentiful does not mean the space is easily conquered, however. New entrants and incumbents may underestimate the wellness space and consumer sophistication regarding it. Businesses and investors that understand consumer behavior trends on the horizon will be best positioned to find success in the wellness space.
Consumers’ expectations for products and services have grown, and their ability to sniff out false wellness claims has improved, too. Consumer trust is more important than ever in wellness; our Future of Wellness research indicates that doctors’ recommendations for wellness products and word of mouth influence consumer purchases more frequently than other sources, such as posts from social media influencers.“In the United States alone, we estimate that the wellness market has reached $480 billion, growing at 5 to 10 percent per year.”
Meanwhile, constant product and tech innovation makes it difficult to sustain a strong value proposition and growth over time. Consumers now demand more than the basic levels of personalization, but so far, personalization offerings have remained somewhat one-dimensional. Leaning into new technology, such as generative AI, could help deliver deeper levels of personalized insights on an array of biometric data. That could give companies a leg up in the market.
None of these consumer insights should be discouraging. Rather, it’s an opportunity to create truly valuable consumer offerings. Consumers know what they want, and companies can meet those needs. Plus, consumers are increasingly proactive in monitoring their health and open to new tech tools that help them do so. Our research indicates that consumers are willing to use telemedicine services, biometric devices, and at-home health-testing kits.
Consider sleep, a longtime focus for wellness brands—and an area where consumers say they have the most unmet needs. Perhaps because of the numerous factors that can affect getting a good night’s sleep (including diet, exercise, and caffeine), no one tech giant or emerging brand has been able to own the market. Through our research, we know that consumers are looking for science- and data-backed solutions to their wellness problems, so the company best able to use data to address as many sleep factors as possible will gain a competitive edge.
Other areas, such as women’s health, are woefully underserved, with consequential research and funding gaps that result in a lack of consumer choices. The products and services that are available in the women’s health space often focus on reproductive health. (Our research indicates that women spend more on menopause- and pregnancy-related products than on other reproductive-health products.) That said, the women’s health space can also look beyond reproductive health to include conditions that affect women disproportionately, such as headache disorders, autoimmune diseases, and depression.
Our findings should not inspire executives to overhaul a business at the expense of its core brand identity. Instead, consumer leaders should be asking questions such as, “What is the innovation that we will bring to market next?” and, “How am I going to communicate that to consumers?”
The wellness market may be evolving, but one thing is certain: it’s here for the long haul.ABOUT THIS AUTHOR
Anna Pione is a partner in McKinsey’s New York office.
MORE FROM THIS AUTHOR
UP NEXT
Delphine Zurkiya on generative AI in healthcare
Generative AI may change the way we interact with doctors, making our visits smarter and more efficient. For starters, making an appointment could get a lot easier.
This email contains information about McKinsey’s research, insights, services, or events. By opening our emails or clicking on links, you agree to our use of cookies and web tracking technology. For more information on how we use and protect your information, please review our privacy policy.
You received this email because you subscribed to our McKinsey Quarterly alert list.
Copyright © 2024 | McKinsey & Company, 3 World Trade Center, 175 Greenwich Street, New York, NY 10007
by "McKinsey Quarterly" <publishing@email.mckinsey.com> - 02:13 - 21 Feb 2024 -
Author Talks: Andrew McAfee on how a ‘geek’ mindset can transform your business
Learn from the best This email contains information about McKinsey's research, insights, services, or events. By opening our emails or clicking on links, you agree to our use of cookies and web tracking technology. For more information on how we use and protect your information, please review our privacy policy.
You received this email because you subscribed to our McKinsey Global Institute alert list.
Copyright © 2024 | McKinsey & Company, 3 World Trade Center, 175 Greenwich Street, New York, NY 10007
by "McKinsey & Company" <publishing@email.mckinsey.com> - 12:24 - 21 Feb 2024 -
Exclusive invitation to Datadog Security Workshops
Hi there,
We are excited to invite you to an exclusive virtual Security workshop happening this March!
Workshop title: ‘Hacking Your Web Applications’: Datadog Security Workshop
Time & Date: Wednesday, 6 March @ 10am CET
In this workshop, you will get the opportunity to think like an attacker by performing various attacks against a web application. You will also see, as a defender, how you can leverage Datadog Application Security Management to identify which users are targeting your applications and which part of your code is impacted. By the end of this workshop, you will understand how to quickly detect and respond to threats by getting visibility into code-level exploits.
Vulnerabilities such as server-side request forgery (SSRF) and SQL injections still make it to the top of the OWASP Top 10. These vulnerabilities could allow a skilled attacker to gain access to unauthorized data and compromise your infrastructure.
Click here to sign up!
Cheers,
The Datadog TeamVisit our email preference center to unsubscribe or update subscription options
©2024 Datadog Inc, 620 8th Ave, 45th Floor, New York, NY 10018This email was sent to info@learn.odoo.com.
by "The Datadog team" <fieldmarketing-emea@datadoghq.com> - 04:00 - 21 Feb 2024 -
How could cities improve health for all?
On Point
A road map to healthy cities Brought to you by Liz Hilton Segel, chief client officer and managing partner, global industry practices, & Homayoun Hatami, managing partner, global client capabilities
•
Improving lives. Across the globe, people are living longer lives, but not necessarily healthier ones. By focusing on cities, where more than half of the world’s population lives, leaders could significantly improve human health, McKinsey senior partner Dr. Pooja Kumar and coauthors state. Offering interventions in areas such as healthy aging could add about five more years of higher-quality life per person living in urban areas—or up to 25 billion years across cities globally, the McKinsey Health Institute finds.
— Edited by Belinda Yu, editor, Atlanta
This email contains information about McKinsey's research, insights, services, or events. By opening our emails or clicking on links, you agree to our use of cookies and web tracking technology. For more information on how we use and protect your information, please review our privacy policy.
You received this newsletter because you subscribed to the Only McKinsey newsletter, formerly called On Point.
Copyright © 2024 | McKinsey & Company, 3 World Trade Center, 175 Greenwich Street, New York, NY 10007
by "Only McKinsey" <publishing@email.mckinsey.com> - 01:33 - 21 Feb 2024 -
A Brief History of Airbnb’s Architecture
A Brief History of Airbnb’s Architecture
Boost your AI projects with Brave (Sponsored) You probably know Brave as the privacy browser. But did you also know it has a search API that can power your AI projects? Introducing, the Brave Search API. It’s affordable: Small teams can access the same tools as the big players.͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ Forwarded this email? Subscribe here for moreBoost your AI projects with Brave (Sponsored)
You probably know Brave as the privacy browser. But did you also know it has a search API that can power your AI projects?
Introducing, the Brave Search API.
It’s affordable: Small teams can access the same tools as the big players.
It’s high quality: Brave’s index is shaped by the sites that real people actually visit—no junk data
It’s easy to use: Data is structured for simple implementation, from NLP to complex query analysis.
It’s fast: The API is optimized for low latency, making it ideal for real-time apps like responsive search or chatbots.
Ready to tinker? Try it for free for up to 2,000 queries per month.
Brian Chesky and Joe Gabbia moved to San Francisco in 2007. While they were looking to raise money for their business ideas, they needed to pay their rent.
Incidentally, there was a design conference coming to town at the time which meant lots of designers would be looking for accommodation. They came up with the idea of placing an air mattress in their living room and turning it into a bed and breakfast.
In 2008, Nathan Blecharczyk joined Brian and Joe as CTO and Co-founder and they started a venture known as AirBed and Breakfast.
This was the birth of Airbnb.
Fast forward to today and Airbnb is operating in 200+ countries and 4 million hosts have welcomed over 1.5 billion guests across the globe.
As Airbnb grew by leaps and bounds, their software architecture has also evolved to keep pace with the changing times.
In this post, we will look at the evolution of Airbnb’s architecture over the years, the lessons they learned along the way and the tools they developed to support the vision.
The Initial Version
As with most startups, the first version of Airbnb’s web application was a monolithic application. It was built using Ruby-on-Rails and was internally known as the monorail.
Monolith in Airbnb’s view was a single tier unit that was responsible for both client and server-side functionality.
What does this mean in practice?
It means that the model, view and controller layers are combined together in a single repository.
The below diagram shows this approach.
There were several advantages to this monolithic approach:
Monoliths are easy to get started with which was the need of the hour for Airbnb initially
They are good for agile development
Complexity is manageable
The problems started as Airbnb’s engineering team grew rapidly. Airbnb was doubling year over year which meant more and more developers were adding new code as well as changing existing code within the monolithic application.
Over time, the code base started to get more tightly coupled and ownership of data became unclear. For example, it was difficult to determine which tables were owned by which application functionality. Any developer could make changes to any part of the application and it became difficult to track and coordinate the changes.
This situation led to multiple issues such as:
At any given time, hundreds of engineers were working on the monorail and therefore, deployments became slow and cumbersome.
Since Airbnb followed the philosophy of democratic deployments (where each engineer was responsible for testing and deploying their changes to prod), it became a huge mess of conflicting changes.
The engineering productivity went down and there was increased frustration among the developers.
To alleviate these pain points, Airbnb embarked on a migration journey to move from monolithic to a Service-Oriented Architecture or SOA.
SOA at Airbnb
How did Airbnb view Service-Oriented Architecture or SOA?
For them, SOA is a network of loosely coupled services where clients make their requests to some sort of gateway and the gateway routes these requests to multiple services and databases.
Adopting SOA allowed Airbnb to build and deploy services separately. Also, these services can be scaled independently and ownership becomes more clearly defined.
However, building services is one thing. It’s also extremely important to design these services with a disciplined approach.
Airbnb decided on some key principles to design these services with a disciplined approach:
Services should own both the reads and writes to their data. It’s quite similar to the database-per-service pattern where a particular database should be owned by one and only one service, making it easier to maintain data consistency.
Each service should address a specific concern. Airbnb wanted to make sure that the monolith does not decompose into another giant service that turned into another monolith over time. Also, they wanted to avoid the path of traditional granular microservices that are only good at one thing. Instead, Airbnb shifted towards building services focused on a specific business functionality. Think of it as a high-cohesion design.
Services should avoid duplicating functionality. Sharing parts of infrastructure or code was done by means of shared libraries and shared services, making them easier to maintain.
Data mutation should take place via standard events. For example, if the reservation service creates a new row, the availability service should learn about this reservation by means of an event so that it can mark the home’s availability as busy.
Each service must be built as if it was mission-critical. This meant the service should have appropriate alerting mechanisms, built-in observability and best practices for infrastructure.
In Airbnb’s view, these principles are extremely important and they help create a logical path that all engineers can follow in order to build a shared understanding of the service architecture.
Airbnb’s Migration Journey
With the above principles and goals, Airbnb began the migration journey from the monorail to a brand-new service-oriented approach.
It was a long migration process that went through multiple iterations along the way.
Version 1
In this version, every request went through the monorail.
The monorail was basically responsible for the presentation view, business logic and also, the data access.
You can consider it as the initial state of Airbnb’s architecture.
Version 2
The next version was a hybrid where the monorail coexisted with the service-oriented architecture.
The main difference was that the monorail only handled the routing and view layer. Its job was to send incoming API traffic to the network of new services that were responsible for the business logic, data model and access.
What kind of services are we talking about over here?
Airbnb classified their services into four different types as shown in the below diagram.
Here are the details of the various types of services:
Data Service - This is the bottom layer and acts as the entry-point for all read and write operations on the data entities. A data service must not be dependent on any other service because it only accesses the data storage.
Derived Data Service - The derived services stay one layer above the data service. These services can read from the data services and also apply some basic business logic.
Middle Tier - They are used to house large pieces of business logic that doesn’t fit at the data service level or the derived data service level.
Presentation Service - At the very top of the structure are the presentation services. Their job is to aggregate data from all the other services. In addition, the presentation service also applies some frontend specific business logic before returning the data to the client.
With these service definitions, Airbnb started by building the data service layer.
For example, they started with the home data service that acted as the foundational layer of the Airbnb business. The current monorail setup accessed data from the table using the Active Record data access library in Rails.
They intercepted the incoming requests at the Active Record level and instead of routing to the database, they sent these requests to the new homes data service. The homes data service was then responsible for routing to the data store.
The below diagram shows this approach.
After creating the core data services, Airbnb also migrated the core business logic as well to the SOA approach.
For example, migrating services like the pricing derived data service that needed some information about a home from the homes data service as well as other stores such as offline price and trends.
The next step involved migrating presentation services such as the checkout presentation service that depends on pricing information and homes information from the derived data service and the core data service.
All of these changes were part of Version 2 where both the monorail and the new services co-existed within the same request cycle.
Version 3
In this version of the migration journey, the monorail was completely eliminated.
The client makes a request to the API gateway, which acts as a service layer responsible for middleware and routing. The gateway populates the request context and routes the requests to the SOA network where the various services are responsible for the presentation logic and data access logic.
The web client is handled a little differently. There’s a specific service to handle the web requests.
Why is it needed?
This service returns the HTML to the web client by calling the API Gateway and populating the response received in the required format. The API Gateway takes care of all the middleware functions and propagates the request through the SOA network.
The below diagram tries to show this scenario:
Migrating Reads and Writes
By now, you may have realized that going from a monolithic architecture to a service-oriented one is not an overnight process.
For Airbnb, a lot of time was spent in the middle phase where both the monorail and the new services had to be supported as first-class citizens.
A request could go through the monorail or through the services. This means that it was a critical requirement to ensure that functionality didn’t break apart for both the routes and the responses were equal.
To support this, Airbnb built comparison frameworks for reads as well as writes.
Reads
The first use of these comparison frameworks was in read operations because reads are idempotent. You can issue multiple read requests and get the same response.
The idea was to issue dual reads and compare the response from read path A that went through the monorail with the response from read path B that went through the new services. The captured responses were then emitted as standard events that were consumed and sent to an offline comparison framework.
The comparison framework was placed behind an admin tool so that the traffic can be controlled without the need for code changes and deployments. Once the responses are adjusted, Airbnb engineers could slowly ramp up traffic through the service path and monitor the comparison for differences.
Once the comparison looks clean, all read requests are moved to the new service.
Writes
For writes, things had to be done differently because one cannot dual write to the same database. Instead, a shadow database was utilized.
Let’s say the monorail is making a call to a presentation service that’s hitting the production database. This is write path A.
Now, a middle-tier service is introduced to offload some validations from the presentation service. Initially, this middle-tier service will write to a shadow database instead of the main production database.
At this point, it becomes easy to issue strongly consistent read requests to both the production and shadow database and compare the results.
Once the comparison is clean, we can move the writes via the new service and to the production database.
Pros and Cons of SOA
As Airbnb went through the migration journey from the monorail to a SOA-based architecture, some pros and cons started to become obvious.
Some pros were as follows:
The system became more reliable and highly available. Even if one service went down, other parts of the service-oriented architecture could still function.
Services were now individually scalable, allowing fine-tuning of the resource allocation depending on the real needs of the system.
Increased business agility due to separating different parts of the product into different services. Each team could iterate in parallel.
However, there were some cons as well:
Engineers can take more time to ship a feature in service-oriented architecture because they need to first acquaint themselves with the various services. Also, any change potentially involves multiple services
Even though services were loosely coupled, certain patterns of logic had to be repeated across different services.
Complicated dependency graph especially when there is a lack of API governance. This could also result in circular dependencies and also make it difficult for engineers to debug errors.
Tools and Techniques to Support SOA
As we saw from the previous section, the migration to SOA unlocked multiple challenges for the Airbnb engineering team.
For example, single requests now fan out to multiple services and increase the chances of failure. Also, separating the data model in multiple databases is good for service-level consistency but it makes transactionality more difficult to enforce.
Service orchestration also became more complex over time. With hundreds of engineers building services, Airbnb needed many more EC2 instances. Ultimately, this warranted a move towards using Kubernetes.
To make it easy for the engineering team to build services, the infrastructure team at Airbnb created a lot of building blocks along the journey.
API Framework
Airbnb created an in-house API framework built using the Thrift language.
This framework is used by all Airbnb services to define clean APIs that can talk to each other.
For example, let’s say Service A wants to talk to Service B. The Service B engineer only has to define the endpoint in simple Thrift language and the framework will auto-generate the endpoint logic to handle common stuff such as schema validations, observability metrics and so on.
Also, it creates a multi-threaded RPC client that Service A can use to talk to Service B. The client handles various functionalities such as retry logic, error propagation and transport.
What’s the advantage of this?
Engineers can focus on handling the core business logic and not spend any time worrying about the details of inter-service communication.
To boost developer productivity, the Airbnb infra team also developed the API Explorer where engineers can browse different services, figure out which endpoints to call and even use an API playground to figure out how to call those endpoints.
Automated Canary Analysis with Spinnaker
Airbnb also leverages Spinnaker which is an open-source continuous delivery platform.
Spinnaker is used for application management and deployment across various cloud platforms. It supports all major platforms such as AWS, Azure, Kubernetes and so on, making it extremely easy to spin up new deployment environments.
You can create pipelines in Spinnaker representing a particular delivery process that starts with the creation of a build artifact and goes all the way to deploying the artifact in an environment.
With Spinnaker, Airbnb was able to easily set up the environments for performing automated canary analysis.
Basically, they deploy both the old and new snapshots to two temporary environments followed by routing a small percentage of traffic to both of them.
Based on the traffic analysis and error rates, an aggregate score is generated for the canary environment that helps decide whether to fail or promote the canary to the next stage in the deployment process.
Powergrid
Airbnb also built an in-house library called Powergrid that makes running tasks in parallel easy.
With Powergrid, they were able to organize the code execution as a Directed Acyclic Graph (DAG).
Each node of this DAG is a function or a task. Using this, the Airbnb engineers can model each service endpoint as a data flow with requests as the input and response as the output.
Since Powergrid supports multithreading and concurrency, it can be used to run tasks in parallel.
The below diagram shows the concept of Powergrid.
For example, consider that the host wants to send a special offer to the guest. However, the process has multiple checks and validations to be performed before this can be done.
With Powergrid, these validations can be performed by the respective services in parallel. After aggregating the responses, the special offer can be sent to the guest.
Simplifying Service Dependencies
Once Airbnb started down the path of SOA, there was no turning back.
However, initially there was a lack of service governance and dependency management that led to a complicated service interaction graph. It’s always a risky situation in a service-oriented approach where the call graph becomes extremely complex.
You end up with reduced speed of development for any new change.
Also, maintenance becomes difficult.
To handle this situation, Airbnb decided to simplify the service dependencies using the concept of Service Blocks.
Basically, you can think of each block as a collection of services related to a particular business functionality.
For example, the Listing Block encapsulates both the data and business logic related to the core listing attributes. Similarly, you can have other blocks such as the User Block and Availability Block.
The Block can then expose a nice and clean facade with consistent read and write endpoints to upstream clients. Under the hood, the facade orchestrates the coordination between data and business logic services as needed. Also, strict checks are implemented to prevent direct calls to any internal services within the block.
This approach greatly reduces the complexity of a service-oriented call graph.
Conclusion
To conclude things, Airbnb had several important lessons during the whole journey of migration from the monorail to SOA.
Here are a few important ones to takeaway:
Invest in common infrastructure early
Prioritize the simplification of service dependencies
Make the necessary cultural changes to enable service-oriented approach
SOA is not a fixed destination but a journey of continuous improvement and refinement.
References:
Like Comment Restack © 2024 ByteByteGo
548 Market Street PMB 72296, San Francisco, CA 94104
Unsubscribe
by "ByteByteGo" <bytebytego@substack.com> - 11:39 - 20 Feb 2024 -
Join me on Thursday for Level up your Kubernetes Observability with New Relic
Hi MD,
It's Harry Kimpel, Principal Developer Relations Engineer at New Relic, here.
We all know that Kubernetes will not go away anytime soon. Prometheus is the de-facto standard when it comes to gathering metrics from various components of a Kubernetes environment, including applications, services and the underlying infrastructure.
I wanted to share something that might interest you – a free online workshop "Level up your Kubernetes Observability with New Relic" on 22nd February at 10 am GMT/ 11 am CET. I'll be diving into the nitty-gritty of crafting a solid understanding of the Prometheus agent for Kubernetes. Picture this: live Kubernetes environment, hands-on with Kubernetes labels and annotations, manipulating data ingest by dropping labels and metrics, and much more.
Topics on the agenda? Think about improving your understanding of the Prometheus agent and how to make configuration changes that affect the metrics sent to New Relic. It's the kind of insider info that can make a real difference in your day-to-day.
You can find the full agenda on the registration page here. While we recommend attending the hands-on workshop live, you can also register to receive the recording.
I hope to see you then,
Harry Kimpel
Principal Developer Relations EngineerNew Relic
This email was sent to info@learn.odoo.com as a result of subscribing or providing consent to receive marketing communications from New Relic. You can tailor your email preferences at any time here.Privacy Policy © 2008-24 New Relic, Inc. All rights reserved
by "Harry Kimpel, New Relic" <emeamarketing@newrelic.com> - 06:11 - 20 Feb 2024