The Adobe I/O Team Shares Key Takeaways from Serverlessconf ‘18
Serverlessconf is an opportunity to come together as a community of developers and talk about where we’re at and where we’re heading in the serverless landscape. Adobe I/O is itself deeply involved in the future of serverless architecture; we’re building our own platform on top of Apache OpenWhisk, called Adobe I/O Runtime, which allows you to quickly deploy custom code on top of our own cloud solutions (running in close proximity to the content and data you already have stored with Adobe). So, it should come as no surprise much of the Adobe I/O team was there in San Francisco at the conference.
Now that Serverlessconf has ended, we’ve pulled the team together again to share everything you may have missed from Adobe I/O at the conference, and asked them for some of their biggest takeaways from the event this year.
Less is more: Put serverless in your servers
Tyson Norris, a senior computer scientist at Adobe, took the mainstage to speak to attendees all about how Adobe I/O Runtime differs from the existing serverless systems out there. For one, he says, customers get a custom solution that provides smoother provisioning processes, streamlined integrations with Adobe services, and better app development scaffolding utilities. I/O Runtime is also built on Apache OpenWhisk, which Adobe continues to champion as a pillar of its commitment to open source development.
At Serverlessconf, Tyson really noticed how young the industry truly is. There are not a lot of productized (or product-specific) serverless environments, and this represents a major opportunity for developers interested in the space.
“Serverless development practices and tooling are in their infancy. We should expect (and drive) some paradigm shifts with these to go along with the basic execution functionality, especially in creative workflows,” said Tyson. He also observed new security approaches, in use for cloud tools, that will make customer-facing (function-developer) security implementations better for customers and operators alike.
AI, serverless, and the changing role of the software developer
Dragos Dascalita Haut, Adobe I/O’s project lead of software development, also spoke, focusing on what happens when you bring AI and serverless architectures together. He shared his experiences, and stressed a developer’s need to rethink their own role in development, transitioning from micro-managers (telling computers what to do step-by-step) to teachers, who assist computers in learning.
“The code alone is not sufficient anymore, and if the past decades were spent producing tools to handle the code better, now there’s something more abstract than code, shaped in a human-unfriendly language called ‘model,’ entangled with the code,” he said.
Dragos said he’s most interested in how serverless architectures make it easier to manage this new approach, and he spoke with attendees about his experience deploying AI applications and building complex AI workflows with FaaS solutions. “Bring AI and Serverless together and you create a new world in which what you thought you knew about software may need to be adjusted,” he said.
At Serverlessconf, Dragos was also taken by the idea of thinking ‘serverless first’ when implementing new ideas, then after implementation, thinking further about running it in containers or leaving it as a function. “I think this is a simple process for adopting serverless that seem to promise the fastest time to market for an idea.”
More key Serverlessconf takeaways and how the Adobe I/O team is incorporating them
Here’s more of what Adobe I/O team members learned at Serverlessconf, and how they plan to integrate their discoveries into their own work at Adobe:
- Containers vs. serverless. It’s interesting that this gets presented as “either/or” when theoretically they could be used together. Serverless is not just about scalability, but about async/event-driven/distributed microservice architecture (which is not encouraged nor facilitated by containers) ~ Mihai Corlan, Sr. Product Manager
- The target audience for the presentations was primarily function/action developers. Since serverless is a new model, there’s still a lot of education on what to/what not to do when writing functions/actions. This includes areas like: Designing code for the serverless mode; Security considerations, such as scanning for dependent modules with vulnerabilities; Debugging ~ Nick Halbakken, Sr. Engineering Manager
- I truly enjoyed a session by Azure talking about the challenge of programming in a serverless mindset (think async first and stateless). With current Runtime users, this seems to be a common challenge for people new to serverless. It inspired me to include it in the documentation as well as spin-up related workshops ~ Sarah Xu, Developer Evangelist
- My key takeaway from it was that DevOps needs to become the development of operation; it won’t last long if it draws the line between development and operations. The developer’s focus should be on developing their individual pieces, with DevOps taking these pieces and ensuring that they flow in a CI/CD pipeline. DevOps acts as a supporting hand to development, making developers’ lives easier by giving them ability to test their code with each check-in, benchmarking the system, defining system usage, and seeing how we can improve the system according to varying needs. Collaboration with developers and QE is the key to success for DevOps ~ Shikha Chawla, senior DevOps engineer