IT

 

 

 

 

 

 

 






 







 


 

 

 

 

 

 

 

 






 







 


 

 

 

 

 

 

 






 







 


 

 

 

 

 

 

 






 







 


 

 

 

 

 

 

 

 

 

 

 

 

 

 






 







 


 

 

 

 

 

 

 

 

 

 






 







 


IT

 

 

AI  

 

 






 







 


 

 

 

 

 

 

 






 







 


 

 

 

 

 

 

 

 






 







 


 

Web  

 

 

PlayStation  

 

YouTuber  

 





 
Wikipedia
 





 

 

 












Catching Compromised Cookies - Slack Engineering  

21users  
slack.engineering  


Oliver Grubin Sr. Staff Software Engineer, Security Slack uses cookies to track session states for users on slack.com and the Slack Desktop app. The ever-present cookie banners have made cookies mainstream, but as a quick refresher, cookies are a little piece of client-side state associated with a website that is sent up to the web server on every request. Websites use this piece of information to



 

2024/06/24 21:07
 





 

















Balancing Old Tricks with New Feats: AI-Powered Conversion From Enzyme to React Testing Library at Slack - Slack Engineering

4users  
slack.engineering  


Balancing Old Tricks with New Feats: AI-Powered Conversion From Enzyme to React Testing Library at Slack In the world of frontend development, one thing remains certain: change is the only constant. New frameworks emerge, and libraries can become obsolete without warning. Keeping up with the ever-changing ecosystem involves handling code conversions, both big and small. One significant shift for u



 

2024/05/23 09:44
 













The Scary Thing About Automating Deploys - Slack Engineering  

36users  
slack.engineering  


Most of Slack runs on a monolithic service simply called The Webapp. Its big  hundreds of developers create hundreds of changes every week. Deploying at this scale is a unique challenge. When people talk about continuous deployment, theyre often thinking about deploying to systems as soon as changes are ready. They talk about microservices and 2-pizza teams (~8 people). But what does continuo




 

2024/03/24 10:32
 









 











Executing Cron Scripts Reliably At Scale - Slack Engineering  

4users  
slack.engineering  


Cron scripts are responsible for critical Slack functionality. They ensure reminders execute on time, email notifications are sent, and databases are cleaned up, among other things. Over the years, both the number of cron scripts and the amount of data these scripts process have increased. While generally these cron scripts executed as expected, over time the reliability of their execution has occ



 

2024/01/30 17:09
 













Our Journey Migrating to AWS IMDSv2 - Slack Engineering  

3users  
slack.engineering  


Archie Gunasekara Staff Software Engineer, Cloud Foundations We are heavy users of Amazon Compute Compute Cloud (EC2) at Slack  we run approximately 60,000 EC2 instances across 17 AWS regions while operating hundreds of AWS accounts. A multitude of teams own and manage our various instances. The Instance Metadata Service (IMDS) is an on-instance component that can be used to gain an insight to th



 

2023/12/15 00:53
 













Traffic 101: Packets Mostly Flow - Slack Engineering  

3users  
slack.engineering  


Radha Kumari Staff Software Engineer, Site Reliability Slack handles billions of inbound network requests per day, all of which traverse through our edge network and ingress load balancing tiers. In this blog post, well talk about how a request flows  from a Slacks user perspective  across the vast ether of the network to reach AWS and then Slacks internal services. Lets dive in! How packets



 

2023/08/28 23:43
 













Slack's Migration to a Cellular Architecture - Slack Engineering  

12users  
slack.engineering  


Summary In recent years, cellular architectures have become increasingly popular for large online services as a way to increase redundancy and limit the blast radius of site failures. In pursuit of these goals, we have migrated the most critical user-facing services at Slack from a monolithic to a cell-based architecture over the last 1.5 years. In this series of blog posts, well discuss our reas



 

2023/08/23 00:57
 





 











Real-time Messaging - Slack Engineering  

4users  
slack.engineering  


Did you know that ground stations transmit signals to satellites 22,236 miles above the equator in geostationary orbits, and that those signals are then beamed down to the entire North American subcontinent? Satellite radios today serve hundreds of channels across 9,540,000 square miles. Unless youre working at a secret military facility, deep underground, you can enjoy satellite radio everywhere



 

2023/04/12 08:17
 













How We Use Terraform At Slack - Slack Engineering  

5users  
slack.engineering  


A Look Into Ways We Use Terraform to Build Our Infrastructure At Slack, we use Terraform for managing our Infrastructure, which runs on AWS, DigitalOcean, NS1, and GCP. Even though most of our infrastructure is running on AWS, we have chosen to use Terraform as opposed to using an AWS-native service such as CloudFormation so that we can use a single tool across all of our infrastructure service pr



 

2022/10/28 13:55
 



 











Continuous Load Testing - Slack Engineering  

7users  
slack.engineering  


Building load test infrastructure is tricky and poses many questions. How can we identify performance regressions in newly deployed builds, given the overhead of spinning up test clients? To gather the most representative results, should we load test at our peak hours or when theres a lull? How do we incentivize engineers to invest time in load testing, especially when environment setup is time c



 

2022/04/30 20:19
 





 











The Case of the Recursive Resolvers - Slack Engineering  

9users  
slack.engineering  


Rafael Elvira Staff Software Engineer, Infrastructure On September 30th 2021, Slack had an outage that impacted less than 1% of our online user base, and lasted for 24 hours. This outage was the result of our attempt to enable DNSSEC  an extension intended to secure the DNS protocol, required for FedRAMP Moderate  but which ultimately led to a series of unfortunate events. The internet relies ve



 

2021/11/30 10:37
 







 











Infrastructure Observability for Changing the Spend Curve - Slack Engineering  

5users  
slack.engineering  


A deep dive on how we crafted an order of magnitude change in our spend (10x reduction compared to baseline growth) over the last two years with iterative understanding and changes in Slacks Continuous Integration (CI) infrastructure. Slack is an integral part of where work happens for teams across the world, and our work in the Core Development Engineering department supports engineers throughou



 

2021/10/29 17:42
 



 











How We Design Our APIs at Slack - Slack Engineering  

6users  
slack.engineering  


Saurabh Sahni Sr. Staff Software Engineer, Developer Platform More than five years ago, we launched the Slack Platform, giving developers an easy way to build apps in Slack and publish them in our App Directory. Today, millions of users bring their work into Slack, and those apps built by over 885,000 active developers on the platform are key to further improving collaboration in Slack. Over the y



 

2021/08/12 06:10
 





 











Managing Focus Transitions in Slack - Slack Engineering  

4users  
slack.engineering  


Divya Kamath Staff Software Engineer, Slack Systems At Slack, we believe that designing an optimal keyboard experience is key to delivering a best-in-class product for all our customers. However, despite our design system components being individually accessible, we heard from keyboard users that we were still missing focus transitions in their end-to-end user experience. Non-sighted users who rel



 

2021/07/13 21:52
 



 











Load Testing with Koi Pond - Slack Engineering  

3users  
slack.engineering  


How Slack models and tests with incredibly large groups of users Complex systems are difficult to reason about at scale; we often cant accurately extrapolate system behavior and performance, so we need to derive that data empirically. We use load testing to do just that: find the limits of our systems and weed out bugs at a large scale in a controlled environment. Slack is a pretty complex system



 

2021/06/10 22:14
 





 











How a Jenkins Job Broke our Jenkins UI - Slack Engineering  

4users  
slack.engineering  


Maria Sabastian Senior Software Engineer, Mobile Build & Release Artwork courtesy of the Jenkins project. At Slack we manage a sophisticated Jenkins infrastructure to continuously build and test our mobile apps before release. We have hundreds of jobs running in a variety of different environments. One day something very odd happened  our Jenkins UI stopped working although the jobs continued to



 

2021/06/03 21:41
 













Migrating Millions of Concurrent Websockets to Envoy - Slack Engineering  

5users  
slack.engineering  


Ariane van der Steldt Staff Software Engineer, Site Reliability Slack has a global customer base, with millions of simultaneously connected users at peak times. Most of the communication between users involves sending lots of tiny messages to each other. For much of Slacks history, weve used HAProxy as a load balancer for all incoming traffic. Today, well talk about problems we faced with HAPro



 

2021/03/16 08:34
 













Slacks Outage on January 4th 2021 - Slack Engineering  

10users  
slack.engineering  


And now we welcome the new year. Full of things that have never been.  Rainer Maria Rilke January 4th 2021 was the first working day of the year for many around the globe, and for most of us at Slack too (except of course for our on-callers and our customer experience team, who never sleep). The day in APAC and the morning in EMEA went by quietly. During the Americas morning we got paged by an e



 

2021/02/02 00:45
 







 











Creating a React Analytics Logging Library - Slack Engineering

4users  
slack.engineering  


Konstantin Savransky Senior Software Engineer, Frontend In the first installment of the article, we examined why we built a React analytics library. We also looked at how we use the library to share data efficiently, log smarter impressions, and simplify event logging. In this second part of the article, we will focus on how we abstracted the library for use by any team at Slack, along with powerf



 

2020/12/17 15:27
 



 











Scaling Datastores at Slack with Vitess - Slack Engineering  

21users  
slack.engineering  


Rafael Chacón Staff Software Engineer, Infrastructure From the very beginning of Slack, MySQL was used as the storage engine for all our data. Slack operated MySQL servers in an active-active configuration. This is the story of how we changed our data storage architecture from the active-active clusters over to Vitess  a horizontal scaling system for MySQL. Vitess is the present and future of Dat



 

2020/12/02 06:55
 









 











Creating a React Analytics Logging Library  

31users  
slack.engineering  


</Log> In the example code, we want to set a data tag on the home page, page="home". But we arent logging a page impression. We want to log an impression of the welcome section. To do so, we pass a logImpression prop into the Log component wrapping the welcome section (along with another data prop, section="welcome"). To make the Log component send an impression of the welcome section, we could c



 

2020/11/19 01:24
 













 











A Terrible, Horrible, No-Good, Very Bad Day at Slack - Slack Engineering  

25users  
slack.engineering  


A Terrible, Horrible, No-Good, Very Bad Day at Slack On May 12, 2020, Slack had our first significant outage in a long time. This is a detailed look into the technical issues that caused it. This story describes the technical details of the problems that caused the Slack downtime on May 12th, 2020. To learn more about the process behind incident response for same outage, read Ryan Katkovs post, 



 

2020/06/30 10:37
 



 











Deploys at Slack - Slack Engineering  

40users  
slack.engineering  


Deploys require a careful balance of speed and reliability. At Slack, we value quick iteration, fast feedback loops, and responsiveness to customer feedback. We also have hundreds of engineers who are trying to be as productive as possible. Keeping to these values while growing as a company means continual refinement of our deployment system. We had to invest in greater visibility and reliability



 

2020/04/08 21:56
 













 











How Big Technical Changes Happen at Slack - Slack Engineering  

4users  
slack.engineering  


Most new things in technology turn out to be fads: patterns of talking and doing that come and go without leaving a permanent mark. Microkernels; EPIC architectures like IA-64; object request brokers; and 1990s-style neural nets are gone, and will not return. Sorry for the deep throwbacks; only time proves which things are fads, so for uncontroversial examples we have to reach pretty far back. Wh



 

2020/02/14 11:33
 













Introducing Nebula, the open source global overlay network from Slack - Slack Engineering  

10users  
slack.engineering  


Introducing Nebula, an open source scalable overlay networking tool with a focus on performance, simplicity and security. What is the easiest way to securely connect tens of thousands of computers, hosted at multiple cloud service providers in dozens of locations around the globe? If you want our answer, its Nebula, but I recommend that you read the rest of this short post before clicking that



 

2019/11/20 08:46
 













 











Client Consistency at Slack: Beyond Libslack - Slack Engineering  

4users  
slack.engineering  


Two years ago, I wrote a post about Libslack, Slacks shared C++ client library. That post described how Slack used the Libslack library in its mobile applications to encapsulate shared business logic, and to handle syncing and caching of data. In the intervening time, we decided to move away from using a shared C++ library in our clients, but we havent discussed that decision publicly. We were s



 

2019/10/19 06:26
 













The Gradual Design System: How We Built Slack Kit - Slack Engineering  

37users  
slack.engineering  


A group of engineers, designers, and writers began to centralize and standardize components. We named it Slack Kit. This post was co-written with Zack Sultan, Lead Product Designer at Slack In 2016, Slack was two years old and already used by millions of people. Our codebase had grown rapidly, and like many companies that focused on product/market fit, our code was built in a way that favored time



 

2019/09/13 18:57
 









 











Service Workers at Slack: Our Quest for Faster Boot Times and Offline Support - Slack Engineering  

11users  
slack.engineering  


Service Workers at Slack: Our Quest for Faster Boot Times and Offline Support Using a CDN-cached HTML file, a persisted Redux store, and a Service Worker, we reduced Slack boot time by more than 50%. We recently rolled out a new version of Slack on the desktop, and one of its headlining features is a faster boot time. In this post, well take a look back at our quest to get Slack running quickly,



 

2019/08/30 13:19
 





 











Disasterpiece Theater: Slacks process for approachable Chaos Engineering - Slack Engineering

3users  
slack.engineering  


Disasterpiece Theater: Slacks process for approachable Chaos Engineering Slack is a large and complex piece of software thats been added to and changed many times over the last five years. We added features, grew to 10,000,000 DAUs, and made major architectural changes. We made assumptions and tested them with processes that often resembled science. Whenever we launch features or make changes, w



 

2019/08/02 11:37
 











 








 




























 

Slack Engineering -  

 



j

k

l

e

o
 
 
















 









 

















 









 









 







Pro



 




 






App Storeからダウンロード
Google Playで手に入れよう


Copyright © 2005-2024 Hatena. All Rights Reserved.
 





x