Welcome!

Related Topics: @DevOpsSummit, Containers Expo Blog, @CloudExpo

@DevOpsSummit: Article

Choosing a #Serverless Architecture | @DevOpsSummit #DevOps #AI #Docker

In the future, some applications will be entirely serverless, especially if the price point is better than cloud-based instances

What to Look for When Choosing a Serverless Architecture
By Sunil Mavadia

Information Technology has advanced in different areas at different speeds. This has always been true, as people found workable solutions to the problems that faced them today, most often before there was a market for those solutions. While things like virtualization and eventually cloud computing grew slowly, programming languages sat at the same point for around a decade before the current round of new languages and approaches—Python, Ruby, Node, Swift—came about. These things seem unrelated, but there is a union of the two sets of changes that we are about to see blossom.

That union is serverless computing. The joining of easily deployable instances–ultimately in the form of containers–with the ubiquity of REST-based APIs and the new programming languages that made REST-based APIs an easy and viable option. These technologies combined have created a new and different form of computing. While much of it is familiar (we know how to do REST, and we know how to do microservices), some of it is not.

Learning from Node.js
My very first Node.js program was probably not a lot different from most people’s. I set up listening on a port and path, wrote some code to execute-and-exit, and then used a browser to hit the full URI. Once it did what I wanted it to do, of course I started playing with ways to take advantage of Node’s parallelism and other features that the language brought new or made easier to use.

That first app was not a REST API, it was a simple HTML response to a request. A dynamic web page that changed as I required. But combined with REST, Node becomes an endpoint. And still, it executes when a call comes in, and except for the part of the infrastructure listening to the port, it exits.

The Infrastructure Wall
But in order to get a simple Node application (or Python/Django, or Java/Spring, or RoR, or…) to run, there is network configuration, firewall configuration, OS configuration and hardening, storage configuration, if you’re using a Web App Firewall (you should be for web apps), then WAF configuration… DevOps makes all of this easier, for certain. But what if you didn’t need to do any of this at all?

A Serverless Architecture
That is precisely what a growing list of companies are proposing. What, they posit, if a developer could write code, deploy it, and have it there when needed, not doing anything when not needed, and be as scalable as required? What if the configuration of things like WAF was automated, and the code could be limited for accessibility to just the right subset of people/machines? What if deployment really was as simple as uploading a zip file, or writing code in an editor and hitting “deploy”? And finally, what if things like database and storage access came pre-configured so you could just include them?

The appeal for developers is obvious. To be able to write code and deploy it without the previously necessary (whether physical, virtual, or cloud) operations procedures is many a developer’s dream. But there are some real-world use cases that spring to mind also. The first is the bottleneck functionality during peak periods. Let us assume you have an online order system and that it suits your organization perfectly. But during peak sales periods (Black Friday, for example), address validation takes too long and constantly bogs the system down.

What if you could spin address validation out to a serverless function that would take an address and return whether it was valid or not. And the function could scale at a rate that allowed for practically unlimited scalability? (You do still have to worry about network bandwidth–sorry.) Suddenly, your bottleneck is less of a problem, and you’re only paying for the time that your validation function is actually using. Meaning the more deliveries you’re making, the more you pay, but when you’re not making a lot of deliveries, you’re not paying a lot.  You’re only paying for what you’re using.

What if all of this could be done on your site or in the cloud, and for a price that was affordable? The products out there today (including Microsoft Functions, AWS Lambda, and nanoscale.io) offer all the above.

It’s Not All Rainbows
But there is always a catch. Things you want to watch for when choosing a serverless architecture vendor are:

  1. Tool support. Support for your development tools, particularly your CI/CD/ARA tools, is critical. It does you far less good if you can’t integrate serverless into your existing Dev environment and your pipeline for that matter.
  2. Charges and fees. Never forget that these are businesses same as you. Their goal is to make money. Yours should be to make sure you understand how much of that money they make is coming out of your budget. All things on-demand have a bit of fudge factor because they depend on the vagaries of usage by an unpredictable customer base. But understand what your organization will be charged for and what rights to change those charges the vendor reserves.
  3. Security functionality. Divorcing a chunk of code from the core of the application and putting it out in the cloud can mean a hefty investment in securing just that one bit of code. Make certain your vendor of choice either offers help in this area or allows you to keep the code behind your firewall and WAF.
  4. Your overall architecture. While our example above is a good illustration of “low hanging fruit,” more complex cases can run into problems of data access, data security, cost concerns, and even uptime concerns. Make certain your team has taken a good look at what to make serverless and that it will be well served by this method of computing.

Building the Right Application
In the future, some applications will be entirely serverless, particularly if the price point works out to be better than cloud based instances. But even if it doesn’t, there will be cases where the lack of infrastructure configuration is worth the cost. Meanwhile, look to serverless as a solution to bottlenecks that are caused by individual functions, and see if they can increase your applications’ capacity without increasing your infrastructure budget by more than is necessary. In the end it’s about the right selection of services to achieve the goals, and serverless offers another tool in the IT pack to solve problems.

The post What to Look for When Choosing a Serverless Architecture appeared first on XebiaLabs.

More Stories By XebiaLabs Blog

XebiaLabs is the technology leader for automation software for DevOps and Continuous Delivery. It focuses on helping companies accelerate the delivery of new software in the most efficient manner. Its products are simple to use, quick to implement, and provide robust enterprise technology.

Latest Stories
"ZeroStack is a startup in Silicon Valley. We're solving a very interesting problem around bringing public cloud convenience with private cloud control for enterprises and mid-size companies," explained Kamesh Pemmaraju, VP of Product Management at ZeroStack, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
In his session at 21st Cloud Expo, Carl J. Levine, Senior Technical Evangelist for NS1, will objectively discuss how DNS is used to solve Digital Transformation challenges in large SaaS applications, CDNs, AdTech platforms, and other demanding use cases. Carl J. Levine is the Senior Technical Evangelist for NS1. A veteran of the Internet Infrastructure space, he has over a decade of experience with startups, networking protocols and Internet infrastructure, combined with the unique ability to it...
"Codigm is based on the cloud and we are here to explore marketing opportunities in America. Our mission is to make an ecosystem of the SW environment that anyone can understand, learn, teach, and develop the SW on the cloud," explained Sung Tae Ryu, CEO of Codigm, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
High-velocity engineering teams are applying not only continuous delivery processes, but also lessons in experimentation from established leaders like Amazon, Netflix, and Facebook. These companies have made experimentation a foundation for their release processes, allowing them to try out major feature releases and redesigns within smaller groups before making them broadly available. In his session at 21st Cloud Expo, Brian Lucas, Senior Staff Engineer at Optimizely, discussed how by using ne...
"CA has been doing a lot of things in the area of DevOps. Now we have a complete set of tool sets in order to enable customers to go all the way from planning to development to testing down to release into the operations," explained Aruna Ravichandran, Vice President of Global Marketing and Strategy at CA Technologies, in this SYS-CON.tv interview at DevOps Summit at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"There's plenty of bandwidth out there but it's never in the right place. So what Cedexis does is uses data to work out the best pathways to get data from the origin to the person who wants to get it," explained Simon Jones, Evangelist and Head of Marketing at Cedexis, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"Cloud Academy is an enterprise training platform for the cloud, specifically public clouds. We offer guided learning experiences on AWS, Azure, Google Cloud and all the surrounding methodologies and technologies that you need to know and your teams need to know in order to leverage the full benefits of the cloud," explained Alex Brower, VP of Marketing at Cloud Academy, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clar...
Large industrial manufacturing organizations are adopting the agile principles of cloud software companies. The industrial manufacturing development process has not scaled over time. Now that design CAD teams are geographically distributed, centralizing their work is key. With large multi-gigabyte projects, outdated tools have stifled industrial team agility, time-to-market milestones, and impacted P&L stakeholders.
Gemini is Yahoo’s native and search advertising platform. To ensure the quality of a complex distributed system that spans multiple products and components and across various desktop websites and mobile app and web experiences – both Yahoo owned and operated and third-party syndication (supply), with complex interaction with more than a billion users and numerous advertisers globally (demand) – it becomes imperative to automate a set of end-to-end tests 24x7 to detect bugs and regression. In th...
Enterprises are moving to the cloud faster than most of us in security expected. CIOs are going from 0 to 100 in cloud adoption and leaving security teams in the dust. Once cloud is part of an enterprise stack, it’s unclear who has responsibility for the protection of applications, services, and data. When cloud breaches occur, whether active compromise or a publicly accessible database, the blame must fall on both service providers and users. In his session at 21st Cloud Expo, Ben Johnson, C...
"Infoblox does DNS, DHCP and IP address management for not only enterprise networks but cloud networks as well. Customers are looking for a single platform that can extend not only in their private enterprise environment but private cloud, public cloud, tracking all the IP space and everything that is going on in that environment," explained Steve Salo, Principal Systems Engineer at Infoblox, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Conventio...
Data scientists must access high-performance computing resources across a wide-area network. To achieve cloud-based HPC visualization, researchers must transfer datasets and visualization results efficiently. HPC clusters now compute GPU-accelerated visualization in the cloud cluster. To efficiently display results remotely, a high-performance, low-latency protocol transfers the display from the cluster to a remote desktop. Further, tools to easily mount remote datasets and efficiently transfer...
"Akvelon is a software development company and we also provide consultancy services to folks who are looking to scale or accelerate their engineering roadmaps," explained Jeremiah Mothersell, Marketing Manager at Akvelon, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Agile has finally jumped the technology shark, expanding outside the software world. Enterprises are now increasingly adopting Agile practices across their organizations in order to successfully navigate the disruptive waters that threaten to drown them. In our quest for establishing change as a core competency in our organizations, this business-centric notion of Agile is an essential component of Agile Digital Transformation. In the years since the publication of the Agile Manifesto, the conn...