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
-
What would it take to make air travel fairer for all?
On Point
Tools to promote disability inclusion Brought to you by Liz Hilton Segel, chief client officer and managing partner, global industry practices, & Homayoun Hatami, managing partner, global client capabilities
—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:05 - 5 Apr 2024 -
A Crash Course in CI/CD
A Crash Course in CI/CD
Introduction What is CI/CD? How does it help us ship faster? Is it worth the hassle? In this issue, we will look into Continuous Integration and Continuous Deployment, or CI/CD for short. CI/CD helps automate the software development process from the initial code commit to deployment. It eliminates much of the manual human intervention traditionally required to ship code to production.͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ 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:
Introduction
What is CI/CD? How does it help us ship faster? Is it worth the hassle? In this issue, we will look into Continuous Integration and Continuous Deployment, or CI/CD for short. CI/CD helps automate the software development process from the initial code commit to deployment. It eliminates much of the manual human intervention traditionally required to ship code to production.
The CI/CD process builds, tests, and deploys code to production. The promise is that it enables software teams to deploy better-quality software faster. This all sounds very good, but does it work in real life? The answer is — it depends.
Let’s break up CI/CD into their parts and discuss them separately.
Continuous Integration (CI)
Continuous integration (CI) is a development practice that many people believe they're using in their work, but they don't fully get it.
Before CI came along, development teams typically operated in silos, with individual developers working independently on distinct features for extended periods. Their work would eventually need to be merged into a shared codebase, often resulting in complications such as merge conflicts and compatibility issues among the hundreds of files and contributors. This dilemma, often known as "merge hell," represented the difficulties faced in traditional development methods.
Avoid “merge hell”
Let's consider a scenario with two developers, Alice and Bob. Alice writes her code and shares it as soon as she has a functional version that doesn't cause any issues, even if it's not fully complete. She uploads her code to a central repository. Bob follows the same approach, always grabbing the latest version of the code before starting his work. As Alice continues to update her code, Bob does the same. If Bob makes changes, Alice incorporates them into her work without any problems. They collaborate smoothly, with a low chance of interfering each other because they always work off the latest code. If they encounter conflicts, it's usually on recent changes they've both made, so they can sit down together, resolve the issues, and move forward.
However, with so many people constantly contributing code, problems are inevitable. Things may not always run smoothly, and new errors can emerge. So, what's the solution?
Automation
The solution is automation. It acts like a vigilant watchdog, constantly monitoring the code. Whenever a change occurs, it springs into action, grabbing the code, building it, and running tests. If anything fails during this process, the team receives an alert, ensuring everyone is aware of the issue. With this safety net in place, continuous integration becomes a reality.
So, what exactly is continuous integration (CI)?
Definition
Continuous integration involves automating builds, executing tests, and merging code from individual developers into a shared repository. The primary goal of continuous integration is to efficiently integrate source code into shared repositories. Once changes are committed to the version control system, automated builds and test cases are executed to ensure the functionality and validity of the code. These processes validate how the source code compiles and how test cases perform during execution.
Tools
What are some common tools used in CI? A robust source code management system is the foundation. GitHub is a popular example. It holds everything needed to build the software, including source code, test scripts, and scripts to build the software applications.
Many tools are available to manage the CI process itself. GitHub Actions and Buildkite are modern examples, while Jenkins, CircleCI, and TravisCI are also widely used. These tools manage the build and test tasks in CI.
Numerous test tools exist for writing and running tests. These tools are usually language and ecosystem-specific. For example, in Javascript, Jest is a unit testing framework, while Playwright and Cypress are common integration testing frameworks for web applications.
Build tools are even more diverse and ecosystem-specific. Gradle is a powerful build tool for Java. The Javascript build ecosystem is fragmented and challenging to keep track of. Webpack is the standard, but many new build tools claim to be much faster, although they are not yet as extensible as Webpack.
Benefits of continuous integration
Continuous integration holds significant importance for several reasons. The table below presents some of the major advantages of CI.
Continuous Deployment (CD)
Continuous deployment (CD) is the next step after CI in the CI/CD pipeline. CD is the practice of automatically deploying every code change that passes the automated testing phase to production.
While true continuous deployment is challenging and not as widely adopted as CI, a more common practice is continuous delivery, which is similar but has a subtle difference, as explained below.
Continuous delivery
Continuous delivery focuses on the rapid deployment of code changes into production environments. Its roots can be traced back to the Agile Manifesto, which emphasizes “early and continuous delivery of valuable software” to satisfy customers.
The objective of continuous delivery is to efficiently transition valuable code changes into production. The initial step involves transforming the code into deployable software through a build process. Once the software is ready, the next logical step might seem to be deploying it directly into production. However, the real practice involves rigorous testing to ensure that only stable software enters the production environment.
Typically, organizations maintain multiple test environments, such as "QA," "Performance," or "Staging." These environments serve as checkpoints for validating the software before it reaches production. The software undergoes testing in each environment to ensure its readiness for deployment.
In essence, the journey to production in continuous delivery involves transitioning software through various testing environments before deployment into the production environment.
A key aspect of continuous delivery is ensuring that the code remains deployable at all times. Once the delivery process is completed, the code is ready for deployment to any desired environment. This end-to-end process includes building the source code, executing test cases, generating artifacts such as WAR or JAR files, and delivering them to specific environments.
Automatic deployment
Coming back to continuous deployment (CD), it involves the automatic deployment of code changes to the production environment. Essentially, CD represents the final stage in the development pipeline. In this phase, not only are artifacts prepared and test cases executed, but the process extends further to deploying the artifacts to the production environment. Continuous deployment ensures that any changes made to the code are promptly deployed to the production environment without human intervention.
Continuous deployment vs. continuous delivery
Continuous deployment and continuous delivery are related concepts, but they have distinct differences. Here, we list some of the differences:
While continuous deployment may be suitable for some organizations, continuous delivery is the approach that many are striving to achieve, as it offers a cautious yet automated approach to software delivery.
Tools
The tools we mentioned earlier, like GitHub Actions, Buildkite, and Jenkins, are commonly used to handle CD tasks. Infrastructure-specific tools also make CD easier to maintain. For example, ArgoCD is popular on Kubernetes.
CI/CD is a powerful software development practice that can help teams ship better-quality software faster. However, it's not a one-size-fits-all solution, and its implementation may vary depending on the complexity of the system.
Benefits of continuous deployment
Continuous deployment offers numerous benefits to organizations. Here, we list some of them.
Deployment Strategies
Nothing beats the satisfaction of seeing our code go live to millions of users. It is always thrilling to see. But getting there is not always easy. Let’s explore some common deployment strategies.
Big bang deployment
One of the earliest methods of deploying changes to production is the Big Bang Deployment. Picture it like ripping off a bandage. We push all our changes at once, causing a bit of downtime as we have to shut down the old system to switch on the new one. The downtime is usually short, but be careful - it can sting if things don't go as planned. Preparation and testing are key. If things go wrong, we roll back to the previous version. However, rolling back is not always pain-free. We might still disrupt users, and there could be data implications. We need to have a solid rollback plan.
Continue reading this post for free, courtesy of Alex Xu.
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:37 - 4 Apr 2024 -
What makes public sector workers stay in their jobs?
On Point
6 priorities for government leaders Brought to you by Liz Hilton Segel, chief client officer and managing partner, global industry practices, & Homayoun Hatami, managing partner, global client capabilities
—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:06 - 4 Apr 2024 -
Trakzee - White Label Advanced Fleet Management Software
Trakzee - White Label Advanced Fleet Management Software
A Software that enables real-time vehicle tracking, fuel monitoring, tire management, and much more.An Advanced Fleet Management Software that enables real-time vehicle tracking, fuel monitoring, tire management, and much more.
Why Choose Our Fleet Management Software?
Fleet Management Platform That Helps You To Grow Your Business
Uffizio Technologies Pvt. Ltd., 4th Floor, Metropolis, Opp. S.T Workshop, Valsad, Gujarat, 396001, India
by "Sunny Thakur" <sunny.thakur@uffizio.com> - 08:00 - 3 Apr 2024 -
Black Americans are not thriving as much as their White neighbors, but certain steps could help
Re:think
How location influences Black Americans’ success FRESH TAKES ON BIG IDEAS
ON BLACK AMERICANS’ PROSPERITY
Enabling prosperity for Black Americans—no matter where they liveDuwain Pinder
When we started the McKinsey Institute for Black Economic Mobility in 2020, one of our first reports was The economic state of Black America: What is and what could be. The report examined challenges and opportunities for Black Americans in five different roles that they play in the economy: workers, business owners, savers and investors, consumers, and residents. Since then, we have been going deep into each of these roles. In 2021, we looked at Black consumers. This year, we’re focusing on Black residents.
Black Americans’ opportunities and outcomes vary significantly in different places. When you look nationally at only things like life expectancy and the poverty rate, you can miss quite a bit of nuance and detail. If you really want to understand what’s happening, you have to look at the issue of place as well. Black Americans, for example, are more likely than most of the US population to be concentrated in major cities. But when you look at the places where Black Americans are doing the best, it’s in the suburbs and exurbs. However, these are the very places where you’re least likely to find Black Americans.
What’s interesting in these US suburbs and exurbs is that while Black residents are doing great relative to Black Americans across the nation, if you compare them with their White neighbors, they’re doing only about 65 percent as well. There’s still a significant racial wealth gap. Black Americans today are much more prosperous than they were ten years ago: about 75 percent of US counties have seen improvements in overall Black prosperity. But in many places, White Americans’ outcomes have been improving at a faster rate than their Black neighbors.
The question is, how do we build a set of solutions that can improve Black Americans’ outcomes? There is effectively no place in the country where Black residents are doing as well as their White neighbors are. In fact, there are only a few places in the United States where Black people’s outcomes are at or above 90 percent of their White neighbors’. One is Paulding County, a suburb outside of Atlanta; several other counties with large Black populations outside of Atlanta, Houston, and Washington, DC, also are doing relatively well on parity. But most other places with higher parity are small, rural communities, so we’re talking about small populations in places where residents of all races tend to be less well off.“To address the nationwide disparity, we need an all-hands-on-deck approach in which many solutions are operating at scale for a long time.”
There’s no easy answer for how to address the nationwide disparity. Instead, we need an all-hands-on-deck approach in which many solutions are operating at scale for a long time. There are certain areas for investment that can deliver broad, downstream effects. Affordable housing, for example, is linked to improved physical and mental health, economic opportunity, and other measures of prosperity. Early-childhood education also has been shown to yield significant impact—and not just on the individual who is receiving the childcare. Because quality childcare improves parents’ ability to find meaningful work, it improves an entire family’s long-term economic outlook. Investing in early-childhood education also benefits the educators themselves, who disproportionately tend to be Black women.
How can Black economic mobility improve? In affordable housing, one partial solution that we’ve seen is developing underused land. We’ve also found that using new technology and efficient construction methods can decrease the cost of that housing. You can also boost access to programs that connect people to existing affordable housing or provide financial assistance or even just awareness. In education, you can expand access to high-quality pre-K programs by adding student seats, boosting the number of trained—and well-paid—teachers, and investing in community and parent outreach to support enrollment. While the specifics vary according to the unique needs of the community, these are things that have been proven to create benefit. The problem is that they haven’t been scaled.
As part of our analysis, we held the prosperity of White Americans constant and asked, “At the current pace of change, how long would it take for Black Americans to reach the same level?” The conservative estimate was that it could take more than 300 years. That’s not an optimistic number.
That being said, there are many solutions that have real promise. If society can scale them and really commit over a long period of time, there can be genuine progress. So that makes me feel a lot more optimistic.ABOUT THIS AUTHOR
Duwain Pinder is a leader of the McKinsey Institute for Black Economic Mobility and a partner in McKinsey’s Columbus, Ohio, office.
MORE FROM THIS AUTHOR
UP NEXT
Alexis Trittipo on climate change adaptation
Mitigating climate change isn’t nearly enough. Adapting to it is also crucial. Adaptation requires understanding how climate change may affect a particular area or asset, performing scenario planning, and taking the long view when collaborating across the public and private sectors to take action.
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:36 - 3 Apr 2024 -
How could a big shift from cars to bicycles benefit cities?
On Point
Explore our hypothetical scenario Brought to you by Liz Hilton Segel, chief client officer and managing partner, global industry practices, & Homayoun Hatami, managing partner, global client capabilities
•
Bike-friendly cities. European residents and city leaders are increasingly pressing for bike-friendly cities to boost micromobility. Yet some questions remain about how more bicycle usage can affect urban areas and what infrastructure changes may be needed, note McKinsey partner Kersten Heineke and coauthors. To understand the effect on the environment, commuting time, and transportation infrastructure, McKinsey analyzed a scenario in which residents of a Western European metropolitan area replaced 22.5% of the kilometers traveled by private cars with bicycles.
—Edited by Querida Anderson, senior editor, New York
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:35 - 3 Apr 2024 -
You’re invited! Join us for a discussion on productivity growth.
Register now New from McKinsey Global Institute
Join us on Wednesday, April 24, at 11 a.m. ET / 5 p.m. CET, for a discussion on MGI’s latest report that explores productivity in economies around the world, why it has stalled, and what it would take to accelerate it. This virtual event will include a presentation by the authors followed by a panel with leading economists and technologists who will discuss:
•
Productivity trends across countries and sectors
•
Factors behind the global productivity slowdown
•
The role of investment and how leaders can harness the opportunities of new technologies like generative AI to unleash the next wave of productivity growth
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 Global Institute" <publishing@email.mckinsey.com> - 12:40 - 2 Apr 2024 -
Evolution of Java Usage at Netflix
Evolution of Java Usage at Netflix
Stop releasing bugs with fully automated end-to-end test coverage (Sponsored) Bugs sneak out when less than 80% of user flows are tested before shipping. But how do you get that kind of coverage? You either spend years scaling in-house QA — or you get there in just 4 months with QA Wolf͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ Forwarded this email? Subscribe here for moreStop releasing bugs with fully automated end-to-end test coverage (Sponsored)
Bugs sneak out when less than 80% of user flows are tested before shipping. But how do you get that kind of coverage? You either spend years scaling in-house QA — or you get there in just 4 months with QA Wolf.
How's QA Wolf different?
They don't charge hourly.
They guarantee results.
They provide all of the tooling and (parallel run) infrastructure needed to run a 15-minute QA cycle.
Netflix is predominantly a Java shop.
Every backend application at Netflix is a Java application. This includes:
Internal applications
The software that powers one of the largest film studios in the world and is used to produce movies
The Netflix streaming app
However, this doesn’t mean that the Java stack at Netflix is static. Over the years, it has evolved significantly.
In this post, we will look at the evolution of Java usage at Netflix in light of the overall architectural changes that have taken place to support the changing requirements.
The Groovy Era with BFFs
It’s common knowledge that Netflix has a microservice architecture.
Every piece of functionality and data is owned by a microservice and there are thousands of microservices. Also, multiple microservices communicate with each other to realize some of the more complex functionalities.
For example, when you open the Netflix application, you see the LOLOMO screen. Here, LOLOMO stands for list-of-list-of-movies and it is essentially built by fetching data from many microservices such as:
Service that returns a list of top 10 movies
Artwork service that provides personalized images for each movie
Movie metadata service that returns the movie titles, actor details, and descriptions
LOLOMO service that provides what lists to actually render for a user’s home page.
The below diagram shows this situation.
It’s quite possible that rendering just one screen on the Netflix app may involve calling 10 services.
However, calling so many services from your device (such as the television) or mobile app is typically inefficient. Making 10 network calls doesn’t scale and results in a poor customer experience. Many streaming apps suffer from such performance issues.
To avoid these issues, Netflix used a single front door for the various APIs. The device makes a call to this front door that performs the fanout to all the different microservices. The front door acts as a gateway and Netflix used Zuul for this purpose.
This approach works because the call to the multiple microservices takes place on the internal network which is very fast, thereby eliminating the performance implications.
However, there was another problem to solve.
All of the different devices users can use to access Netflix have different requirements in subtle ways. While Netflix tried to keep a consistent look and feel for the UI and its behavior on every device, each device still has different limitations when it comes to memory or network bandwidth and therefore, loads data in slightly different ways.
It’s hard to create a single REST API that can work on all these different devices. Some of the problems are as follows:
REST APIs Either fetch too much or too little data
Even if they created one REST API to take care of all data needs, it was going to be a bad experience because they would be wasting a lot of data
In the case of multiple APIs, it would mean multiple network calls
To handle this, Netflix used the backend for frontend (BFF) pattern.
In this pattern, every frontend or UI gets its own mini backend. The mini backend is responsible for performing the fanout and fetching the data that the UI needs at that specific point.
The below diagram depicts the concept of the BFF pattern.
In the case of Netflix, the BFFs were essentially a Groovy script for a specific screen on a specific device.
The scripts were written by UI developers since they knew what exact data they needed to render a particular screen. Once written, the scripts were deployed on an API server and performed the fanout to all the different microservices by calling the appropriate Java client libraries. These client libraries were wrappers for either a gRPC service or a REST client.
The below diagram shows this setup.
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:
The Use of RxJava and Reactive Programming
The Groovy scripts helped perform the fanout.
But doing such a fanout in Java is not trivial. The traditional approach was to create a bunch of threads and try to manage the fanout using minimal thread management.
However, things got complicated quickly because of fault tolerance. When dealing with multiple services, you can have one of them not responding quickly enough or failing, resulting in a situation where you’ve to clean up threads and make sure things work properly.
This is where RxJava and reactive programming helped Netflix handle fanouts in a better way by taking care of all the thread management complexity.
On top of RxJava, Netflix created a fault-tolerant library named Hystrix that took care of failover and bulkheading. Even though reactive programming was complicated, it made a lot of sense for the time and the architecture allowed them to serve most of the traffic needs of Netflix.
However, there were some important limitations to this approach:
There was a script for each endpoint resulting in a lot of scripts to maintain and manage
UI developers had to create all the mini backends and they didn’t like working in the Groovy Java space with RxJava. It’s not the primary language they use on a daily basis that makes things difficult
Reactive programming is generally hard and has a steep learning curve.
The Move to GraphQL Federation
Over the last few years, Netflix has been migrating to a completely new architecture when it comes to its Java services. The centerpiece of this new architecture is GraphQL Federation.
When you compare GraphQL to REST, the major difference is that GraphQL always has a schema. This schema helps define some key aspects such as:
All the operations along with the various queries and mutations
Fields available from the types that are being returned from the queries
For example, in the case of Netflix, you may have a query for all the shows that return a show type. It has a show as a title and also contains reviews, which may be another type.
With GraphQL, the client has to be explicit about the field selection. You can’t just ask for shows and get all the data from shows. Instead, you have to specifically mention that you want to get the title of the show and the score of various reviews. If you don’t ask for a field, you won’t get the field.
With REST, this was the opposite because you get whatever the REST service decides to send.
While it’s more work for the client to specify the query in GraphQL, it solves the whole problem around over-fetching where you get a lot more data than you might actually need. This paves the way to create one API that can serve all the different UIs.
To augment GraphQL, Netflix went one step further and used GraphQL Federation to fit it back into their microservices architecture.
The below diagram shows the setup with GraphQL Federation.
As you can see, the microservices are now called DGS or Domain Graph Service.
DGS is an in-house framework developed by Netflix to build GraphQL services. When they started moving to GraphQL and GraphQL Federation, there wasn’t any Java framework that was mature enough to use at the Netflix scale. Therefore, they built on top of the low-level GraphQL Java framework and augmented it with features like code generation for schema types and support for federation.
At its core, a DGS is just a Java microservice with a GraphQL endpoint and a schema.
While there are multiple DGSs, there’s just one big GraphQL schema from the perspective of a device such as the TV. This schema contains all the possible data that can be rendered. The device doesn’t need to worry about all the different microservices that are part of the schema in the backend.
For example, the LOLOMO DGS can define a type show with just the title. Then, the images DGS can extend that type show and add an artwork URL to it. The two different DGSs don’t know anything about each other. All they need to do is publish their schema to the federated gateway. The federated gateway knows how to talk to a DGS because all of them have a GraphQL endpoint.
There are several advantages to this setup:
There’s no API duplication anymore.
There is no need for a backend-for-frontend (BFF) because GraphQL as an API is flexible enough to support different devices due to the field selection feature.
No need for any server-side development by UI engineers. The backend developers and the UI developers just collaborate on the schema.
There is no need for any client libraries in Java anymore. This is because the federated gateway knows how to talk to a generic GraphQL service without the need to write specific code.
Java Versions at Netflix
Recently, Netflix has migrated from Java 8 to Java 17. After the migration, they saw about 20% better CPU usage on Java 17 versus Java 8 without any code changes. This was because of improvements in the G1 garbage collector. At the scale of Netflix, a 20% better CPU utilization is a big deal in terms of cost benefits.
Contrary to popular belief, Netflix doesn’t have its own JVM. They’re just using the Azul Zulu JVM which is an OpenJDK build.
Overall, Netflix has around 2800 Java applications that are mostly microservices of varying sizes. Also, they have around 1500 internal libraries. Some of them are actual libraries while many of them are just client libraries sitting in front of a gRPC or REST service.
For the build system, Netflix relies on Gradle. On top of Gradle, they use Nebula which is a set of open-source Gradle plugins. The most important aspect of Nebula is in the resolution of libraries. Nebula helps with version locking that helps with reproducible builds.
More recently, Netflix has been actively testing and rolling out changes with Java 21. Comparing the move from Java 8 to Java 17, it’s significantly easy to go from Java 17 to 21. Java 21 also provides a few important features such as:
Virtual threads allow server-side applications written in a thread-per-request style to scale at optimal hardware utilization. In a thread-per-request style, a request comes and the server provides a thread for it. All of the work for the request happens in this thread
An updated ZGC garbage collector that focuses on low pause times and works well in a broader variety of use cases.
Data-oriented programming with a combination of records and pattern-matching
Use of Spring Boot at Netflix
Netflix is famous for its use of Spring Boot.
In the last year or so, they have completely moved out of their homegrown Java stack based on Guice and completely standardized on Spring Boot.
Why Spring Boot?
It’s the most popular Java framework and has been very well maintained over the years.
Netflix found a lot of benefits in leveraging the huge open-source community of the Spring framework, existing documentation, and training opportunities that are easily available. The evolution of Spring and its features align very well with the core Netflix principle of “highly aligned, loosely coupled”.
Netflix uses the latest version of OSS Spring Boot and their goal is to stay as close as possible to the open source community. However, to integrate closely with the Netflix ecosystem and infrastructure, they have also created Spring Boot Netflix which is a bunch of modules built on top of Spring Boot.
Spring Boot Netflix has support for several things such as:
gRPC client
Server support integrated with the Netflix SSO stack for AuthZ and AuthN
Observability in the form of tracing, metrics, and distributed logging
HTTP clients that support mTLS
Service discovery with Eureka
AWS/Titus integration
Kafka, Cassandra and Zookeeper integration
Conclusion
There’s no singular Netflix stack.
The Netflix Java stack has been evolving over the last several years, beginning from in-house frameworks to Groovy-era microservices and more recently, moving to GraphQL Federation.
All the changes have been made to solve problems from the previous approach. For example, the move to RxJava was to handle fanouts in a better way and the move to GraphQL Federation was to solve the issues of complexity due to RxJava.
Along with these changes, there has also been a parallel evolution in terms of Java language versions from Java 8 to 17 and now 21+. A lot of it has also been prompted by Spring Boot version 3 finally moving beyond Java 8 and forcing the entire ecosystem to upgrade.
These changes have allowed them to build more performant applications that can save CPU costs and
Overall, the theme has been towards standardization of the approach in building microservices across the organization. However, considering the constant challenges faced in operating at their scale while staying ahead of the competition, the evolution will continue.
References:
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:35 - 2 Apr 2024 -
How is the Fourth Industrial Revolution transforming manufacturing?
On Point
A pyramid of 4IR technologies Brought to you by Liz Hilton Segel, chief client officer and managing partner, global industry practices, & Homayoun Hatami, managing partner, global client capabilities
•
Advanced manufacturing. As the Fourth Industrial Revolution (4IR) accelerates, advanced manufacturing, powered by AI and related technologies, is reinvigorating markets such as the US manufacturing sector, as revealed in the book The Titanium Economy (a Wall Street Journal bestseller). Members of the World Economic Forum’s Global Lighthouse Network—153 factories at the forefront of the 4IR—are using 4IR technologies to improve their operations and achieve factory-scale adoption. Lighthouses are three to five years further along than their peers in adopting 4IR technologies, McKinsey senior partner Enno de Boer and coauthors share.
•
AI and the 4IR. Similar to the steam engine in the First Industrial Revolution and to AI technologies in tech and banking, 4IR’s breakthrough technologies are expected to catapult from single-digit to widespread adoption within the decade, with Lighthouses leading the way. AI-based examples make up over 60% of the use cases presented by new Lighthouse applicants, up from just 11% in 2019. Discover a pyramid of technology solutions that represent the full value of 4IR technologies, and for our latest thinking on AI, visit QuantumBlack, AI by McKinsey.
—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 - 2 Apr 2024 -
Logytrak - Transport Monitoring Software to Transform Your Logistics Management!
Logytrak - Transport Monitoring Software to Transform Your Logistics Management!
Helping the transportation industry with advanced tools to reduce workload and increase productivity.Plan optimum waste collection and disposal routes to maximize productivity.
Why choose our transport monitoring platform?
Transport monitoring solution that helps you to grow your business
Uffizio Technologies Pvt. Ltd., 4th Floor, Metropolis, Opp. S.T Workshop, Valsad, Gujarat, 396001, India
by "Sunny Thakur" <sunny.thakur@uffizio.com> - 08:00 - 1 Apr 2024 -
Represent: A leader’s guide to women’s experiences at work
Pipeline dreams Brought to you by Liz Hilton Segel, chief client officer and managing partner, global industry practices, & Homayoun Hatami, managing partner, global client capabilities
As the sun sets on the month of March—also known as Women’s History Month—it’s an opportune time to reflect on women’s contributions at work. Women are an undeniable force in the modern workplace, as the business case for gender-diverse leadership teams grows ever stronger. After pandemic-fueled burnout prompted many working mothers to leave the labor force altogether, women’s participation is now hitting all-time highs. While we know that women are just as eager to advance in their careers as men, they remain vastly underrepresented at higher levels of the organization. This week, we upend misconceptions about women at work and suggest ways in which leaders can really move the needle.
For nearly a decade, McKinsey’s Women in the Workplace research has shed light on the contradictions, challenges, and promise of being a woman in the corporate world. According to senior partners Alexis Krivkovich and Lareina Yee, the latest results help demystify four myths about women at work: that women feel less ambitious than they did before the pandemic (they aren’t), that only women care about flexible working conditions (men do, too), and that microaggressions don’t meaningfully affect women (they do). The fourth myth? Krivkovich and Yee point to the leadership pipeline. Rather than the glass ceiling, “the biggest inequity in advancement remains the broken rung—the very first step up into a manager position,” Krivkovich says. “The reason we only have 28 percent women in the C-suite is because we aren’t building that leadership path at the very beginning of [women’s] careers, to create a talent pool that would be available and ready for those opportunities when they open up.” To course correct, they recommend companies approach gender representation as they would any other business problem: dig into the data, run postmortems on who’s getting promoted, and ask tough questions about the structural biases that may be standing in women’s way.
That’s the average number of years a woman spends in poor health during her lifetime. According to McKinsey Health Institute research from senior partners Kweilin Ellingrud and Lucy Pérez and their colleagues, women are most likely to be affected by a sex-specific health condition in their working years. With the average person spending one-third of their life at work, improving employee health is critical to improving global health, both as a moral imperative and a precondition for economic prosperity. What’s at stake in addressing the health gap between women and men? Healthier women are more likely to participate in the workforce, thus more likely to improve outcomes for themselves, their families, and the economy, which stands to gain at least $1 trillion of global economic opportunity by 2040—the equivalent of 137 million women in full-time jobs—if the gap is closed.
For all our focus on career paths, it’s important to remember that not everyone’s professional trajectory follows a straight line—especially in a time of so much disruption. Rather than concentrating on a single career ladder to climb, ask yourself what you want to be known for at work, instead of what your next job title should be, and encourage your team to do the same. Focusing on the things you like doing at work, and the things that give you meaning, can lead to more happiness, both in and out of your role.
Lead by fixing the broken rung.
– Edited by Daniella Seiler, executive editor, Washington, DC
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 Leading Off newsletter.
Copyright © 2024 | McKinsey & Company, 3 World Trade Center, 175 Greenwich Street, New York, NY 10007
by "McKinsey Leading Off" <publishing@email.mckinsey.com> - 04:47 - 1 Apr 2024 -
Gen AI is accelerating designers’ innovation and productivity
On Point
Unleashing creativity Brought to you by Liz Hilton Segel, chief client officer and managing partner, global industry practices, & Homayoun Hatami, managing partner, global client capabilities
•
Humans in the loop. While gen AI can handle a lot, it’s important to remember that it can’t replace human know-how. People still need to be involved to ensure that the final product is manufacturable and meets users’ needs. To use gen AI effectively, companies should focus on doing consumer research, developing effective prompts, refining the technology’s outputs, parsing the best concepts, and making sure to blend human empathy into the mix. Learn how gen AI can boost creativity and productivity in product development, and visit McKinsey Digital for more insights.
—Edited by Jana Zabkova, senior editor, New York
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> - 11:06 - 31 Mar 2024 -
Top 10 articles this quarter
McKinsey&Company
At #1: The trends defining the $1.8 trillion global wellness market in 2024 Our top ten articles this quarter look at the women’s health gap, unsung digital and AI ideas, and more. At No. 1, McKinsey’s Shaun Callaghan, Anna Pione, Warren Teichner, and coauthors take a deep dive into the results of the latest Future of Wellness survey in “The trends defining the $1.8 trillion global wellness market in 2024.”
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 are a registered member of the Top Ten Most Popular newsletter.
Copyright © 2024 | McKinsey & Company, 3 World Trade Center, 175 Greenwich Street, New York, NY 10007
by "McKinsey Top Ten" <publishing@email.mckinsey.com> - 03:57 - 31 Mar 2024 -
The week in charts
The Week in Charts
Global cooperation trends, compelling equity stories, 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:44 - 30 Mar 2024 -
What’s the secret to successful leadership?
Readers & Leaders
Plus, unlocking the power of technology THIS MONTH’S PAGE-TURNERS ON BUSINESS AND BEYOND
What distinguishes the best CEOs from the rest? In March 2022, McKinsey senior partners Carolyn Dewar, Scott Keller, and Vikram Malhotra set out to answer that question in CEO Excellence: The Six Mindsets That Distinguish the Best Leaders from the Rest (Scribner/Simon & Schuster, 2022). The book, which examined more than two decades of data on 7,800 CEOs in 70 countries, became an international business bestseller. Recently, the authors chatted with McKinsey Global Publishing leader Raju Narisetti to revisit the mindsets that have helped CEOs and aspiring leaders deliver impact. Check out the first and second installments of this discussion. Read more on the third installment below.
In this edition of Readers & Leaders, enhance your leadership skills and learn ways to set the direction of your team. Dewar, Keller, and Malhotra revisit the leadership lessons of the most successful CEOs, and Grace Puma shares how women can shatter the glass ceiling, despite only occupying 28 percent of C-suite positions. Philip Kotler and Giuseppe Stigliano present a new direction to help retailers meet the needs of consumers in the post-digital age, Chris Dixon outlines a vision for a decentralized internet that could inspire a new direction for innovation and growth, and Charles Duhigg explains the role that improved communication plays in relationship building.
Read on to find out more about how you can change your approach to leadership and inspire others to align with your vision.STAY TUNED
“There’s a body of thinking here that can be a handbook, that’s grounded in facts, that’s grounded in experience, that everyone should feel confident drawing from. Someone reading [CEO Excellence] can get the wisdom from all of those voices in one place.”
—Carolyn Dewar, McKinsey senior partner, in the third and final installment of CEO Excellence revisited, coming in April.IN CASE YOU MISSED IT
TURN BACK THE PAGE
Are you looking to fine-tune your leadership skills? Get started with these Author Talks interviews:
1. IBM’s Ginni Rometty on leading with ‘good power’
2. Ron Shaich shares leadership lessons on what matters most and why
3. How people-first leadership can make the sky the limit
4. Moshik Temkin on power, purpose, and the public goodAs Women’s History Month comes to a close, read these interviews with women leaders:
1. Suzanne Heywood rides the waves of resilience
2. Dr. Fei-Fei Li sees ‘worlds’ of possibilities in a multidisciplinary approach to AI
3. Lisa Sun explains why confidence is your superpower
4. Netta Jenkins asks, ‘Is there a seat at the table?’BUSINESS BESTSELLERS TOP
8
Need more books to add to your reading list? Explore February’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:48 - 30 Mar 2024 -
EP105: The 12 Factor App
EP105: The 12 Factor App
This week’s system design refresher: ACID Properties in Databases With Examples (Youtube video) Have you heard of the 12-Factor App? What does API gateway do? How does Redis architecture evolve? Cloud Cost Reduction Techniques SPONSOR US How-to Guide: Effective Goals and Reporting for Software Teams (Sponsored)͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ Forwarded this email? Subscribe here for moreThis week’s system design refresher:
ACID Properties in Databases With Examples (Youtube video)
Have you heard of the 12-Factor App?
What does API gateway do?
How does Redis architecture evolve?
Cloud Cost Reduction Techniques
SPONSOR US
How-to Guide: Effective Goals and Reporting for Software Teams (Sponsored)
Engineering leaders need to know—and be able to show—that their teams:
Deliver operational excellence
Drive business impact
The best way to achieve those results is by setting clear, data-backed goals and working to accomplish them. In this free guide, we walk you through how to actively improve your team’s outcomes by leveraging metrics program data, resource allocation visibility, and workflow automation. You'll also learn to audience-tailor reporting and deliver updates confidently—setting you up for continued success in your role, and in your career.
ACID Properties in Databases With Examples
Have you heard of the 12-Factor App?
The "12 Factor App" offers a set of best practices for building modern software applications. Following these 12 principles can help developers and teams in building reliable, scalable, and manageable applications.
Here's a brief overview of each principle:
Codebase:
Have one place to keep all your code, and manage it using version control like Git.
Dependencies:
List all the things your app needs to work properly, and make sure they're easy to install.Config:
Keep important settings like database credentials separate from your code, so you can change them without rewriting code.Backing Services:
Use other services (like databases or payment processors) as separate components that your app connects to.Build, Release, Run:
Make a clear distinction between preparing your app, releasing it, and running it in production.Processes:
Design your app so that each part doesn't rely on a specific computer or memory. It's like making LEGO blocks that fit together.Port Binding:
Let your app be accessible through a network port, and make sure it doesn't store critical information on a single computer.Concurrency:
Make your app able to handle more work by adding more copies of the same thing, like hiring more workers for a busy restaurant.Disposability:
Your app should start quickly and shut down gracefully, like turning off a light switch instead of yanking out the power cord.Dev/Prod Parity:
Ensure that what you use for developing your app is very similar to what you use in production, to avoid surprises.Logs:
Keep a record of what happens in your app so you can understand and fix issues, like a diary for your software.Admin Processes:
Run special tasks separately from your app, like doing maintenance work in a workshop instead of on the factory floor.
Over to you: Where do you think these principles can have the most impact in improving software development practices?
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:
What does API gateway do?
The diagram below shows the detail.
Step 1 - The client sends an HTTP request to the API gateway.
Step 2 - The API gateway parses and validates the attributes in the HTTP request.
Step 3 - The API gateway performs allow-list/deny-list checks.
Step 4 - The API gateway talks to an identity provider for authentication and authorization.
Step 5 - The rate limiting rules are applied to the request. If it is over the limit, the request is rejected.
Steps 6 and 7 - Now that the request has passed basic checks, the API gateway finds the relevant service to route to by path matching.
Step 8 - The API gateway transforms the request into the appropriate protocol and sends it to backend microservices.
Steps 9-12: The API gateway can handle errors properly, and deals with faults if the error takes a longer time to recover (circuit break). It can also leverage ELK (Elastic-Logstash-Kibana) stack for logging and monitoring. We sometimes cache data in the API gateway.
Over to you:What’s the difference between a load balancer and an API gateway?
Do we need to use different API gateways for PC, mobile and browser separately?
How does Redis architecture evolve?
Redis is a popular in-memory cache. How did it evolve to the architecture it is today?
2010 - Standalone Redis
When Redis 1.0 was released in 2010, the architecture was quite simple. It is usually used as a cache to the business application.
However, Redis stores data in memory. When we restart Redis, we will lose all the data and the traffic directly hits the database.2013 - Persistence
When Redis 2.8 was released in 2013, it addressed the previous restrictions. Redis introduced RDB in-memory snapshots to persist data. It also supports AOF (Append-Only-File), where each write command is written to an AOF file.2013 - Replication
Redis 2.8 also added replication to increase availability. The primary instance handles real-time read and write requests, while replica synchronizes the primary's data.2013 - Sentinel
Redis 2.8 introduced Sentinel to monitor the Redis instances in real time. is a system designed to help managing Redis instances. It performs the following four tasks: monitoring, notification, automatic failover and configuration provider.2015 - Cluster
In 2015, Redis 3.0 was released. It added Redis clusters.
A Redis cluster is a distributed database solution that manages data through sharding. The data is divided into 16384 slots, and each node is responsible for a portion of the slot.Looking Ahead
Redis is popular because of its high performance and rich data structures that dramatically reduce the complexity of developing a business application.
In 2017, Redis 5.0 was released, adding the stream data type.
In 2020, Redis 6.0 was released, introducing the multi-threaded I/O in the network module. Redis model is divided into the network module and the main processing module. The Redis developers the network module tends to become a bottleneck in the system.
Over to you - have you used Redis before? If so, for what use case?
Cloud Cost Reduction Techniques
Irrational Cloud Cost is the biggest challenge many organizations are battling as they navigate the complexities of cloud computing.
Efficiently managing these costs is crucial for optimizing cloud usage and maintaining financial health.
The following techniques can help businesses effectively control and minimize their cloud expenses.Reduce Usage:
Fine-tune the volume and scale of resources to ensure efficiency without compromising on the performance of applications (e.g., downsizing instances, minimizing storage space, consolidating services).Terminate Idle Resources:
Locate and eliminate resources that are not in active use, such as dormant instances, databases, or storage units.Right Sizing:
Adjust instance sizes to adequately meet the demands of your applications, ensuring neither underuse nor overuse.Shutdown Resources During Off-Peak Times:
Set up automatic mechanisms or schedules for turning off non-essential resources when they are not in use, especially during low-activity periods.Reserve to Reduce Rate:
Adopt cost-effective pricing models like Reserved Instances or Savings Plans that align with your specific workload needs.Bonus Tip: Consider using Spot Instances and lower-tier storage options for additional cost savings.
Optimize Data Transfers:
Utilize methods such as data compression and Content Delivery Networks (CDNs) to cut down on bandwidth expenses, and strategically position resources to reduce data transfer costs, focusing on intra-region transfers.
Over to you: Which technique fits in well with your current cloud infra setup?
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:36 - 30 Mar 2024 -
How does the UK’s arts sector contribute to its economy?
On Point
Sustaining the UK’s creative industries Brought to you by Liz Hilton Segel, chief client officer and managing partner, global industry practices, & Homayoun Hatami, managing partner, global client capabilities
•
Dynamic impact. The UK is a cultural powerhouse, reflect Tunde Olanrewaju—the managing partner for McKinsey’s UK, Ireland, and Israel offices—and coauthors. McKinsey analysis found that in 2022, the UK arts sector contributed £49 billion in gross value added to the UK economy—a significant sum. The industry has a definite impact on UK society, influencing the economy, people’s lives, and communities. A 2023 survey by the Department for Culture, Media, and Sport found that 91% of UK adults had participated in artistic activities over the prior 12 months.
—Edited by Vanessa Burke, 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:08 - 29 Mar 2024 -
Serving a greater purpose, productivity growth, sustainable offerings in e-commerce, and more: The Daily Read Weekender
Catch up on the week's big insights Brought to you by Liz Hilton Segel, chief client officer and managing partner, global industry practices, & Homayoun Hatami, managing partner, global client capabilities
The weekend is near, so get ready to catch up on the week’s highlights on revisiting CEO Excellence, productivity growth, the new net-zero reality, 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 Global Institute 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:13 - 28 Mar 2024 -
Investing in productivity growth
Pave the way 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 Global Institute" <publishing@email.mckinsey.com> - 12:51 - 28 Mar 2024 -
A Crash Course in IPv4 Addressing
A Crash Course in IPv4 Addressing
Welcome to our latest issue on IPv4 addressing. In this issue, we'll learn about the basic parts of IPv4 addressing, including its structure, the role of subnet masks, and the meaning of network, broadcast, and host addresses. IP is used to send packets from the source to their final destination, either within the same network or across multiple networks.͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ 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:
Welcome to our latest issue on IPv4 addressing. In this issue, we'll learn about the basic parts of IPv4 addressing, including its structure, the role of subnet masks, and the meaning of network, broadcast, and host addresses. IP is used to send packets from the source to their final destination, either within the same network or across multiple networks.
So, without further ado, let’s jump right into IPv4 addressing.
IPv4 Address Structure
An IPv4 address is written using dotted decimal notation, but it is actually a 32-bit address. This gives us a total of about 4.29 billion possible addresses. We divide the 32-bit address into four 8-bit sections called octets. Then we convert each octet into a decimal value. This is called dotted decimal notation, and that's how we write IPv4 addresses.
The range of an IPv4 address can be from four 0s (0.0.0.0) in dotted decimal notation to four 255s (255.255.255.255).
IPv4 Address and Subnet Mask
An IPv4 address has two main parts:
A network portion
A host portion
The subnet mask (also called the prefix length) separates the network portion from the host portion of the IPv4 address.
A subnet mask is 32 bits long. It has a group of 1s followed by a group of 0s. The 1s indicate the network portion of the IP address, and the 0s indicate the host portion.
How to Write a Subnet Mask
There are two ways to write a subnet mask:
Dotted Decimal Notation
We can use dotted decimal notation, just like for IPv4 addresses.
Example: 255.255.0.0
Slash Notation or Prefix Length
We can also use a slash notation, which shows the number of 1 bits in the mask.
Example:
/16 (indicating 16 one bits)
172.18.0.0/16
Using the slash notation if more common nowadays.
Finding the IPv4 Network Address Using the Subnet Mask
Let’s say we have a host IPv4 address (192.168.1.100) and a subnet mask (255.255.255.0). How do we find the network address from the host address using the subnet mask?
In binary notation, we perform a bitwise AND operation between the host address and the subnet mask. For each bit position, if both the address and mask bits are 1, the result is 1. Otherwise, the result is 0. The result gives us the network address.
Continue reading this post for free, courtesy of Alex Xu.
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:35 - 28 Mar 2024