{"id":10564,"date":"2018-09-14T15:38:18","date_gmt":"2018-09-14T12:38:18","guid":{"rendered":"https:\/\/railsware.com\/blog\/?p=10564"},"modified":"2025-07-25T17:15:44","modified_gmt":"2025-07-25T14:15:44","slug":"the-future-of-serverless-architecture","status":"publish","type":"post","link":"https:\/\/railsware.com\/blog\/the-future-of-serverless-architecture\/","title":{"rendered":"The Future of Serverless Architecture"},"content":{"rendered":"\n<p class=\"intro-text\">Connectivity, productivity, digitality, and simplification have been shaping the leading technological trends for the last several years. These tendencies determine the growing popularity of various cloud services, and software architecture is also moving to serverless.<\/p>\n\n\n\n<p>Even though much has been said and written about the serverless cloud computing, the number of discussions is steadily growing: just google \u201cserverless conference 2018\u201d, and you will get a list of at least fifteen events you can\u2019t miss this year.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft\"><img loading=\"lazy\" decoding=\"async\" width=\"2400\" height=\"1260\" src=\"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2018\/09\/Serverless-Illustration.jpg\" alt=\"Serverless Architecture\" class=\"wp-image-10609\" srcset=\"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2018\/09\/Serverless-Illustration.jpg 2400w, https:\/\/railsware.com\/blog\/wp-content\/uploads\/2018\/09\/Serverless-Illustration-360x189.jpg 360w, https:\/\/railsware.com\/blog\/wp-content\/uploads\/2018\/09\/Serverless-Illustration-768x403.jpg 768w, https:\/\/railsware.com\/blog\/wp-content\/uploads\/2018\/09\/Serverless-Illustration-1024x538.jpg 1024w\" sizes=\"auto, (max-width: 2400px) 100vw, 2400px\" \/><\/figure><\/div>\n\n\n<h2 class=\"wp-block-heading\">What is serverless computing?<\/h2>\n\n\n\n<p>First of all, let\u2019s define what serverless technology is.<br>Serverless processing, compared to the overall cloud computing which arose in the early 1960s, is still an immature technology, and is tricky to define exactly.<br>According to MartinFowler.com, <em>\u201cserverless architectures refer to applications that significantly depend on third-party services (known as Backend as a Service or \u201cBaaS\u201d) or on custom code that\u2019s run in ephemeral containers (Function as a Service or \u201cFaaS\u201d)\u201d.<\/em><\/p>\n\n\n\n<p>Apparently, serverless FaaS is the next step after microservices. Notwithstanding the name, serverless applications&#8217; code still runs on servers. That\u2019s why many authors note that \u201cserverless\u201d is actually a misnomer.<\/p>\n\n\n\n<p>The difference is that compute containers are fully managed by a third party.<br>This approach lets developers stay focused on writing algorithms while service providers take care of deploying those web, mobile or IoT applications\u2019 code to the cloud.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Serverless architecture use cases<\/h2>\n\n\n\n<p>For a better understanding of opportunities, strong and weak points, let&#8217;s appeal to typical applications of serverless computing.<\/p>\n\n\n\n<p>A couple of years ago, images processing, video content and social networking were named the early frontrunners in serverless computing use cases. Whether you need to dynamically resize images, change video transcoding or cognitively analyze data on pictures taken by drones, a serverless application could be a good option.<\/p>\n\n\n\n<p>IoT data processing is definitely a \u201ctrendy\u201d field. When it comes to obtaining data from sensors, sending it to the cloud, processing and sending back to the particular device, the event-driven serverless approach makes things easier. The scalable nature of serverless computing makes it an ideal foundation for deploying <a href=\"https:\/\/yalantis.com\/expertise\/iot-services\/\" target=\"_blank\" rel=\"noopener\" title=\"\">iot services<\/a> at any scale without infrastructure management overhead.<\/p>\n\n\n\n<p>Virtual assistants and chatbots are becoming increasingly popular, and here serverless frameworks, with their ability to process events in parallel and easily cope with peak workloads, also come in handy.<\/p>\n\n\n\n<p>Any actions that involve reacting to events, such as changes to items in storage, or in databases could be considered the most obvious uses. Traditional requests and response workloads like HTTP REST APIs, web applications, and mobile backends are also a good example here: for instance, food delivery dispatch or taxi services.<\/p>\n\n\n\n<p>We should also mention continuous integration and delivery pipelines, as implementing DevOps with serverless architectures is being called \u201ca tendency\u201d more and more frequently.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Serverless providers<\/h2>\n\n\n\n<p>Amazon was the first of the &#8220;Big Three&#8221; cloud providers to publicly launch a serverless computing service. This was <a href=\"https:\/\/aws.amazon.com\/lambda\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">AWS Lambda<\/a>, announced in November 2014.<br><a href=\"https:\/\/cloud.google.com\/functions\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Google Cloud Functions<\/a> and <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/functions\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Microsoft Azure Functions<\/a> both entered the market in 2016.<br>All of them offer event-driven architecture charging only for the time during which the code is triggered and executed. Let\u2019s take a closer look at each of the giants\u2019 brainchildren.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">AWS Lambda<\/h3>\n\n\n\n<p>Lambda is a part of the AWS serverless platform, it\u2019s a service that runs the uploaded code in response to events and automatically manages the use of computing resources. Each trigger is processed individually so that the code runs in parallel, offering continuous scalability.<br>Lambda-based serverless applications are composed of functions triggered by events. It\u2019s mentioned in <a href=\"https:\/\/aws.amazon.com\/lambda\/faqs\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">AWS Lambda FAQ<\/a>, that a typical serverless application consists of one or more functions triggered by events such as object uploads to Amazon S3, Amazon SNS notifications, or API actions. These functions can stand alone or leverage other resources such as DynamoDB tables or Amazon S3 buckets. The most basic serverless application is simply a function.<\/p>\n\n\n\n<p>Amazon introduces a broad variety of AWS Lambda use cases such as real-time data, file and stream processing, data validation and transformation along with web applications. Besides, serverless backends can be built using AWS Lambda to handle web, mobile, Internet of Things, and third-party API requests.<\/p>\n\n\n\n<p>GitHub offers a very comprehensive list of <a href=\"https:\/\/github.com\/serverless\/examples\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Serverless Examples<\/a> \u2013 a collection of boilerplates and samples of serverless architectures built with the Serverless Framework and AWS Lambda.<br>Furthermore, Amazon offers its own project, AWS Serverless Application Model (AWS SAM), which prescribes rules for expressing serverless applications on AWS. It even has its own funny mascot \u2013 \u201cSAM the Squirrel\u201d, apparently, designed to show how user-friendly and easy-to-use Amazon serverless should be ?<\/p>\n\n\n\n<p>Over the past 3.5 years, AWS Lambda has won the trust of business titans like Autodesk, Netflix, The Coca-Cola Company, and Thomson Reuters.<\/p>\n\n\n\n<p>Apart from Lambda, Amazon has introduced one more serverless-related service, Amazon Athena. It is an interactive query service that simplifies analyzing data in Amazon S3 using standard SQL. Athena is serverless, with no infrastructure to manage, and charges only for those queries which run. It\u2019s already being called a promising solution for big data analytics.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Google Cloud Functions<\/h3>\n\n\n\n<p>Being a part of the Google Cloud platform, Cloud Functions features serverless application backends including integrations with third-party services and APIs, real-time data processing systems and intelligent applications as its common use cases.<\/p>\n\n\n\n<p>The Google Cloud serverless solution has been running in its beta for almost two years, until its recent public release in July 2018. It was delivered with a set of \u201cseveral important developments to the serverless compute stack\u201d, according to Google. Those include serverless containers on Cloud Functions; Kubernetes serverless add-on; Knative, Kubernetes-based building blocks for serverless workloads; integration of Cloud Firestore with GCP services, etc.<\/p>\n\n\n\n<p>Cloud Functions boasts Alibaba.com, Shazam, The New York Times, and Todoist as companies that have already enjoyed the benefits of their serverless architecture.<\/p>\n\n\n\n<p>It\u2019s fair to say that Google has been moving toward serverless since 2008, when the company launched App Engine, a fully managed serverless platform, which should be referred to PaaS, platform as a service, used for building scalable web applications and mobile backends.<br>Over the last ten years, they have introduced a bundle of successful \u201caround-serverless\u201d solutions and integration patterns designed for serverless development: Cloud Datastore and Firebase, database products; Cloud ML Engine, a serverless machine learning service; Cloud Dataflow, a stream and batch data processing and a series of integrated services.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Microsoft Azure Functions<\/h3>\n\n\n\n<p>Microsoft emphasizes the security and reliability of Azure Functions, its fully managed serverless FaaS platform. Serverless computing, with Microsoft Azure Functions among other major platforms, has revolutionized how developers handle backend services. Alongside capability enhancements, there is a growing need for <a href=\"https:\/\/www.wiz.io\/academy\/azure-security-tools\" target=\"_blank\" rel=\"noopener\" title=\"\">securing Azure environments<\/a> to ensure reliability and compliance. Tools like Microsoft Entra ID for unified <a href=\"https:\/\/scalefusion.com\/products\/oneidp\/learn\/what-is-iam\" target=\"_blank\" rel=\"noopener\" title=\"\">IAM <\/a>and Azure Key Vault for data protection are integral in maintaining robust security standards.<br><br>What is interesting here is that the Functions runtime is open source and available on GitHub.<br>Besides web and mobile applications backends, real-time file or stream processing, Azure serverless computing platform can be used for automation of scheduled tasks along with extending SaaS applications.<\/p>\n\n\n\n<p>CarMax, Fujifilm, Marc Jacobs, and Plexure have chosen Azure Functions as their serverless provider.<\/p>\n\n\n\n<p>Going beyond Functions, Azure offers serverless approaches in Logic Apps, workflow orchestration engine; Event Grid, event routing service; Azure Stream Analytic, real-time analytics offering for complex event processing, and more.<\/p>\n\n\n\n<p>Serverless is growing in its popularity, not only in the number of users but in the number of solutions and technologies. The recent additions to the serverless ecosystem by major market players like IBM and Oracle should be mentioned here too. Moreover, they are open source solutions and are frequently referred to as Amazon Lambda alternatives.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">IBM Cloud Functions<\/h3>\n\n\n\n<p>IBM Cloud Functions is a polyglot FaaS programming platform based on Apache OpenWhisk, an open source, distributed serverless platform that executes functions in response to events at any scale. OpenWhisk manages the infrastructure, servers and scaling using Docker containers.<\/p>\n\n\n\n<p>Since Apache OpenWhisk builds its components using containers, it can run not only on a serverless platform but also on-premises.<br>IBM features its product for building serverless microservices, web and IoT applications, API and mobile backends, as well as data processing and cognitive functionality, and what\u2019s more, event processing with Kafka or Message Hub.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Oracle Cloud Fn<\/h3>\n\n\n\n<p>Pretty similar to Apache Openwhisk, Fn is an open source container-native serverless platform that can be handled on any cloud (Amazon AWS Lambda, Google Cloud Platform, Azure Functions, doesn&#8217;t matter) or on-premise.<\/p>\n\n\n\n<p>Fn project is a serverless framework and at the moment Oracle doesn\u2019t offer its own FaaS platform like AWS Lambda, but presumably, they will follow IBM\u2019s experience and introduce one more competitive service. Tools like <a href=\"https:\/\/hevodata.com\/learn\/oracle-cdc\/\" target=\"_blank\" rel=\"noopener\" title=\"\">Oracle CDC<\/a> can further enhance Oracle\u2019s serverless solutions by enabling efficient data change tracking and replication across systems.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">What do they offer to their users?<\/h3>\n\n\n\n<p>Each serverless provider has its benefits and specific features, which are important to consider when choosing your solution. AWS Lambda was the pioneer and is still the most popular FaaS provider, integrated with the widest range of Amazon\u2019s services and products.<\/p>\n\n\n\n<p>Google provides seamless authentication within their infrastructure and offers outstanding innovative solutions like TensorFlow, Cloud Vision and translation services.<\/p>\n\n\n\n<p>Microsoft, Oracle and IBM are open sourced and can be hosted within their own infrastructure, whereas support for Docker might be important in terms of migration from one service to another.<\/p>\n\n\n\n<p>Here is a brief overview of the main attributes of the services described above:<\/p>\n\n\n\n<table id=\"tablepress-37\" class=\"tablepress tablepress-id-37\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\"><strong>Attribute\/ Provider<\/strong><\/th><th class=\"column-2\"><strong>Amazon AWS Lambda<\/strong><\/th><th class=\"column-3\"><strong>Google Cloud Functions<\/strong><\/th><th class=\"column-4\"><strong>Microsoft Azure Functions<\/strong><\/th><th class=\"column-5\"><strong>IBM Cloud Functions<\/strong><\/th><th class=\"column-6\"><strong>Oracle Cloud Fn<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody class=\"row-striping row-hover\">\n<tr class=\"row-2\">\n\t<td class=\"column-1\"><strong>Type<\/strong><\/td><td class=\"column-2\">FaaS platform<\/td><td class=\"column-3\">FaaS platform<\/td><td class=\"column-4\">FaaS platform<\/td><td class=\"column-5\">FaaS platform<\/td><td class=\"column-6\">Container-native serverless platform<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\"><strong>Supported languages<\/strong><\/td><td class=\"column-2\">Node.js, Python, Java, C#<\/td><td class=\"column-3\">Node.js, Python<\/td><td class=\"column-4\">Node.js, Python, PHP C#, F#, Python<\/td><td class=\"column-5\">Node.js, Python, Java, Go, Ruby, PHP, Swift, Scala + custom code within a Docker container<\/td><td class=\"column-6\">Node.js, Python, Java, Go, Ruby, PHP<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\"><strong>Event triggers<\/strong><\/td><td class=\"column-2\">Wide range of Amazon services: S3, DynamoDB, Kinesis, SNS, CloudWatch, etc.<\/td><td class=\"column-3\">HTTP, Google Cloud Storage, Google Cloud Pub\/Sub, Google Firebase (DB, Storage, Analytics, Auth)<\/td><td class=\"column-4\">Azure Cosmos DB, Azure Event Hubs, Azure Mobile Apps, Azure Notification Hubs, Azure Service Bus, Azure Storage, GitHub, Twilio<\/td><td class=\"column-5\">Any external API-driven event<\/td><td class=\"column-6\">Any platform compatible with Docker<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\"><strong>Maximum execution duration<\/strong><\/td><td class=\"column-2\">5 minutes <br \/>\nRefer to <a href=\"https:\/\/docs.aws.amazon.com\/lambda\/latest\/dg\/gettingstarted-limits.html\" rel=\"noopener nofollow\" target=\"_blank\">AWS Documentation<\/a><\/td><td class=\"column-3\">9 minutes <br \/>\nDetailed about <a href=\"https:\/\/cloud.google.com\/functions\/quotas\" rel=\"noopener nofollow\" target=\"_blank\">Quotas<\/a><\/td><td class=\"column-4\">5 to 10 minutes <br \/>\nRefer to <a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/azure-functions\/functions-scale\" rel=\"noopener nofollow\" target=\"_blank\">Consumption Plan<\/a><\/td><td class=\"column-5\">5 to 10 minutes <br \/>\nRefer to <a href=\"https:\/\/cloud.ibm.com\/docs\/openwhisk\/openwhisk_reference.html#openwhisk_reference\" rel=\"noopener nofollow\" target=\"_blank\">System details and Limits<\/a><\/td><td class=\"column-6\">N\/A<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\"><strong>Costs<\/strong><\/td><td class=\"column-2\">$0.00001667 for GB-sec, $0.20 per 1m requests.<br \/>\n1m free requests per month and 400,000 GB-sec per month.<\/td><td class=\"column-3\">$0.00001667 for GB-sec, $0.40 per 1m requests.<br \/>\nThe first 1m of requests is free.<\/td><td class=\"column-4\">$0.000016 for GB-sec, $0.20 per 1m requests.<br \/>\nCustomers can also run Functions within their App Service plan at regular App Service plan rates.<\/td><td class=\"column-5\">$0.000017 for GB-sec, no charge for invocations or API gateway access. <br \/>\n400,000 GB-sec per month is free.<\/td><td class=\"column-6\">N\/A<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-37 from cache -->\n\n\n\n<p>Node.js and Python look like ubiquitous languages for creating serverless applications. Earlier our team has researched the market and selected the best Node.js hosting services mentioning serverless functions either in <a href=\"https:\/\/railsware.com\/blog\/best-hosting-for-node-js-app\/\" target=\"_blank\" rel=\"noopener noreferrer\">this post<\/a>.<\/p>\n\n\n\n<p>Event triggers are another important point: you may stick to a definite cloud provider or be free in your choice.<br>All services have some kinds of limitations and quotas: AWS Lambda and Google Cloud Functions give comprehensive descriptions of those in their documentation, while it\u2019s hard to clearly understand what is limited in Azure Functions and IBM Cloud Functions.<br>In particular, AWS Lambda has a default safety throttle for the number of concurrent executions per account per region. This limit of 1000 executions can be increased by submitting a request to AWS support.<\/p>\n\n\n\n<p>The pricing scheme, based on the number of executed requests and duration of compute time, could be quite confusing at first. Most providers offer pricing examples showing total monthly spending for different types of usage. For AWS users, managing these costs is crucial. Resources on <a href=\"https:\/\/cloudchipr.com\/blog\/aws-cost-optimization\" target=\"_blank\" rel=\"noopener\" title=\"\">AWS cost optimization<\/a> provide valuable insights and strategies to control spending and maximize efficiency when adopting serverless technologies. Besides, there are several third-party Amazon Lambda cost calculators for estimating the adoption cost of serverless technologies.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pros and cons<\/h2>\n\n\n\n<p>The growing list of businesses switching to serverless applications along with the number of FaaS providers and solutions are among the biggest endorsements for this technology.<br>Sounds inspiring? Absolutely. But nothing is ever completely one-sided, so what are the bright spots and what are the challenges?<\/p>\n\n\n\n<p>Serverless computing offers the following opportunities:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Abstraction of servers eliminates the issues related to operating system and application server administration, configuration and maintenance. It is aimed to decrease the level of DevOps pain.<\/li>\n\n\n\n<li>Almost infinite automatic scalability. Could the workload dragon finally be defeated?<br>Concentrate on the application business logic, not the infrastructure. Product-centric approach rules.<\/li>\n\n\n\n<li>No upfront investments. Pay for the running code only.<\/li>\n<\/ul>\n\n\n\n<p>But there are still some weaknesses to consider:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Vendor lock-in, or look before you leap when choosing your provider. After adoption, migration to another service could be tough.<\/li>\n\n\n\n<li>Third-party API related issues, like serverless architecture security and privacy concerns along with unexpected limits, changes or updates. And it\u2019s not all the matter of trust.<\/li>\n\n\n\n<li>Implementation drawbacks and architectural complexity. Here is a headache. It&#8217;s in testing changes which can&#8217;t be done locally, and in the number of functions which should be defined.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">What to expect?<\/h2>\n\n\n\n<p>The technology is still in its nascent stage and there are many challenges to be solved, but serverless is expected to grow along with the number of adopters over the next few years. <a href=\"https:\/\/www.researchandmarkets.com\/research\/nfq5pr\/functionasaserv\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">Research and Market<\/a> announced in its report that the FaaS market size was estimated to grow from USD 1.88 billion in 2016 to USD 7.72 billion by 2021.<\/p>\n\n\n\n<p>Despite all the scalability and cost optimization benefits, serverless architecture is not a magic tool for every case. It\u2019s not suitable for long duration tasks, those requiring a response from an external resource, due to timeout limits. Heavy, CPU-consuming computations will eat up your budget quickly.<\/p>\n\n\n\n<p>There are still a bunch of issues to be solved and concerns to be considered while migrating from a traditional <a href=\"https:\/\/www.cloudways.com\/en\/application-hosting.php\" target=\"_blank\" rel=\"noopener\" title=\"\">application hosting<\/a> to a serverless solution. Some of the most popular questions to ask are:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Are third-party dependencies fully secure? Do I need to change something in my traditional logging mechanism?<\/li>\n\n\n\n<li>How do I monitor all my invoked functions? If I add another integrated cloud solution, how much will it cost?<\/li>\n\n\n\n<li>How much time should I invest into clearing up all the details of limits, resource allocation, and compatibility?<\/li>\n<\/ol>\n\n\n\n<p>There have been hundreds of serverless conferences and workshops held over the last couple of years, discussing different aspects of the technology adoption for IoT, Big Data, Chatbots, Artificial Intelligence, etc. It will be interesting to see how that potential will be realized and what solutions will be offered to overcome those vulnerabilities.<\/p>\n\n\n\n<p>On the other hand, there is a still market niche for serverless toolkits, integration and implementation solutions, which has been rapidly filled with open source and hybrid services.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is serverless architecture and why is it so widely discussed? Read in this overview of FaaS providers, market trends, use cases along with its pros and cons.<\/p>\n","protected":false},"author":75,"featured_media":10608,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[3],"tags":[],"coauthors":["Diana Lepilkina"],"class_list":["post-10564","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development"],"acf":[],"aioseo_notices":[],"categories_data":[{"name":"Engineering","link":"https:\/\/railsware.com\/blog?category=development"}],"post_thumbnails":"https:\/\/railsware.com\/blog\/wp-content\/uploads\/2018\/09\/Serverless-Illustration.jpg","amp_enabled":true,"_links":{"self":[{"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/posts\/10564","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/users\/75"}],"replies":[{"embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/comments?post=10564"}],"version-history":[{"count":34,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/posts\/10564\/revisions"}],"predecessor-version":[{"id":18483,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/posts\/10564\/revisions\/18483"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/media\/10608"}],"wp:attachment":[{"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/media?parent=10564"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/categories?post=10564"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/tags?post=10564"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/railsware.com\/blog\/wp-json\/wp\/v2\/coauthors?post=10564"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}