Slack Case Study
Slack provides a messaging platform that integrates with and unifies a wide range of communications services such as Twitter, Dropbox, Google Docs, Jira, GitHub, MailChimp, Trello, and Stripe. The San Francisco–based company, which launched its eponymous app in February 2014, was started by a small group of Silicon Valley entrepreneurs that include Flickr founder Stewart Butterfield. Privately-held Slack is on Fortune Magazine’s “Unicorn List” of startup firms worth $1 billion or more, with a $2.8 billion valuation supported by a five percent weekly user growth rate and major brand-name customers including Adobe, Samsung, Intuit, NASA, Dow Jones, eBay, and Expedia.
With traditional IT, it would take weeks or months to contend with hardware lead times to add more capacity. Using AWS, we can look at user metrics weekly or daily and react with new capacity in 30 seconds."
Director of Operations, Slack
In the age of the unicorn startups, Slack has drawn attention for its meteoric rise and potential for disrupting traditional business communications tools, particularly email. By June 2015—less than 18 months after its launch—the company already had more than 1.1 million daily users, 300,000 paid seats, and more than 30 million messages flowing through Slack each week via integrations with other services.
Slack’s founders had already learned hard lessons from previous failed ventures. One of those was the importance of picking the right IT infrastructure to run the business. If Slack was to succeed in a fiercely competitive business-software marketplace, its founders knew they would need a lean staff, low costs, and above all an IT environment capable of supporting speed, agility, and innovation. Going to the cloud was the logical choice.
“The realities of physical space, hardware acquisition, replacement parts, running a server facility with all its costs—all the physical manifestations that can lead to breakages—made a traditional IT environment impractical for an Internet startup,” says Richard Crowley, Slack’s director of operations. “Plus we would have needed an extra layer of expertise just to run the infrastructure. We could have operated with that kind of IT infrastructure, but the cost and complexity would have made it much harder to launch the business.”
Why Amazon Web Services
Crowley says Slack turned to Amazon Web Services out of experience and because it was the best choice for the company going forward. Tiny Speck—the original company name for what became Slack Technologies—used AWS in 2009 when it was the only viable offering for public cloud services.
“Given their expertise and pains running a more traditional environment when Flickr was developed, Slack’s founders realized it was a no brainer to use AWS,” says Crowley. “During the development of Slack, the feeling was that AWS was good to us and would continually improve with more and better features. There was no need to leave.”
Slack has a relatively simple IT architecture that is based on a broad range of AWS services, including i2.xlarge Amazon Elastic Compute Cloud (Amazon EC2) instances for basic compute tasks; Amazon Simple Storage Service (Amazon S3) for users’ file uploads and static assets; and Elastic Load Balancing to balance workloads across Amazon EC2 instances. Slack uses Amazon Elastic Block Store (Amazon EBS) for nightly backups of MySQL instances running on Amazon EC2 i2s instances; the Amazon EBS volumes are attached to the instances and used as temporary storage before being sent to Amazon S3. Slack replaced hundreds of terabytes of Amazon EBS gp2 volumes with lower-cost Amazon EBS sc1 volumes for database backups. Since the switch, the company continues to grow the data on its user base.
For security, Slack uses Amazon Virtual Private Cloud (Amazon VPC) to control security groups and firewall rules and AWS Identity and Access Management (IAM) to control user credentials and roles. The company uses Amazon CloudTrail for monitoring logs related to Amazon EC2 instances, and Amazon Route 53 for DNS management.
Along with the AWS services, Slack is using the Redis data structure server, the Apache Solr search tool, the Squid caching proxy, and a MySQL database.
Using AWS as its IT infrastructure has helped Slack achieve an astonishing growth rate and a multibillion-dollar valuation with a platform that supports speed of innovation and responsiveness, reliability, and security features to ensure the confidentiality of customer information.
Crowley says AWS gives fast-growing companies like Slack the ability to minimize their involvement with daily IT management. That lets them focus on pushing innovative products and services to market quickly. “We have a lot of metrics and programs that tell us about available capacity for new customer teams to join and existing customers to grow their Slack usage,” he says. “With traditional IT, it would take weeks or months to contend with hardware lead times to add more capacity. Using AWS, we can look at user metrics weekly or daily and react with new capacity in 30 seconds.”
The ease of provisioning resources in the AWS cloud allows Slack to practice disaster recovery scenarios, which is essential for assuring existing and prospective customers that their information will always be there, when and where they need it. “One of the real strengths of AWS is that we can do a lot of re-provisioning of our infrastructure, making sure that we can recover quickly and competently in the event that something goes down,” Crowley says. “Having the ability to quickly grab twice as many of a certain class of instances is great. It gives us the ability to regularly practice our disaster-recovery scenarios.” Slack is also saving money with the lower-cost Amazon EBS sc1 volumes, providing the requisite speed at approximately one-fourth the cost. And, with the Amazon EBS sc1 volumes, the price is so low that Slack can leave them running continuously without having to build and operate special volume management tooling.
A large part of the appeal of Slack is that it replaces disparate communications tools with a single, unified platform. But that puts an increased burden on Slack to ensure that its customers' information is safe, and that Slack can deliver the kind of enterprise reliability and high availability to support the service-level agreements expected of robust enterprise applications.
“As a company, our business is integral to our customers’ daily lives,” Crowley says. “So in our customers’ eyes, our security controls and ability to deliver a reliable service become incredibly important, and it’s a responsibility we take incredibly seriously.”
He says AWS immediately addresses customers’ security concerns because AWS publishes service organization control (SOC) reports, which are based on third-party examinations evaluating how AWS achieves compliance controls and objectives. “The fact that we can rely on the AWS security posture to boost our own security is really important for our business. AWS does a much better job at security than we could ever do running a cage in a data center,” Crowley says. ”Hosting Slack in AWS makes our customers more confident that Slack is safe, secure, and always on.”
Slack provides a messaging platform that integrates with and unifies a wide range of communications services such as Twitter, Dropbox, Google Docs, Jira, GitHub, MailChimp, Trello, and Stripe.
Benefits of AWS
- Reviews user metrics daily
- Reacts to usage rates in a matter of seconds by provisioning additional capacity
- Easily practices disaster-recovery scenarios
AWS Services Used
Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance.
Amazon Elastic Compute Cloud (Amazon EC2) is a web service that provides secure, resizable compute capacity in the cloud.
Elastic Load Balancing
Elastic Load Balancing automatically distributes incoming application traffic across multiple targets, such as Amazon EC2 instances, containers, IP addresses, and Lambda functions.
Amazon Elastic Block Store (EBS) is an easy to use, high performance block storage service designed for use with Amazon Elastic Compute Cloud (EC2).
Companies of all sizes across all industries are transforming their businesses every day using AWS. Contact our experts and start your own AWS Cloud journey today.