Serverless development requires a fresh perspective of the software development lifecycle.
Serverless development has a steep learning curve and can take years to learn from scratch.
Add confidence to your projects by having dedicated Serverless Guru developer(s) on your team(s).
After filling out our form, we will contact your company to learn more about the initiatives you have running and how we can help either on the consulting front or having our developers integrated into your team.
Our team of serverless development experts will integrate into your team(s) and help you lay a strong serverless foundation through building patterns, services, and providing training around new use-cases.
At Serverless Guru, we help our clients build serverless APIs to power modern software applications. We will integrate into client teams to gather domain knowledge, create domain boundaries, and then develop IAC (Infrastructure as Code) and application code which allows for easily replicating environments that mirror production with dials to adjust expensive resource settings for development.
We help clients build serverless REST APIs by leveraging AWS API Gateway which is a fully managed service by AWS. We have an entire deep dive course on the topic which has over 800 students. The combination of our IAC (Infrastructure as Code) experience coupled with our deep application development knowledge means we can stand up REST APIs quickly.
Behind our AWS API Gateway REST APIs we will configure either service proxies to skip over some application code, reducing development time and overhead or we will setup AWS Lambda functions written in NodeJS or Python which will accept the request coming in and process accordingly.
Recently AWS came out with a new slimmed down version of AWS API Gateway which aimed to decrease complexity thus increasing developer productivity.
Our team has worked with clients to help build AWS API Gateway HTTP APIs or AWS API Gateway V2 APIs as well as migrate from AWS API Gateway V1 (AWS API Gateway REST APIs) to AWS API Gateway V2. Here is a link to an article we wrote about the migration process.
There are a lot of caveats that you need to be aware of when building AWS API Gateway HTTP APIs. Some are with the vocabulary differences and feature support, but a lot of them are hidden.
These hidden caveats are when it comes to automating the deployment of HTTP APIs where IAC (Infrastructure as Code) support can often be lacking from using AWS API Gateway REST APIs or v1 which is often considered the backbone of serverless applications on AWS because of how long it's been released and the support from IAC (Infrastructure as Code) frameworks like the Serverless Framework.
We help clients build serverless GraphQL APIs by leveraging AWS AppSync which is a fully managed service by AWS that has tight integrations with other AWS services such as AWS Lambda, AWS DynamoDB, AWS API Gateway, etc.
These tight integrations allow us to rapidly build GraphQL APIs while keeping our overhead minimal as we can do powerful things like remove backend code completely by leveraging VTL (Velocity Template Language) templates to directly proxy requests to our AppSync API to AWS DynamoDB or AWS API Gateway (for example).
This is powerful because we've abstracted away the NodeJS application code which typically sits behind our AppSync API or GraphQL API to process the request and either save it in a NoSQL database like AWS DynamoDB or forward to another API endpoint.
Meaning we save time on debugging, testing, etc. It's not always the best solution as complexity increases, but for simpler operations which undoubtedly every application requires we can shortcut the development process which keeps all of our focus on the application code which differentiates our products.
We also have experience creating what is known as Async API Gateway APIs which leverage AWS API Gateway REST APIs, but instead of an AWS Lambda function processing the request and following a request/response architecture where the client or frontend application is waiting for the request to process and return.
We will put SQS (Simple Queue Service) or leverage an AWS DynamoDB stream behind our API and immediately respond to the client or frontend application, then our queue or database stream will invoke an AWS Lambda function to process the request and store the result in our database.
The client or frontend application will listen for changes in our AWS DynamoDB table and when that change takes place it will immediately update the users view. By in large, this is a much better experience for the user because they don't have to wait for the request to finish and respond. While the request is processing they can continue using the client or frontend application and see the result of the processed request propagate in real-time without refreshing the browser.
This kind of architecture can be setup with both AWS API Gateway REST APIs and AWS AppSync for GraphQL APIs.
With AWS API Gateway REST APIs you would be leveraging a websockets connection and it typically requires a bit more low-level knowledge to implement.
With AWS AppSync for GraphQL APIs you can set up real-time connections ****by leveraging AWS AppSync Subscriptions which have a nice easy to use abstraction over websockets and requires less low-level knowledge compared to AWS API Gateway REST APIs. You can download our AWS AppSync Subscriptions Pattern with Serverless Framework by following the link.
There is a third way we will talk about here, which leverages AWS IoT MQTT to create real-time connections. MQTT is a pub/sub protocol where as websockets is an open connection which allows for bi-directional communication.
We wrote a multi-part series on building a Real-time ReactJS App powered by AWS IoT MQTT, here are links for part one and part two.
Offline APIs allow for your applications to be usable even when connection is lost. This is a key feature of many applications like Instagram where if the user starts uploading and their connection is lost it will pause the upload and finish uploading when connection is re-established automatically in the background.
We will help clients build offline APIs by leveraging AWS AppSync which has made building offline compatible applications much easier. Offline applications are by their nature complex and the abstractions that AWS AppSync has made both on the frontend and the backend really help make this more attainable than building from scratch.
adadadaddada adadadaddada adadadaddada adadadaddada adadadaddada adadadaddada adadadaddada adadadaddada adadadaddada adadadaddada
lajwdjaldladdlaadadadadad adadadadad adadadadadadadadadad adadadadad adadadadadadadadadad adadadadad adadadadadadadadadad adadadadad adadadadadadadadadad adadadadad adadadadad
adaadadaadadadaadadadadad adadadadad adadadadadadadadadad adadadadad adadadadadadadadadad adadadadad adadadadad
ajdwadadwdadadadadadad adadadadad adadadadadadadadadad adadadadad adadadadad
lajwdjaldladdlaadadadadad adadadadad adadadadadadadadadad adadadadad adadadadad
lajwdjaldladdlaadadadadad adadadadad adadadadadadadadadad adadadadad adadadadadadadadadad adadadadad adadadadad
lajwdjaldladdlaadadadadad adadadadad adadadadadadadadadad adadadadad adadadadadadadadadad adadadadad adadadadad
lajwdjaldladdlaadadadadad adadadadad adadadadadadadadadad adadadadad adadadadadadadadadad adadadadad adadadadad
adadadadadadadadadad adadadadad adadadadadadadadadad adadadadad adadadadadadadadadad adadadadad adadadadad
adadadadadadadadadad adadadadad adadadadadadadadadad adadadadad adadadadadadadadadad adadadadad adadadadad
adadadadad adadadadad adadadadadadadadadad adadadadad adadadadadadadadadad adadadadad adadadadad
lajwdjaldladdla
ajdwadadwdad
ajdwadadwdad
ajdwadadwdad
At Serverless Guru, we help clients with backend application development through integrating into client development teams or through clients hiring a few of our developers to act as the client backend team.
We typically build backends with NodeJS and Python leveraging AWS with a hyper focus on serverless solutions, increasing developer velocity while limiting operational overhead.
For some teams, serverless may be the more complex option, however Serverless Guru's average developer / architect has over 3 years of developing serverless applications on AWS which is rare and also means we have the tools, knowledge, and patterns to build quickly without spinning our wheels on what approach is best.
Adopting serverless like any new technology is a leap.
Your organization needs to adapt to the change in roles, responsibilities, technology, and new methods of building applications.
Don't just adopt serverless because it's new, maximize the power of serverless and build the future of your business.