• Skip to primary navigation
  • Skip to main content
  • Skip to footer

Codemotion Magazine

We code the future. Together

  • Discover
    • Events
    • Community
    • Partners
    • Become a partner
    • Hackathons
  • Magazine
    • Backend
    • Frontend
    • AI/ML
    • DevOps
    • Dev Life
    • Soft Skills
    • Infographics
  • Talent
    • Discover Talent
    • Jobs
    • Manifesto
  • Companies
  • For Business
    • EN
    • IT
    • ES
  • Sign in
ads

Cate LawrenceAugust 12, 2020

Speeding up innovation with Arun Gupta

Web Developer
facebooktwitterlinkedinreddit
Table Of Contents
  1. The three stages of innovation
  2. How do you measure the innovativeness of your company?
  3. Smaller changes are better
  4. Move from Monolith to microservices to innovate
  5. Why Change one small thing at a time?
  6. DevOps: How to get there
  7. The value of distributed optimized capability
  8. Cloud native principles and innovation
  9. What is serverless and why is it important to innovation?

Arun Gupta is a Principal Technologist at Amazon Web Services. He is responsible for the Cloud Native Computing Foundation (CNCF) strategy within AWS and participates at CNCF Board and technical meetings actively. He works with different teams at Amazon to help define their open source strategy. Arun spoke at Codemotion about technology as a means to speed up innovation. These are just a few of the things he had to say, watch the video below for full impact: 

Loading the player...
Recommended article
May 6, 2025

Top 10 Free Web Hosting Services Every Developer Should Know

Lucilla Tomassi

Lucilla Tomassi

Web Developer

The three stages of innovation

According to Arun, there are three stages of innovation in enterprise:

  1. Speed: You want to build something really fast, really quickly, put a stake in the ground, fail fast and recover.
  2. Scale: You want to build something, let’s try this. Something really large, something that scales very well so that you can reach the masses.
  3. Strategy: A more deadline-driven stage “where these companies who are server huggers know, they want to hold on to the data centres. They’re migrating to data to cloud. And these are deadline-driven, because essentially, if you think about, you know, there is two three year lease for a data centre, and when that is expiring, that’s the time you start thinking about it, does it really matter to me? Do I want to keep my data centre or do just move to the cloud?

How do you measure the innovativeness of your company?

Arun asserts that for developers, innovation can be measured in time to value. This means “that I, as a developer built a feature, how long does it take for me to have that feature being realised by customers?  Does it take months? Now I pushed a feature six months later as part of a monolith is going to be available to my customers, or does it take days? No, maybe it spins out on a weekly cadence as a weekly bill that goes out. Or you have something called as a continuous delivery pipeline where every change you push automatically builds your software and releases it to the customers. The faster your release cycle is, the faster your customers can realise it.”

Smaller changes are better

In terms of software, we have realised over the years, that the smaller the better, the more the focus it is, the faster it builds, and the faster it drops.

Thre are however, key components that you require for in building those lots of small changes:

  • Automated continuous delivery: You need to have automated Continuous Delivery pipelines. Because doing those changes by hand, it’s gonna take a while.
  • Tagging, which allows you to tag the versions you need
  • Flagging, A/B features where you can say turn this feature on turn this feature off.
  • Canary testing, A/B testing, where you can say, “I’m going to release this new feature to one person of my traffic coming on Tuesday, 11 am. That is coming from a certain user agent, but maybe a mobile device or a browser. That’s where you start testing it. And then you expand from there based upon your health metrics on how that’s working out.”

Move from Monolith to microservices to innovate

“Take your monolith and split it across multiple microservices”

Because then the monolith that you have built over the years, which has probably a big build, takes a while to go and it takes a few hours, maybe as you’re running your tests, etc. If you translate that into a microservice-based architecture, then the build is fast because the focus is there, you’re possibly following the domain-driven design and all those concepts. And then your service can be built faster and can be put into production faster.”

Why Change one small thing at a time?

  • Easier to tell if it breaks
  • Easier to roll back to previous version
  • Easier to measure time to value

In 2002, Amazon.com was one big monolithic application where it would take a while to change on one particular part of the application. “I just want to change the wheel of the car, but you can’t do that you just need to buy a new car altogether. And that’s sort of what led to the whole thought process that you know what? Let’s take that one big monolith and essentially break it apart into multiple microservices. So we went through that journey and back in 2009.”

Small changes also mean:

  • Shorter MTTR (mean time to recover)
  • Shorter MTBF (meantime, between failures
  • Happy developers

DevOps: How to get there

Arun suggests there are some key components of DevOps and automation that are critical:

  • Measure time to value: this includes the time to value for the whole team: Automate collection and reporting of commit to deploy.
  • Do small things really quickly. “Start a project that is smaller in scope, you can start converting that into microservices. Get your experience, get a feel, what does it mean? You know, get some quick wins, and then you get a feel that Okay, now I can move forward with projects that are more critical to my customer workloads.”
  • Measure the cost per deploy, “The bills need to be cheap. You want to start measuring your CPU hours, your memory hours that are being utilised, particularly if you’re running in the cloud because you’re getting billed for that. Essentially with each good push if need be, file an automatic ticket and that ticket automatically migrates through different stages as your build is progressing.

The value of distributed optimized capability

Distributed optimized capability means highly scalable but accessible “In case your app grows popular overnight, so that way, it can scale up automatically.”

Systems are cost optimised for high utilisation.

Cloud native principles and innovation

Cloud-native architecture is important when it comes to elasticity as your workloads increase any point of time and decrease any point of time. And so does your number of machines that are serving that request. Key principles include:

  • Pay as you go, afterwards
  • Self-service – no waiting
  • Globally distributed by default
  • Cross zone/region availability models
  • High utilization – turn idle resources off
  • Immutable code deployments

What is serverless and why is it important to innovation?

  1. You are not managing the infrastructure.
  2. Automatic scaling: with serverless, that scaling happens automatically
  3. Pay for value
  4. Highly available and secure

AWS offers a wide range of services in terms of serverless functionality:

AWS Lambda 

Serverless event driven code execution 

  • Short-lived
  • All language runtimes
  • Data source integrations

“We have some of the most enterprise customers running Lambda at a huge scale. Take an example of FINRA. FINRA is doing half a trillion that is 500 billion validations per day using Lambda.”

AWS fargate

Severless compute engine for containers 

  • Long running
  • Bring existing code
  • Fully managed orchestration

AWS  Fargate gives you the ability where you can leverage the containerization that you’ve already gone through, and then run it in a serverless way. Arun notes: “Today Fargate supports only ECS, which is our container orchestrator. But we are working on and are making that implementation for Kubernetes as well. So essentially, you can bring your deployments back, and ust run and scale the service.”

Related Posts

Native CSS: A Whole New Story – Part 1

Daniele Carta
March 3, 2025
Flock. Fork flutter

Meet Flock: The Flutter Fork Aiming to Accelerate Development

Codemotion
November 4, 2024
Angular v18 fallback

Angular fallback content in ng-content

Davide Passafaro
May 13, 2024
setup project, web development, framework, typescript cypress

How to Set Up a Cypress TypeScript Project

Antonello Zanini
September 12, 2023
Share on:facebooktwitterlinkedinreddit

Tagged as:AWS Serverless

Cate Lawrence
Top Tools for Advanced Community Management
Previous Post
What a Security Engineer & Software Engineer Learned by Swapping Roles
Next Post

Footer

Discover

  • Events
  • Community
  • Partners
  • Become a partner
  • Hackathons

Magazine

  • Tech articles

Talent

  • Discover talent
  • Jobs

Companies

  • Discover companies

For Business

  • Codemotion for companies

About

  • About us
  • Become a contributor
  • Work with us
  • Contact us

Follow Us

© Copyright Codemotion srl Via Marsala, 29/H, 00185 Roma P.IVA 12392791005 | Privacy policy | Terms and conditions