Build Modern Applications On AWS: Manage Less. Build Fast. Innovate More
Build Modern Applications On AWS: Manage Less. Build Fast. Innovate More
applications
on AWS
Manage less. Build fast. Innovate more.
1
INTRODUCTION
In this eBook, we’ll guide you through the three pathways that will help
lay the foundation for modern application development in your own
organization. We’ll also explore how modern application development with
AWS can help your organization innovate, reduce costs, accelerate time to
market, and improve reliability.
1
IDC PlanScape: Connected Cloud Architectures to Enable the Future of Digital Infrastructure, October 2020 2
MODERN APPS EMPOWER DIGITAL INNOVATORS
INNOVATION
Focusing on your customer means making business decisions by working
backward from your customer’s point of view. It means constantly evolving FLYWHEEL
products and services to better deliver the outcomes that delight customers.
And it means listening to what your customers truly care about so that
you can continue inventing and iterating on their behalf. This is called the
“innovation flywheel.” ITERATE EXPERIMENT
The basic idea is that the driver for any innovation begins with customer
demand, improves with customer feedback, and repeats constantly (and
profitably) until the demand changes and the whole cycle begins again. The
faster your teams can get your own innovation flywheel spinning, the better
you’ll be able to build modern applications and the more you will stand apart
from competitors.
3
MODERN APPS EMPOWER DIGITAL INNOVATORS
50%
overhead, developers can quickly build new features. You’ll increase
innovation with a modular architecture that lets teams experiment with
individual application components without risking the entire application.
By automating test procedures and monitoring at every stage of the of information and communications
development lifecycle, you’ll improve reliability. And you’ll improve total technology is predicted to be directly
cost of ownership (TCO) with a pay-for-value pricing model that reduces allocated for digital transformation by 2023
the cost of over-provisioning or paying for idle resources.
90%
of new applications are predicted
to be cloud-native by 2025
4
DIGITAL INNOVATORS
We’ll explore each pathway in more detail, demonstrating how each can
help lead to increased agility, lower costs, and building better apps that
support business success. While you can modernize applications from
any starting point, the outcome needs to be the same: applications that
are secure, reliable, scalable, and quickly available for your customers and
partners at the onset.
5
MODERN APPLICATIONS IN PRACTICE
6
RE-PLATFORM TO MANAGED CONTAINER SERVICES
Re-platform to Containers are a lightweight and portable way to container service helps to reduce operational burden
run and deploy applications. Containerizing existing while improving scalability, reliability, security, and
managed container applications is often a first step in an organization’s availability. With managed container services on
services modernization journey. If you are considering moving AWS, you no longer have to worry about managing
your applications to containers, you would benefit containers. Instead, you can focus your resources
from re-platforming those workloads to AWS on education for the upskilling you need to develop
managed services like Amazon Elastic Kubernetes modern applications with serverless computing.
Service (Amazon EKS) or Amazon Elastic Container
Service (Amazon ECS) with AWS Fargate. A managed
7
CUSTOMER SNAPSHOT
Since beginning its migration to AWS in 2015, The Vanguard Group has seen managed container orchestration service, alongside AWS Fargate. AWS
significant benefits. For example, Vanguard’s use of AWS services removed Fargate is a serverless compute service that removes the need to provision
the need for its IT department to manage servers. As a result, developers and manage Amazon Elastic Compute Cloud (Amazon EC2), a web service
have more time to build innovative, new microservices and enhance current that provides secure, resizable compute capacity in the cloud. And by taking
applications, increasing Vanguard’s speed to market from three months to advantage of a new purchase option for AWS Fargate, the financial services
24 hours. firm reduced its unit costs by 50 percent.
But speed to market is not the only benefit the company has seen. Vanguard See the full story »
opted to use Amazon Elastic Container Service (Amazon ECS), a fully
8
BUILD NEW ON SERVERLESS
Modernizing app development is the adoption of services, practices, and Key considerations for building
strategies that enable developers to build more agile applications. And with scalable modern apps
the speed and reliability of modern infrastructure, developers can deliver
secure apps that scale from prototype to millions of users automatically, so Architectural patterns: microservices
they can innovate and respond to change faster.
Many modern applications are built serverless-first, a strategy that prioritizes Although your monolithic app might be easy to manage today,
the adoption of serverless services so customers can increase agility challenges often arise as you grow, including how to distribute
throughout the application stack. With serverless technologies, you no longer ownership of the app across your teams. You can build a strong
have to manage physical servers and you’ll benefit from automatic scaling, culture of ownership but still struggle to scale up if your application
built-in high availability, and a pay-for-value billing model. Instead of worrying architecture includes hard dependencies that prevent teams from
about managing and operating servers or runtimes, you can focus on product taking ownership of the final product. This is why we recommend
innovation while enjoying faster time to market. building microservices architectures for apps that grow and change
rapidly. Microservices are the architectural expression of a culture of
In addition, front-end web and mobile tools and services can be built on top ownership—they neatly divide complex applications into components
of AWS. The reliability of this infrastructure helps brands deliver secure, highly that a single team can own and run independently.
available apps that can scale automatically across the globe.
With a monolith, you have many developers all pushing changes
through a shared release pipeline, which causes friction at many points
of the lifecycle. During development, engineers need to coordinate
their changes to make sure theyʼre not breaking someone elseʼs
code. In order to upgrade a shared library to take advantage of a new
feature, you need to convince everyone else to upgrade at the same
time—a tough ask! And if you want to quickly push an important fix
for your feature, you still need to merge it with changes in progress.
After development, you also face overhead when youʼre pushing the
changes through the delivery pipeline. Even when making a one-line
change in a tiny piece of code, engineers need to coordinate their
changes ahead of time, merge their code, resolve conflicts within
releases, rebuild the entire app, run all of the test suites, and redeploy
once again.
9
BUILD NEW ON SERVERLESS
State is externalized
10
CUSTOMER SNAPSHOT
Centrica is a British multinational energy and services company that Building on that success, other teams in the organization have now also
was looking to decrease its costs and increase its agility by changing the adopted the approach—serverless is now common across the organization.
way its application was architected. The company opted to refactor to a
With serverless, Centrica is able to see and respond to customer issues in
microservices architecture and adopt a serverless strategy to achieve
real time, something it had not been able to do before.
those goals.
In order to change the organization, Centrica set up a serverless working Watch the video »
group with representative teams and started building a pilot together.
11
BUILD NEW ON SERVERLESS
Whether you are building net-new applications or migrating legacy, building with
4 Automated high availability – Serverless provides built-in availability
and fault tolerance. You donʼt need to architect for these capabilities
serverless primitives for compute, data, and integration will enable you to benefit since the services running the application provide them by default.
from the most agility the cloud has to offer.
A serverless operational model is ideal for high-growth companies that want to innovate quickly.
Serverless enables teams to move even faster and keep a laser focus on the activities that
differentiate your business so you can speed up your innovation flywheel.
12
BUILD NEW ON SERVERLESS
2
Datadog State of Serverless, 2020 13
RE-PLATFORM TO MANAGED CONTAINER SERVICES
Provisioning
Amazon ECS/ Container orchestration control plane Application code Work clusters
Amazon EKS Physical hardware, networking, facilities Data source integrations Management tasks
Container management
Security config and updates, network
as a service
config, firewall
Amazon EC2 Physical hardware, networking, facilities Application code Security config and updates, network
Most Infrastructure as a service config
Data source integrations
Provisionining, managing scaling and
Scaling
patching of servers
Management tasks
14
CUSTOMER SNAPSHOT
AbiBird is a wholly owned division of ATF Services, an Australian group of AbiBird also uses container services on AWS, hosting a public API on Amazon
companies with 350 employees and contractors and 60 branches in Australia ECS and leveraging AWS Fargate to run its containers without the hassle of
and New Zealand. AbiBird offers a service consisting of infrared sensors administering its own fleet of virtual machines.
for homes, which help monitor the activities of elderly residents through a
Since launching this system on AWS in 2019, AbiBird has not had to raise a
smartphone-based app.
single support ticket, which enables the company to run efficiently with a
AbiBird was running on Microsoft Azure and found it was raising far too minimal amount of overhead support.
many support tickets with its cloud provider to keep its service running. The
company needed more stability and scalability. AbiBird moved to AWS and
See the full story »
now uses a combination of compute services based on its needs. It uses AWS
Lambda on the backend due to its ease of use and scalability, as well as for
the managed nature of the service.
15
CUSTOMER SNAPSHOT
One of America's most iconic food brands, Taco to focus less on managing servers and more on serverless services, Taco Bell is able to save on
Bell has over 7,000 restaurants in the U.S. During building business logic and data transformations upfront costs, start small and only pay for what
the COVID-19 pandemic, Taco Bell needed to to deliver real-time menu and restaurant is needed, and automatically scale as it consumes
rapidly shift to meet consumer demand for information to its delivery partners. “We have a more services.
delivery. According to Vadim Parizher, vice menu that is very complex and has to be shared
president of engineering and analytics, Taco Bell across multiple digital channels. Serverless fits
Watch the video »
runs nearly all of its infrastructure on Amazon that model really well,” says Parizher. By using
Web Services (AWS) and uses serverless on AWS
16
CUSTOMER SNAPSHOT
When COVID-19 hit, consumer habits literally latency, or scalability. Because with AWS Lambda, “Low latency is essential to the user
changed overnight. Coca-Cola responded rapidly that’s all built in. The new application launched experience, which is why we’re committed to
with a no-touch drink dispensing experience in just 100 days, and now more than 52,000 a serverless solution on AWS.”
to go along with its innovative Freestyle drink machines have the touchless capability.
– Michael Connor, Chief Architect, Coca-Cola Freestyle
dispensers. Coca-Cola opted to build with AWS
Watch the full story » Equipment Innovation Center
Lambda, and as a result, its team was able to
focus on the application rather than security,
17
TRANSFORM TO A MODERN DEV+OPS MODEL
18
18
TRANSFORM TO A MODERN DEV+OPS MODEL
3
Puppet 2020 State of Devops Report, 2020 19
CUSTOMER SNAPSHOT
With AWS, Lululemon Athletica can stand up development environments HyperTrack is a self-serve cloud platform for live location tracking
in minutes instead of days, automate its environments, and enable through apps. When it launched in late 2015, HyperTrack needed to
continuous integration and deployment. The Canadian company sells build a platform that could scale automatically to meet their anticipated
yoga-inspired apparel and other clothing at more than 350 locations growth without reducing the time their developers spent on building
throughout the world. Lululemon runs its dev and test environments—as new features.
well as an upcoming mobile app—in the AWS Cloud.
HyperTrack opted to use AWS Amplify for a mobile development
Lululemon decreased its time to build new production accounts from two framework and a serverless architecture in order to scale up and down
days to a few minutes, using AWS CloudFormation templates and AWS automatically without engineering intervention.
CodePipeline. With that increased agility, Lululemon dev teams can now
As a result, the company has realized a 30 percent cost savings
experiment and get to the best solutions rather than having to settle for
compared to the architecture they were using before we switched
what they have resources committed to.
to serverless. A big part of that savings comes from not needing
See the full story » operational resources to focus on server management. HyperTrack
saves 40 hours of work, every single week, while managing millions
of events.
“Any continuous integration and deployment pipeline should
be automated, easy to manage, and discoverable, and that’s See the full story »
exactly what we get using AWS. We get a level of simplicity
and transparency we simply couldn’t have in our previous on-
premises environment.”
– Sam Keen, Director of Product Architecture, Lululemon
20
TRANSFORM TO A MODERN DEV+OPS MODEL
Creating a culture of It makes product teams accountable for the for creativity, and develops a risk-taking culture
development of the whole product, not just a in an environment of trust.
ownership: manage piece of it.
less, innovate more with After more than a decade of building and
While embracing a culture of ownership is not
inherently technical, it remains one of the most
Modern Dev+Ops running the highly scalable web application challenging aspects of modern application
Amazon.com, we’ve learned firsthand the development. Empowering teams to become
Innovation ultimately comes from people, importance of giving autonomy to our teams. product owners involves changing the mindset
and so enabling your people to deliver better When we gave our teams ownership of the of your organization, the structure of your teams,
customer outcomes is where modern application complete application lifecycle, including taking and the work for which they are responsible.
development starts. We use the concept of customer input, planning the roadmap, and
“products, not projects” to describe how this For most organizations, IT falls into one of two
developing and operating the application,
impacts team structure. Simply stated, it camps. It is viewed as a strategic competitive
they became owners and felt empowered to
means that the teams that build products are weapon or, more commonly, as a cost center
develop and deliver new customer outcomes.
responsible for running and maintaining them. necessary to support business growth.
Autonomy creates motivation, opens the door
1 Start with the customers – Every innovation should start with a customer need and ultimately
delight your customers. Prioritize relentlessly to focus on customer demand.
2 Hire builders and let them build – Remove any obstacles that slow the process of building and
releasing products and features for customers. The faster you iterate, the faster your flywheel spins.
3 Support builders with a belief system – Don’t pay lip service to innovation—live and breathe
innovation in all areas of the business, from leadership to sales to support.
21
CLOSING SUMMARY
Improve TCO With a pay-for-value pricing model, modern See the proof:
applications reduce the cost of over- Save up to 80 percent
provisioning or paying for idle resources. on app maintenance
By offloading infrastructure management, with AWS Lambda
maintenance costs are also lower.
22
CLOSING SUMMARY
Replatform to Managed Container Build New Modern Applications Transform to a Modern Dev +
Services with Serverless Technologies and Ops Model
Tools
80% of all containerized applications running in Save up to 80% time on maintenance and 60% of teams with higher evolved
the cloud run on AWS* 84% of all Kubernetes approximately 70% on development when DevOps practices fully remediate security
workloads in the cloud run on AWS* adopting a serverless-first strategy for building vulnerabilities in less than a day#
modern applications**