Auld Lang Servers

Adam Johnson
IOpipe Blog
Published in
8 min readJan 17, 2019

--

A Serverless Year in Review

Should auld deployments be forgot,
And servers put to rest?
Should auld containers be tossed,
And devs do what they do best?

With 2018 rapidly fading below the horizon, we’ve taken some time to reflect on our hard-working year, the overall state of serverless, and how these changes impact the experience of our favorite people — the developers.

Tracing growth in serverless over 2018

To set the stage, the overall adoption of serverless gained considerable velocity this year. Developers from both large enterprises and smaller agile outfits are increasingly viewing serverless frameworks as a viable source to deploy their functions.

According to The New Stack’s 2018 Serverless Survey, 50 percent of respondents said their organization is already using serverless architecture, and 28 percent are planning to start in the next 18 months. In addition, 32 percent said more than a quarter of their organization’s app workloads use serverless architectures.

Likewise, in the 2018 Serverless Community Survey, the percentage of respondents who use serverless in some capacity at work nearly doubled, jumping from 45% in 2017 to 82% in 2018.

At AWS re:Invent, serverless took centerstage with Amazon CTO Werner Vogels announcing several Lambda releases including Lambda Layers.

Amongst our own users, we saw a 50x increase in weekly invocations this year, including a rise in critical workloads relying on serverless invocations.

IOpipe’s 2018 milestones

As an engineering-led company, our collective purpose is to make it more fun to be a developer. This is core to our beliefs and influences every decision we make as we continue to build tools to empower

Raising a seed round this year with our great investors and innovation partners — Boldstart, Madrona Venture Group, NEA, Storm Ventures, Correlation Ventures, Struck Capital, Underscore VC, and Las Olas VC — our team focused on shipping things that would empower developers to spend more time building and less time debugging their serverless functions.

With this in mind, here are the major IOpipe highlights from 2018 (click for more detail):

January: Python 1.0, Profiler, PagerDuty integration

February: Java 1.0, Pluggable libraries

March: Search

April: Event info (auto context about trigger sources), robot.bingo

May: Labels

July: Golang, CTO Erica named AWS Serverless Hero

August: AWS Marketplace

September: Auto-Tracing

November: Lambda Layers, AWS re:Invent

December: Aggregated traces, major redesign of Functions page.

2019: Looking ahead

Observability for AWS Lambda functions running in Python and Java
Right at the start of 2018, our team launched two major releases to IOpipe, enabling full visibility into serverless functions running in Java and Python. While Node.JS and Python are the most popular in terms of overall usage, Java expanded our ability to be integrated into enterprise serverless architectures.

The most exciting part of this update is that we were able to release these new languages with full feature parity with the core agents for our other supported languages.

Profiler
Knowing the CPU usage of your org’s AWS Lambda functions isn’t just critical for diagnosing problems — it can also influence cost and scaling of your apps. Our profiling data feature released this year shows if you need to push up [or pull down] the CPU allocation for your function, which can help save money or show you where your AWS Lambda application needs to scale.

On your IOpipe dashboard, you’ll see a download link for a file that, when loaded into Chrome DevTools, presents a flame graph representing the CPU statistics for each label you have set. At a glance, you’ll be able to determine which part of your AWS Lambda functions take the most time and CPU.

Alert: New PagerDuty integration
Nobody likes implementing a whole new set of tools when moving to a new architecture. Keeping that in mind, we added PagerDuty integration to our alerts, enabling developers using PagerDuty to be contacted with IOpipe alerts and alarms for their AWS Lambda functions.

Search: Finding the needle in the invocation haystack
While many of our users find our performance monitoring dashboards valuable for ensuring quality of service at the function, app, or project level, what do you do when you need to drill-down on a specific invocation?

When seconds count in the debugging process, our Search feature helps developers find exactly what they’re looking for — before it becomes a major problem.

Put a Label on it
Sometimes you want to just tag an invocation — make it easily sortable and identifiable in the larger view of your serverless application. Our Labels feature lets developers identify invocations that they want to group together later in their IOpipe dashboard, simply by applying a label to the invocation in their code.

Let’s say you have an “email sender” Lambda function, for example. Looking through a table of invocations, it’s impossible to discern which invocations sent emails successfully or not, — all invocations look the same in the table. By using labels, you can specify the status of the lambda sent to make it easy to scan invocations in the invocation table for data.

IOpipe co-founder and CTO named AWS Serverless Hero
This summer, AWS launched their serverless hero program with IOpipe co-founder and CTO Erica Windisch named to the inaugural class.

Erica is a champion of AWS Lambda and serverless technologies — she sees them as an evolution of the developer and business experiences that enable rapid innovation. She speaks frequently at conferences about AWS Lambda and other AWS solutions. She’s passionate about systems architecture, security, and the future she sees for machine-automated, low-code development.

IOpipe added to AWS Marketplace
This year, IOpipe was officially launched on the AWS Marketplace. Now, Lambda users can sign up directly through AWS to get a get a detailed look at what their code is doing, while it runs, for lightning fast debugging and iterating.

Auto-Tracing for HTTP/S calls
Tracing provides critical insight into the performance of AWS serverless functions. It tells developers when tasks, both inside and outside an app, are taking too long and slowing down serverless applications. However, this metric can be time-consuming and difficult to implement; figuring out where to put, start, and end traces is a task upon itself (though well worth it), and then you have to instrument your code to match.

In September, our team launched IOpipe’s Auto-Tracing feature for our Node.JS and Python agents, enabling developers to automatically trace one of the more common causes for performance issues in serverless applications — HTTP/S requests. When configured for a specific function, users now receive automatically-generated traces of all of your HTTP/S requests like the invocation below:

AWS Lambda Layers launch partner
In November, we became an official launch partner for AWS Lambda Layers. Lambda Layers allows developers and operators to add and enable the IOpipe libraries to your Lambda functions without directly modifying your application source code, or even redeploying your code.

Featured in Amazon CTO Werner Vogel’s re:Invent keynote (see below), IOpipe’s new integration with layers simplifies the launch process and reduces the overhead required for enterprises to gain full insight into the performance of their serverless applications. This new release reduces overhead, complexity, and risk for developers adopting serverless architectures in 2019.

Updating the IOpipe libraries becomes as simple as an API call, or updating your Cloudformation stack. It also makes it painless to audit which functions are running IOpipe and utilizing the latest version of our libraries.

Read more about using AWS Lambda Layers here.

Deploying “Glambda” at AWS re:Invent
This year’s AWS re:Invent was a major highlight for our team. Not only were we featured in the keynote from Amazon CTO Werner Vogels, but we also had the opportunity to talk face-to-face with many of our users to learn more about what they need in 2019 to make their lives better.

Other conference highlights included Erica leading two technical sessions, “Beyond DevOps: Accelerating Organizational Agility with Serverless,” and our team deploying limited edition bottles of ‘glambda’ nail polish swag at our booth in addition to our latest product release.

2018 AWS re:Invent CTO Werner Vogels keynote featuring IOpipe

Looking ahead: Making it even more fun to be a developer in 2019
As serverless continues to grow in adoption amongst core developers, we’re also seeing an increase in critical workloads at larger enterprises utilizing serverless functions.

In other words, serverless use cases are both expanding and deepening amongst our customers and the community-at-large.

At IOpipe, we’re excited to spend this year catalyzed around our simple vision: Making it even more fun to be a developer in 2019.

That’s it.

To provide the serverless dev tooling that achieves this goal, we’re focusing on the following areas as a company.

  1. Making observability easier to integrate and standardize across the enterprise

Both enterprise users and independent developers deserve serverless observability right out of the gate. Whether they’re building a net new application on Lambda or they’re executing a complex lift and shift, the last thing they need to worry about is whether they’ve set up the correct alerts.

While IOpipe already has a quick getting started process, we’re working to make it even easier to implement and manage observability across large teams with hundreds of functions. This means more developers can spend less time debugging, and more time building in 2019.

2. Users ≥ CEO

In 2018, we learned a lot from our IOpipe users. Afterall, they’re the ones in the trenches implementing serverless architectures and building complex applications on Lambda.

Thankfully, they take the time to consistently interact with us on our community Slack channel, which we use to map new features and learn about their challenges and wins on a daily basis.

In addition to driving new releases, one thing we’ve heard from our users is that they want a place to share best practices, use cases, and technical tips to help any developer or engineering leader evaluating or building on serverless.

This year, we’re going to expand our IOpipe blog to share even more resources and serverless stories to help fill that knowledge gap.

Thank you to all of our users. If you’re not already engaged with us on Slack, please be sure to stop by our community channel and say “hi.”

3. Bricks, clicks, and serverless: Retail and media forge ahead in serverless (but everyone else is catching up)

It’s no secret. Retailers have been early adopters in serverless. With their seasonal traffic spikes and competitive category, they’re always looking for ways to deliver a better customer experience with minimal disruptions and save money in their engineering budgets.

In 2018, we saw a number of retailers rely on serverless applications for their primary eCommerce properties through Black Friday and Cyber Monday. As a result, retailers planning to shift even more of their workload to serverless in 2019.

Likewise, whether scaling to meet unpredictable user demands for top stories or dealing with tons of data processing for personalized content recommendations, media has been an early adopter of serverless.

However, other traditional industries are catching up. Financial services, adtech, logistics, and even energy companies are building on serverless. For example, Capital One talks about migrating their Credit Offers API to serverless in 2018 . While many banks were traditionally anti-public cloud, they’re now finding critical use cases within fraud detection, mobile banking, and account monitoring and recommendations.

As always, we deeply appreciate our users, team members, investors, and partners.

If one of your New Year’s resolutions is spending less time debugging your serverless functions in 2019, sign up for a free trial of IOpipe today.

--

--