Ep 21: Prashanth HN CTO of AntStack
Hello, and welcome to the talking serverless podcast. I am your co-host, Josh Proto, and I am joined today by Mr. Prashanth HN. With more than 9 years of experience in using and architecting Cloud Solutions like AWS, Mr. Prashanth is a public speaker, who has given several talks on varied topics. He is a believer of Serverless and co-founder of Antstack.io. Furthermore, he is one of the official contributors of AWS Amplify.
Josh Proto Q: How was your journey, and how you ended up in the serverless space co-founding Antstack.io?
Prashanth: I have been an entrepreneur for almost a decade. I started my journey as an entrepreneur with a fashion e-commerce portal in India, and I ran that company for about seven years. Then, I started something called wheels box, which was into making new car buying experience. Hence, during the style tag, it was mostly built on Ruby on Rails. We had typical monolith problems in the styletech days. We were using many APM tools to address memory leaks, fix the issues in VR, and more.
So, when I started building my new startup, wheels box, I didn't want to do the same things, which I did in the past. I wanted to see how I can simplify technology. I didn't want to get back into the same troubles, which I had before building an e-commerce platform. I read books I bootstrap. Also, I had to make sure that it's not very human resource intensive. I wanted to focus on my business use cases rather than worrying about infrastructure.
When I came out of style tag, both Serverless and Containers were kicking off well. So, I thought about whether to do containers or serverless to build my startup. Then I realized that I would probably spend a few months understanding and getting through the container ecosystem. So, I might as well use that time in building my business use cases instead of learning and putting too much effort into technology. That's when I started seriously exploring serverless with Bill box, and I built the whole platform just to fit another couple of engineers on serverless, end to end using a serverless framework.
Because of that learning exercise, I had so much to share with the world. So, I started going out, giving talks, across India, in many cities. I did beginner, intermediate and expert level sessions. I did workshops, went to colleges, mentored college students about Serverless. Therefore, I went full-on because I genuinely believe in serverless, coming from the background of running an e-commerce company on a server full architecture. I felt it's an ideal space to begin because I believe in serverless or doing something more in that ecosystem that attracted me. So that's how I started.
Serverless and its Benefits
Josh Proto Q: So, what is the benefit of using serverless over monolithic architecture in e-commerce?
Prashanth: During my startup days in e-commerce, the main thing was that the Lord was always unpredictable. We did not know at what point in time, suddenly something can kick off some product, which will suddenly become wild. We used to get a lot of middle-of-the-night traffic for no reason. We could not determine what was causing such kind of surge. The lb was not scaling in response to the burst traffic, which we used to get. So, there was always this question mark in our head, whether the auto-scaling group will kick in at the right time when the load is there, or will it be too delayed. By the time it comes up, traffic could have gone because people come to e-commerce, and if they don't have a good experience, they leave in no time. So, it was essential to be available when people get it which was challenging for us.
There is a side benefit of using serverless. Being an e-commerce startup, we ended up adding a lot of features and unused code. We accumulated a lot of technical debt over a while, which we could not address because it was a typical startup. We were like if we add this feature, it will bring in a lot more customers. The customer support team will ask for something new, and we do that. The marketing team asked for something new, and we did that. It was a small tech team for the process. The process of doing quick releases and adding new features is fast. In a typical startup environment, we accumulated a lot of debt. Finally, we reached a point where throwing more servers at it would not help. We used many APM tools like in New Relic and tried to address the issue of memory leaks and typical issues in Rails applications. So, all this reminds me of those old glory days where in the middle of the night, if my cell phone buzzes, I always worry like, what's wrong now.
The main thing is in e-commerce, predicting the capacity and predicting the load when people are going to come, and then utilizing the traffic. If a celebrity talks about a product on your portal, and suddenly you start seeing unusual traffic, and the server fool architecture is not there yet to respond in a boastful manner. So that's where I think, Serverless can be useful. In case of burst traffic, it can scale instantaneously.
At the same time, we always had to maintain the infrastructure thinking's base capacity, our highest traffic. Some say 10,000 concurrent users; I need to make sure my database is scaled in proportion to that, even though most of the average time traffic is about 2000 to 3000 people. The database is most scaled up to ensure that if we hit our bust, it is there too. In some areas like databases, the compute can probably scale following the bust. Still, in some areas, your application has to maintain that base infrastructure all the time, which is unutilized resources.
Josh Proto Q: Are you finding that many people are coming to you for help, or are you coming up with questions, and are they fully aware of various benefits of serverless?
Prashanth: Oh, it's a good mix of people. Sometimes more people who are coming and asking the beginner sorts of questions, like, it's about the cold start. Most of the time, the question pops up like, can you do this? At times, people ask specific questions like, "I faced this particular issue in lambda. How do you address that?" Most of the time, its people coming and asking, Is this possible in serverless? That's like the most asked question for me.
Josh Proto Q: Are you sort of always serverless, or are there any instances where you would advise against it?
Prashanth: Ever since my second startup began, I have almost become like a serverless person because I feel that a serverless ecosystem has enough components available. A lot of people think serverless means lambda, but it is not that. You want authentication; you have Cognito, you have file storage in s3, you have a queue, you want to queue, you have Sq s, you have ups, you want a pub-sub, you have SNS, so you have a whole bunch of offers in AWS. Similarly, in Google, which is available for you to use in your architecture, like Lego blocks, you can put them together to build your specific architecture. So, I always try to tell them it's not just lambda functions. You have so many other varied offerings; you can put together all of this in an excellent architecture of your own. Some people ask about lambda's limitations, the timeout; then, I try to tell them, you could probably look at a hybrid approach where instead of lambda functions, you could look at fargate ECS. But it may not be purely serverless. I'm not sure whether ECS fargate setup qualifies to be a fully serverless offering. So, in some cases, I suggest using the hybrid approach.
I have also noticed that the people who were getting into the Cloud ecosystem are now jumping into serverless. First, they don't have this conventional baggage of biases coming from traditional architecture. I have my colleagues coming to me and asking, "why are there people still using servers?" So, they have that utterly opposite mindset. It is because Serverless is so awesome. You don't have to worry about the management of infrastructure and all of that. You can focus on your writing, your business use cases, and stuff. At the same time, we have people who are experienced in what they do. They have a lot of skepticism when it comes to serverless. They ask all these kinds of questions, and they are anxious if we switch, whether the latency, debugging, and observability will be a problem. Companies like Rumiko are doing an outstanding job. But still, these guys have so much experience; sometimes it works against you to adapt to something new, something fresh. So, I guess I have seen both sides, both kinds of people in this ecosystem.
Future of Serverless
Josh Proto Q: Is the new generation going to be serverless?
Prashanth: I feel that this is just the beginning. I think there's going to be a lot more abstraction over infrastructure right now. If you look at serverless in the serverless components they are building; it would be easier for someone to build their architecture. In Lego blocks, you just take one component you want CloudFront, you take other components, and you put them all together in no time and build your own set of services. I think there's going to be a lot more coming in that direction, where people will develop more abstractions on top of the underlying serverless infrastructure. More stuff will come in that space for the future.
But at the same time, I also feel there are some gaps, which still, serverless need to be addressed. For example, if you think of graph QL and serverless, you can't think of many offerings apart from AWS app sync; I don't know if there are any other serverless graph QL technologies out there. There are still some gaps concerning a serverless ecosystem; I feel that it will get filled soon. You can also see the kind of progress we are having serverless like a lot of things that were a big problem before. For example, people always used to wonder and ask questions about code starts. Now there is a provision for concurrency, which is available now. And people used to ask before," what if I want lambda to be stateful?" What if I want to have some kind of continuity when the next lambda comes up? Now there is GFS support for lambda, which overcomes the limitations of a 15-minute timeout.
You can build systems that a lambda can process and keep some pointer for the next number to pick up from, and the next lambda can continue processing. So, every day there is improvement happening, which is addressing all those blockers. I think it's evolving rapidly.
Josh Proto: Things do change so quickly. That is an exciting thing to be in a space where there's so much energy and effort from different angles. I think it's going to be evolving. I'd say serverless is still very, very young. We are still probably pretty early in the whole adoption curve, as standard industry practices are considered.
Prashanth: The cloud adoption itself is probably less than 15%. Serverless still has a long way to go concerning adoption. The way I see it from probably a couple of years ago to now, I know a lot of uptick in adoption in the corporate world. Similar to large enterprises and startups, a lot of people opened up a word serverless. They are starting to explore this more and more. In some cases, there is pressure from investors to bring down the infrastructure's cost aspect and so on. Some investors are educated on serverless. They are kind of asking these hard questions to our startups and founders, like, why are you not on serverless? You could probably reduce some costs in infrastructure if we switch to Serverless. So, I see that many people are now looking at serverless very seriously compared to before.
When I started, all my friends had a lot of skepticism when I said; I would build this entirely on serverless. They were like, is it even possible. It's just clammed up; will you be able to manage to build a whole platform on it. So that skepticism is now gone because we have a lot more use cases available. Many big corporations and banks are opting to Serverless. The barrier is kind of getting lower and lower as we go ahead in this journey.
Talks to influence
Josh Proto Q: In this continually changing atmosphere, do you have any projects you're working on or things you're excited about trying out or playing with right now?
Prashanth: It's been a hard time for me in the code in the pandemic. The team is completely working from home to manage everything. So, I've been sidetracked a lot at this point. I started this community on discord for serverless enthusiasts, which has attracted many serverless people around the world like Jeremy Dali, and Chase. I am very excited about this because I see a community for serverless. You can instantly ask questions, get opinions of others about your approach, and generally talk about Serverless with other people who are enthusiastic about them. So that is something similar to serverless components with a little more abstraction with respect to other systems and other components in serverless, where people can readily use. Still, it's in the early stage, which I don't think is substantial enough to share in this form.
I got used to going to all the events like last year. I have not even kept counting how many events I went to, gave talks, and did workshops. This year has been quiet. I think that's one reason I kind of started the discord server to connect with other people as the conferences are not entirely reachable.
Josh Proto Q: Did you have a favorite talk that you would like to give in person, and did you find that it still comes across the same way via discord or online?
Prashanth: I think I always had a problem with the ability to connect with people online. I always felt like I am just looking at the screen all the time. It's a lot easier when you are physically presenting; I don't think any amount of tech can replace that. But at the same time, we have to come up with new ways to interact with others, and so on. So, I have not given any talk online. At this point, I've been working on serverless talk. Since I want to do it online, I'm thinking of making it more fun, a satire, comedy kind of a talk. I don't know how it comes out; I'm still writing down the script for that; I will probably let you know once it is out.
Moreover, sometimes it feels very bland, and not to have another person in front of you. It's when you're giving a talk in a real venue. Physically, you can connect with the audience; you can kind of gauge what they're thinking; you can set the pace for your talk based on how the audience is getting it. I have given the same talk in multiple ways, multiple places in a very different way based on the crowd and how loud it is receiving it. But that is kind of impossible to do online. That's like a significant shortcoming for the online talks.
Journey to AWS
Josh Proto Q: How did you become an AWS Serverless hero, and what does that mean to you?
Prashanth: It became a big surprise to me. Because I was just going out giving talks everywhere, as I believe in Serverless, one day received an email from the AWS team, asking whether you would like to be a serverless hero, which became a big surprise. So, it was a great honor to be a serverless hero; I did not anticipate that to happen to be so fast. It was a pleasant surprise at the time. I feel it amplified my ability to go around. Educating people about serverless, because of the recognition I got from AWS to open many more, gave us a lot more talks. I got invited by AWS for AWS dev day Bs, and I went there and gave a talk on full-stack serverless in Beijing. So, it was a huge addition or recognition for me from AWS.
It’s unclear what is the internal criteria for enabling AWS to pick people to give hero titles. Apart from the talks, I was also writing blogs about AWS amplify. I used Amplify to attract newcomers because it had low entry barriers to get in, people could just UCLA answer a few questions, and it auto-generates the APA for them and deploys the lambda for them so on. So, I was doing a lot of things during that time, and everything accounted for it.
Josh Proto Q: Are you using your articles on AWS Amplify as a tool for introducing people to Serverless, or do you have another method to show and give people?
Prashanth: I think Amplify is an excellent start because it has a shallow entry barrier. If you tell people to learn Sam or symbolism, it can be intimidating for beginners. So, amplifying kind of makes it look easy because it's highly opinionated, and it takes care of a lot of stuff for you in the beginning. I still would highly recommend going with Amplify for beginners. For a beginner, they must see some progress right in amplification; you get to see your APA deployed in no time. You can hit it with the postman, or if you are building a graph qL API, you can amplify apps in the console and try out queries, and you see things moving, things happening, which kind of encourages people to innovate more. I think that is why I prefer giving amplify as a prominent beginning place for people who are starting with serverless.
Josh Proto Q: Are there situations where Serverless leans more towards the organization team side than the tech stack, or are they always intertwined?
Prashanth: The dynamics of every organization are different and historic. The choices and everything also come into the picture in a typical organization. But I feel serverless allows more large teams to work independently a lot more than before because it enables nano services. It is not even micro because you are constructing smaller pieces of the puzzle of your entire system. It allows large teams to distribute work very well and work on things fast because they have less dependency on other teams. This enables them to quickly go to the market; they can ramp up the product fast. They don't need to worry about infrastructure and so on. There is no need to ask the DevOps team to give us some instances and boot up a new database.
So, I think that empowers the developers to take full advantage of Serverless. They can then rapidly develop the product that used to have lots of dependency on other teams and approvals, and so on. This creates an impact on the team and business. It is also a lot less resource-intensive because people are mostly focused on the business use cases than figuring out how to manage the infrastructure. It's very empowering for the engineering teams to fully control whatever they are building, which was not the case before because DevOps and developers were like completely two different entities back. With serverless, everything is in one person on one team's hand, and they can take advantage of that easily.
Also, it is making more and more engineers be fuller stack. Because conventionally, there's been this trend of, "Oh, I'm a back end engineer, I only do Python, back end code, Java, and stuff." There are, like many people, who say, "I only do react, I only do front end." DevOps is an entirely different team. I think Serverless allows people to become full-stack because they can now do everything in one place. It's not so intimidating like before. Furthermore, I see a significant uptick in more and more full-stack engineers in the industry now than before because of serverless.
Josh Proto: As someone who's also involved in hiring, the people who have more of that full-stack experience, at least with serverless, seem to be not attractive, but they have a different field of expertise that can be very helpful. It depends on the size of the organization. It's better to have Intune specialists on one end but full-stack developers on the other level.
Prashanth: I agree. There are some areas of technology where somebody who has a more in-depth understanding of how that works will never change. People like that will always be valuable.
Josh Proto Q: Do you have anything else you'd like to talk about or share before I let you get on with the rest of your day?
Prashanth: I just want to mention the Discord server which we have. One can join in by going to anstatt.io slash join SS. That's like a short link for the invite link for the discord server. I would love to have everyone there and continue the community work there and catch up with everyone.
Josh Proto: Fantastic. To those listening, this has been the Talking Circles podcast with Josh Proto. And thank you, listeners, for listening to me, Josh, and today I hope you join the discord, and we will see you all there. Have a good rest of your day.