Infrastructure at Asana: what’s next?
Asana’s infrastructure team has always focused on ensuring a reliable and secure experience for all teams that run on Asana. Our infrastructure is made up of several components, including Luna and Kraken, which handle the growing performance and scalability demands of our real-time app. As the number of teams using Asana grows, our infrastructure must evolve.
Today’s most interesting and popular distributed systems were built by organizations with unique data management needs during periods of high growth — just look at Dynamo (Amazon), Bigtable (Google), Cassandra (Facebook), and Kafka (LinkedIn). We are inspired by these companies’ approaches. And as we scale our business and product, we’ll continue to use existing systems and are excited to start building new ones.
To guide our next phase of growth, we recently welcomed Prashant Pandey to our infrastructure team.
I sat down with Prashant to talk about why infrastructure is unique at Asana, what sorts of challenges the team will be tackling, and what the future of Asana looks like from an infrastructure perspective.
What makes infrastructure unique at Asana?
Asana has a unique data model — the work graph — an intricate network of tasks that are associated with teammates, projects, and a variety of work-related views. We’re building rich, dynamic query/search/summarization functionality around this graph. Creating systems that provide performant access methods for applications manipulating this work graph at high scale is one of the most interesting things about working on the infrastructure team here.
What is the problem you are looking forward to solving?
The problem of ‘work about work‘ is one I’ve thought about but hadn’t figured out how to solve on my own. I’m thrilled to join a group of talented people who are tackling this very problem.
Coordinating people and projects is hard; a lot of traditional management is simple tracking, status keeping, and reporting. I look forward to enabling more, larger teams effectively track projects, move them forward, and use their meeting time efficiently.
What are your core focus areas for developing infrastructure?
My role is to help build the next generation of infrastructure at Asana and oversee the evolution of Luna as we grow. We’re continually adding powerful features to Asana and expanding our use base, which inevitably causes the number of objects, data, and metadata we process and store to grow superlinearly. Our infrastructure team is focused on building a solid foundation for our service while increasing its security, durability, availability, and performance.
The infrastructure we’ve built to date has enabled us to develop quickly while delivering high-quality software. We want to maintain this dynamic and in order to do so, we’ll need to make some fundamental changes to those building blocks and add components to our stack that will allow us to continue to scale.
What are some benefits to Asana’s approach to work?
For technical and creative people, long periods of flow time are needed for productivity. Asana’s culture ensures that people have solid chunks of time to do work.
I appreciate that we iterate on our roadmap in terms of episodes (around 3-4 months). We’re not planning a year in advance, but not resetting every week either. It’s a great way to balance predictability and long-term vision, and it’s fairly unique.
We are also very mindful of how we we distribute responsibilities and remove barriers so that all team members are empowered to make an impact in areas they are passionate about.
What were you working on prior to joining Asana?
I was helping build Amazon DynamoDB. I started up the Bay Area team for the AWS NoSQL organization, and was involved in releasing several DynamoDB features including global secondary indexes, fine grained access control, DynamoDB Local, and parallel scan. Before that, I led engineering for Vdopia, a mobile advertising startup, and helped build the company’s ad serving and reporting platform, as well as their mobile ad technology.
What types of people would you like to add to the infrastructure team at Asana?
People who are motivated by Asana’s mission and want to build and operate secure, highly available, performant, and scalable systems to power rich real-time applications. We are looking for engineers with expertise in security, distributed systems, search, infrastructure automation, and analytics.
It’s an exciting time to join the infrastructure team; our work will enhance product performance, our framework, and enable teams to accomplish more than they ever could before.