Danilo Poccia is a Principal Evangelist of Serverless at AWS and author of “AWS Lambda in Action”. He is also an avid Serverless IoT/A.I. machine-learning content creator. In a recent conversation on the Talking Serverless podcast, Danilo speaks with Ryan Jones, founder and CEO/CTO of Serverless Guru, about observability, how language can be a barrier, and his experiences within the serverless industry.
Background + Culture
Ryan Jones: To start off, do you mind talking through how your journey began and what it’s kind of turned into?
Danilo Poccia: So just to give you an idea, I’ve worked within I.T. for my whole life. I think it was in 2011 or 2012 that I had access to the AWS environment. I was working for another company at the time and I said, “Wow, this is really much, much simpler than anything I’ve seen before.” So I stopped that work and began to work for AWS as a solution architect. I was doing lots of things but was still seeing that there was some complexity with customers, because when you build something large scale in the cloud you still need to manage so many configurations — and then I heard about this internal project that then became AWS Lambda. It came out December 2014 and for me that was really a moment that changed the way I think about software development. The idea was, “how to make it simple” and one thing that we always think in Amazon AWS is that you need to break up large complex stuff into smaller components. Using functions as the unit of computation of computers really follows this idea. But of course, at first the idea was not to use Lambda to build almost any application, but as a way to simplify some small recurring problems; then it grew so much out of that.
Q: Going back a bit to back to your career and how it started. What led you to being a solution architect?
Danilo Poccia: I’ve always liked helping people, you know? You work with someone, and then you see in their eyes that you are helping them achieve what they want to build. I enjoyed it so much, I almost did it for my entire career. When I joined AWS, it was such a small team. This was really the early stages of the cloud, but I started to see that I could make a different impact moving into a different role that was more trying to help developers understand the value of this cloud thing that was coming. And so I slowly transitioned into this role of “Evangelist” or “Developer Relations” — I think it’s one of these roles where nobody agrees with a single job title!
Q: How often have you all been translating new talks into different languages?
Danilo Poccia: We just ran an event here online, in Europe, and managed to translate it into five or six different languages. Sometimes when we do everything in English, we don’t think about how language could still be a barrier, especially for advanced topics. Our goal is to get developers speaking their local language. Currently I am much more used to speaking about technology in English. So when I have to translate, I have to rehearse everything and be prepared because everything that is technical in my brain is much more used to thinking in English. But I still like to contribute to the local team in Italy.
“Sometimes when we do everything in English, we don’t think about how language could still be a barrier, especially for advanced topics.”
Q: Playing off your current job role, being a Principal Evangelist, what does your day to day look like?
Danilo Poccia: Like anybody who is working with AWS (since we launch so many things), I normally spend the first hour in the morning trying to understand what we actually launched the day before. We work in the UK time zone so normally things happen very late in the evening, so I try to understand everything that has been launched — some stuff I know, some stuff is a surprise. Afterwards I try to do one-to-one communication with people on my team, then I do email, and check social media. Twitter is where I get people asking me questions, and giving me suggestions/tips, so that’s probably one of the most rewarding parts of my day. And then I focus on long term thinking which is normally building content in terms of simple application. I also focus on writing articles or blog posts that can really tell a story and help people understand the advantages of what we do.
Q: What type of challenges are you seeing common across different industries when it comes to serverless?
Danilo Poccia: When you start to move your serverless architecture into a little bit more complexity, into something more advanced than just the standalone mobile back-ends, for example, you start to see that you need to learn a lot of things all at once.
Q: You gave a talk with Sheen Brisals from Lego.com, about them moving to serverless. What was it like being involved in that process and were there any big takeaways?
Danilo Poccia: Oh, yes, because they use lots of AWS services and they give you feedback that really helps you to think about, “We need to add this feature, and we really need to add these so that it’s easier and easier to use.” Our write-up is 95% based on this kind of feedback that we get from customers. Working with Sheen was interesting too because Lego is one of my favorite companies while I grew up; and as a matter of chance, at AWS we often use the Lego building blocks analogy to explain how you can use services from a cloud provider and connect them together to build a more complex application. With Sheen I was really amazed by the things that they’re building, the whole e-commerce website for Lego is completely serverless. One of the things that I really was impressed by was the way they are moving into an event driven architecture; an architecture where the business logic of what they are doing inside this e-commerce website is driven by the events from the different modules and drivers changing the state of, for example, an order. Of course, you don’t want to completely change an entire architecture without a business reason. So they are working to replace the architecture when they get the opportunity and as they are doing so, they are simplifying it. And I would say that probably this is really a general topic for serverless: every time you help to simplify an architecture, it’s a step closer to being more serverless.
Q: When it comes to observability, are there any tools or things that you recommend for people to either alert off of or just have insight into no matter what their application is?
Danilo Poccia: I focused some of my recent content on observability, because when you build something serverless it’s easy to have lots of components that interact with each other and you need to have tools that give you full observability of what is happening in your application and if there is a problem. Right now there are probably three pillars of observability: Tracing with logs, metrics, and tooling. Tracing with logs you get to know the information from this software modules; with metrics you get something more quantitative, a lot about what you’re doing in terms of infrastructure usage and business usage. For tooling there is lots of choice, in AWS we’re lucky we have some amazing partners that build amazing tools . Cloud watch, for example, is a great platform for logging metrics, for analyzing logs, and for centralizing everything so you see the flow. This is the kind of tooling that you need, and we are working here at AWS with our partners to make it easier and easier.
“Every time you help to simplify an architecture, it’s a step closer to being more serverless.”
Q: What are you seeing in terms of “serverless” in 2020?
Danilo Poccia: Every year we’re seeing that things that were complex to do the year before, are now easier. So for this year the things that I’m focusing on and I’m currently working with is machine learning. I’m more focused now in the inferences space; so when you have a trained machine learning model that does a prediction, how do we serve this prediction in an easy, scalable and low cost way. I’ve seen a few customers move their entire workload to Lambda for the machine learning inference in order to serve the machine learning model. So I suspect machine learning is something that is going to grow in the next few years. Another thing that I’m interested in now is networking. The networking of serverless application will become more complex, and every time something becomes more complex, we have to find a way to make it simpler again.
Q: When you think about how people build applications in 2020, do you encourage them to start with serverless and then decide whether their use case needs something different?
Danilo Poccia: I think that serverless can really help, especially in the initial phase, when you need to build the core idea of the programs you want to build. That’s why I strongly suggest think serverless! In my view serverless is not an off/on switch. It’s not, “Ok, Lambda is serverless and anything else is not.” I think serverless means reducing your exposure to operational complexity. And that’s why I suggest as the first choice and we have lots of customers that after they get these benefits, they start to work in this way. Serverless is the first choice, and then if the customer sees that for a specific use case they don’t have the experience or it’s too complex, then they move into a more traditional architecture.
To hear the full interview, please visit talkingserverless.io, or check out the podcast on iTunes, Spotify, or Google Podcasts
Talking Serverless Podcast
In the Talking Serverless podcast, we dive into the world of serverless and talk to people in and around the space who are making contributions to the industry at large.
Our host is Ryan Jones the Founder of the Serverless Guru consultancy.