Modern Applications

Creating value through application design


Whatever the industry, organizations are looking to become more agile so they can innovate and respond to change faster. Organizations need to build applications faster than ever, with the ability to scale quickly to potentially millions of users, have global availability, manage petabytes if not exabytes of data, and respond in milliseconds. We call these modern applications, and they cover use cases from web and mobile backends, IoT applications, AI/ML workloads, batch processing, shared services platforms, microservice backends, and more. Modern applications are built with a combination of modular architecture patterns, serverless operational models and agile developer processes, and they allow organizations to innovate faster while reducing risk, time to market, and total cost of ownership.

If you manage a portfolio of applications and workloads today you have an opportunity to make a choice for each one: we categorize your options as the 7R’s - retain, retire, relocate, re-host, repurchase, re-platform and refactor. For applications you retain, you can migrate to the cloud without changes (rehost). Modernization refers to re-platforming - moving your own containers, databases, or message brokers to managed cloud services, or re-factoring - rewriting to a cloud native architecture. Your choice is impacted by many factors, including your preferences for the portability of open source solutions or the operational and agility benefits of AWS native architectures. The more critical the application is to your organization and customers, the more benefits you will realize from modernizing.

Dunelm supports UK Business Growth with Serverless
Learn why organizations migrate to the cloud and how AWS can help you achieve your unique objectives.
Begin your AWS Migration 
Create competitive differentiation by building modern applications.
Get the eBook 
Serverless_2up_workshop_site_merch_3 copy 4

Elements of modern applications

  • Application Architecture >>
  • Software Delivery >>
  • Data Strategy >>
  • Operations >>
  • Management & Governance >>
  • Application Architecture >>
  • Application Architecture: Modular Microservices

    Monolithic applications are popular because they are fast to develop. However, they become difficult to scale and update as the code base grows because each aspect of the application is tightly coupled. When applications are built with modular independent components, called microservices, release velocity can increase because changes to any component are easier to make. Microservices make applications easier to scale and faster to develop, enabling innovation and accelerating time-to-market.
    In this architecture, we use 3 distinct services to manage a simple web application. The Amazon Amplify Console hosts static web resources including HTML, CSS, JavaScript, and image files which are loaded in the user's browser via S3. JavaScript executed in the browser sends and receives data from a public backend API built using AWS Lambda and Amazon API Gateway. Amazon Cognito provides user management and authentication functions to secure the backend API. Finally, DynamoDB provides a persistence layer where data can be stored by the API's Lambda function.
    Scale with microservices
    Decouple your applications and building them as independent microservices.
    Read the guide 
    Refactoring a monolith: Mobvista
    Mobile advertising and marketing service technology provider Mobvista adopted a microservices architecture to improve the scalability and reliability of its platform. Since 2013, Mobvista’s business has expanded rapidly, soaring from an average daily ad request volume of 18 billion requests in 2017 to 100 billion in 2019. By refactoring their monolithic application to a microservices architecture, they can easily identify bottlenecks and allocate resources to key locations for expansion.
    Learn more 
  • Software Delivery >>
  • Software Delivery: Automation, Abstraction, & Standardization

    Front and back end developers need tools, frameworks, and processes that enable them to rapidly and securely deliver new features to customers - often daily or more. Frameworks and tooling abstract take away the complexity of provisioning and configuring resources. Automated release pipelines, including continuous integration and continuous deployment (CI/CD), enable teams to rapidly test and release lots of code while minimizing errors. Standardization through infrastructure as code templates provision the entire technology stack for an application through code, ensuring teams meet central requirements.

    In this architecture we use a CI/CD stack for Fargate to release an application (for the full application architecture, try this getting started tutorial). We’ll use the AWS Command Line Interface to execute commands that create the required infrastructure components, which includes a fully managed CI/CD stack utilizing AWS CodeCommit, CodeBuild, and CodePipeline. We will also complete the development tasks required all within a browser by leveraging the cloud-based IDE, AWS Cloud9. 

    Test, release, repeat
    Evolve your development process by moving DevOps to the cloud.
    Read the guide 
    Improving development times: Bank al Etihad
    Bank al Etihad now deploys 10 times faster and capital expenditure is 50 percent lower through infrastructure as code. Bank al Etihad was looking for a way to become more agile in an increasingly competitive market, so the bank opted for a DevOps model supported by infrastructure as code as part of a modernization initiative.
    Read the full story 
  • Data Strategy >>
  • Data Strategy: Decoupled & Purpose Built

    Much like a monolithic application, a single database is also difficult to scale. It can become a single point of failure with fault tolerance challenges. Modern applications take advantage of decoupled data stores in which there is a one-to-one mapping of database and microservice. By decoupling data along with microservices, teams are free to choose the database that best fits the needs of the service, like choosing a database that is purpose built for the task at hand.
    In this architecture a gaming company uses two databases to perform different functions on unique components of the gaming application. Amazon DynamoDB persists player data with scalability, and Amazon Aurora optimizes microtransaction efficiency.
    Pick the right tool for the job
    Use the database that meets your application needs.
    Read the guide 
    Cutting database costs: The Pokémon Company
    The Pokémon Company cut monthly costs by tens of thousands of dollars while handling over 300 logins per second by migrating to Amazon Aurora. With the launch of Pokémon GO in 2016, the number of users requiring access to their system increased to more than 300 million in two years, and Amazon Aurora supports this scale with low costs.
    Read the full story 
  • Operations >>
  • Operations: As Serverless as Possible

    Modern applications have a lot of moving parts, including many microservices with unique databases that are all releasing features frequently. Serverless technologies reduce that burden because they run without the need for infrastructure provisioning and scaling, and have built-in availability and security. Plus, they have a pay-for-value billing model. There are serverless services for the entire application stack: compute, storage, and integration.
    In this architecture we use serverless technologies to process and visualize data in real time. We’ll use AWS Lambda to process real-time streams, Amazon DynamoDB to persist data, Amazon Kinesis Data Analytics to build a serverless application to aggregate data, Amazon Kinesis Data Firehose to archive the raw data to Amazon S3, and AWS Athena to run ad-hoc queries against the raw data.
    Ease the burden of infrastructure management
    Offload operational heavy lifting by adopting a serverless operational model.
    Read the guide 
    Moving faster with Serverless: Amazon F3
    Amazon F3, the algamation of Prime Now, Amazon Fresh, and Amazon Restaurants saves 250 hours a week with a serverless product management solution. Rather than time consuming vendor data entry, Amazon F3 can now query a catalog of 8 million products in 30 seconds, trusting their automated warnings about possible business-rule violations to reduce the risk of manual errors.
    Read the full story 
  • Management & Governance >>
  • Management & Governance: Programmatic Guardrails

    Managing your organization securely, legally, and safely is priority one but often, strong governance results in checkpoints that slow down innovation. Increasingly, organizations address this by adopting the concept of guardrails, which are mechanisms, such as processes of practices, that reduce both the occurrence and blast radius of undesirable application behavior. Usually expressed as code, guardrails can standardize processes and practices for the monitoring, provisioning, deployment, cost management, and security of applications, without creating bottlenecks or slowing innovation.
    In this architecture we use AWS WAF filtering rules to control traffic to a serverless web application. With WAF we can create custom rules that block common attack patterns, such as SQL injection or cross-site scripting.
    Governance in the Cloud
    Learn how governance can both control & enable.
    Read the guide 
    Ensuring compliance while moving faster: Travelex
    Travelex uses AWS to fast-track products to market while maintaining stringent financial compliance standards. The organization needed to launch a new service and comply with existing standards and by taking advantage of AWS, the process was simpler and much faster because there were no third-party cloud suppliers to deal with. In future all Travelex products and services will inherit this security model.
    Read the full story 

Benefits of modern application development


Faster to market

By speeding up the build and release cycle and offloading operational overhead, developers can quickly build new features. Automated test and release processes reduce error rates, so products are market-ready faster.

Increased innovation

With a modular architecture, changes to any individual application component can be made quickly, and with a lower risk to the whole application, so teams can experiment with new ideas more often.

Improved reliability

By automating test procedures, and monitoring at every stage of the development lifecycle, modern applications are reliable at deployment. Any issues can be evaluated and addressed in real time.

Reduced costs

With a pay-for-value pricing model, modern applications reduce the cost of over-provisioning or paying for idle resources. By offloading infrastructure management, maintenance costs are also lower.
IDC explores the architectural, operational, and delivery impacts of modernizing.
Read the paper: Application Modernization in the Enterprise 

Customer stories of modernization

Fender reduces operational burden
Fender uses a serverless-first strategy to reduce manual processes and infrastructure management, and as a result, they can focus on their customer experience and stop worrying about downtime or middle of the night paging.
Aldo speeds new application development
Aldo builds applications with AWS AppSync, AWS’ fully managed GraphQL service, in less than three months instead of the previous 6–12 when they used multiple APIs.
Siemens reduces infrastructure costs
By adopting a serverless architecture, Siemens decreased customer control system alerts by 90% and reduced infrastructure costs by 85% while experiencing no unplanned downtime in 18 months.
Snap Inc. empowers developers to focus on innovation
Snap Inc reduced the time it takes developers to launch new services by 77% by breaking up their monolithic application and adopting Amazon EKS and ECR. They now run over 2 million transactions per second.
Read the Deloitte report to compare the total cost of ownership for both serverless and traditional applications.
Get the report 
Forrester evaluates providers of Function-as-a-Service and enterprise container platforms – AWS comes out on top.
Get the reports 

Learn how our Partners are helping organizations implement a modern application development process

These customizable offers from our AWS Consulting Partners range from helping you assess your current application portfolio, analyze your organizational structure, identify ideal workloads and develop your first modernized application, and build a business case and roadmap to make your modernization journey a success.
Contact AWS to learn how to modernize your application portfolio.