Why Go Modern

Mandy Ferrari
tesera
Published in
5 min readJan 6, 2017

Serverless. Modern.

Today, users expect more from their technology. They want fast, effective, easy to use applications that allow them to ignore what is behind the scenes. Enterprises want to be able to achieve this at a low overhead cost, with easy setup and low maintenance.

As a result enterprises are getting rid of the heavy, slow stacks from the past and increasingly using javascript and other modern web technologies, going serverless and to the cloud, and overall simplifying their applications and workflows. By combining serverless architecture with a modern web stack, applications are faster to build and easier to run and maintain.

Pay Only for What You Use

Only pay for what is in use and pay nothing for idle computing power. This is in stark contrast to using servers, which means expensive bills for hardware, power, cooling, maintenance and maintenance staff.

Don’t Worry About Traffic Spikes

Don’t worry about high traffic volumes causing performance issues or outages. Autoscaling can handle traffic spikes without needing to purchase any additional servers. If a website or application suddenly sees a spike in popularity, this is handled seamlessly by the resource provider.

Save Resources for High Value Activities

Why create racks of servers or manage compute power, storage, security, server software, operating systems, updates, and maintenance? These are all costs with zero benefit to your business case and no competitive advantage.

Simplified Application Development

Create completely unique, custom applications fast. By either creating a client side only web application or by having functions available to be called in a stateless compute container (Functions as a Service, or FaaS) it is now simpler to get an application running from start to finish.

Deployment also becomes simpler. Back end code can run without directly managing servers or server applications. The developer can write code in whatever language they are most comfortable with because service providers support multiple coding languages. In addition, multiple functions can be chained together and functions can be reused across applications. When coupled with a modern web framework there are immense benefits with little effort. There are many available libraries, frameworks, and templates ready to be used out of the box.

The Most Computing Power

Access to large amounts of computing power is just a couple of clicks away. Gone are the days when many high-end, expensive servers need to be purchased to achieve high computing power. Many cloud providers offer the highest levels of computing power available to anyone in need. There is no set-up, and again, the service provider only charges for what is in use. The cloud provider’s computing servers are always being updated, so there is always access to the latest and greatest technology without having to perform any tedious updates.

No More Downtime

One of the key benefits of serverless architecture is no downtime. Multiple instances can run in parallel, so if any updates are needed they can occur at different times to ensure continuous service. Power loss and server maintenance will not affect an application’s uptime.

Low Cost. Scalable. Eco Friendly.

When creating modern web or mobile applications, removing the server from the equation allows for countless benefits while reducing the headaches of setting up and maintaining internal servers. Some of those benefits include paying only for what resources are in use, scalability, simplified development, access to the most computing power, and no more downtime. Following is a case study on how we at Tesera have made serverless work for us.

Case Study

Home page of fire assessment tool

Wildfire Recovery Meets Amazon Web Services

This case study highlights several of the advantages of building applications using modern methods and frameworks. Tesera was able to complete the development, deployment, and testing of firemap.rmwb.ca in approximately seven days. The application handled 832,571 page views over 342,137 sessions with 168,375 unique users. While those numbers are significant, most of the load came in an approximately four hour period on May 19th after the application was announced and was extensively shared via social media. The busiest period served approximate 16,000,000 asset requests within a one hour period. The application had zero downtime and cost less than a thousand dollars in “hardware” even though it served many terabytes worth of imagery data. Had Tesera purchased and set up a rack of servers capable of handling a similar task the cost would be upwards of ten times higher, excluding human effort. Being modern enabled Tesera to innovate quickly, produce something users liked, and minimize operational costs.

Building the Tool

A fast, open source, cloud enabled team (Regional Municipality of Wood Buffalo, Tesera Systems, Pictometry and Better) quickly formed and began to design and build the Fire Assessment Tool. Acquiring up-to-date data was an immediate requirement. Pictometry quickly mobilized and got planes in the air to collect oblique imagery. Meanwhile, the Tesera team initiated work to create a fire map viewer and fire reporting tool, using the imagery to provide homeowners with the capability to assess the potential impacts of the wildfire on their homes. Tesera anticipated initial high demand for the tool from residents and curious onlookers alike, and as a result designed and built the tool to handle near infinite scale. The application design was kept simple and serverless to ensure rapid response time targets.

Serverless Innovation

Tesera leveraged Amazon Web Services (AWS) CloudSearch and API Gateway to create an extremely responsive and flexible address lookup API. Lucene syntax and term ranking ensured that residents would find their home address easily. A simple API endpoint using AWS DynamoDB and API Gateway was created to retrieve additional attributes about home properties. This also gave Tesera the ability to expand the application without re-indexing the search engine. With this in place, a number of simple harvesting scripts were set up to pre-fetch all required assets from existing ArcGIS Services and the Pictometry Gateway API, placing everything on AWS S3 and putting it behind AWS Cloudfront Distributions. Avoiding dynamic load means this application can go viral without the end-users noticing any slowdown.

The Result

A Tool in a Week

The FIRE ASSESSMENT TOOL went from concept to implementation within seven days demonstrating the power of a lean development approach deployed on AWS.

--

--

Mandy Ferrari
tesera
Writer for

Systems Engineer at Tesera Systems Inc. Full stack developer, animal lover, fitness enthusiast.