Modernizing Apps: Architecture, Cloud, DevOps
Key Points
- Modernization has moved applications from monolithic, physical‑server, waterfall models to distributed, virtual‑machine‑based architectures delivered with agile practices.
- The next architectural shift is toward microservices—small, independent services that communicate via lightweight REST APIs instead of heavyweight XML‑based SOA.
- Cloud computing (both public and private) provides the dynamic, elastic infrastructure needed to run these finer‑grained services efficiently.
- DevOps—and related practices such as Site Reliability Engineering—have become the primary way of working, enabling rapid, reliable delivery and operation of modern applications.
- Together, the changes in architecture, infrastructure, and delivery methods constitute the broader trend of application modernization.
Sections
- Three Pillars of Application Modernization - Eric Minick explains how organizations are moving from monolithic, physical‑server, waterfall approaches to distributed, virtualized architectures combined with agile ways of working.
- Unified Cloud, DevOps, Microservice Transformation - The speaker explains that cloud adoption, DevOps/SRE practices, and microservice architectures are interdependent facets of a single modernization effort, stressing that without cloud infrastructure the promised speed, resilience, and time‑to‑market benefits of microservices cannot be achieved.
- Three Parallel Transformations in App Modernization - The speaker explains that organizations must simultaneously adopt microservices, cloud, and DevOps/SRE practices to achieve agile, resilient applications.
Full Transcript
# Modernizing Apps: Architecture, Cloud, DevOps **Source:** [https://www.youtube.com/watch?v=RJ3UQSxwGFY](https://www.youtube.com/watch?v=RJ3UQSxwGFY) **Duration:** 00:08:00 ## Summary - Modernization has moved applications from monolithic, physical‑server, waterfall models to distributed, virtual‑machine‑based architectures delivered with agile practices. - The next architectural shift is toward microservices—small, independent services that communicate via lightweight REST APIs instead of heavyweight XML‑based SOA. - Cloud computing (both public and private) provides the dynamic, elastic infrastructure needed to run these finer‑grained services efficiently. - DevOps—and related practices such as Site Reliability Engineering—have become the primary way of working, enabling rapid, reliable delivery and operation of modern applications. - Together, the changes in architecture, infrastructure, and delivery methods constitute the broader trend of application modernization. ## Sections - [00:00:00](https://www.youtube.com/watch?v=RJ3UQSxwGFY&t=0s) **Three Pillars of Application Modernization** - Eric Minick explains how organizations are moving from monolithic, physical‑server, waterfall approaches to distributed, virtualized architectures combined with agile ways of working. - [00:03:06](https://www.youtube.com/watch?v=RJ3UQSxwGFY&t=186s) **Unified Cloud, DevOps, Microservice Transformation** - The speaker explains that cloud adoption, DevOps/SRE practices, and microservice architectures are interdependent facets of a single modernization effort, stressing that without cloud infrastructure the promised speed, resilience, and time‑to‑market benefits of microservices cannot be achieved. - [00:06:13](https://www.youtube.com/watch?v=RJ3UQSxwGFY&t=373s) **Three Parallel Transformations in App Modernization** - The speaker explains that organizations must simultaneously adopt microservices, cloud, and DevOps/SRE practices to achieve agile, resilient applications. ## Full Transcript
Hi, I'm Eric Minick with IBM Cloud,
and I want to talk about application modernization
and 3 huge transformations
that have been going on together.
So, we've got 3 things going on. They're interrelated.
This is what we're seeing:
this change in how we're doing architecture, infrastructure,
and our ways of working - how we deliver.
And if we go back in time a little bit,
we saw applications that were very monolithic,
they were running on physical servers,
and we used waterfall-style development,
where we'd have long plans and we'd say
"OK, this is going to be our planning phase, or development phase, or testing phase",
and we could plan out a year as a project.
And that's really what we've gone away from.
So, if we look at how most organizations are working today,
architecturally, they've got some sort of distributed architecture.
It's usually related to like a Service-Oriented Architecture (SOA),
the big buzz words from a few years ago,
but some sort of distributed architecture.
We have a bunch of web services,
they're talking to each other. We've got some databases on the back end
and then some front ends that kind of go through all that.
On an infrastructure level,
they're running on some sort of a virtual machine, right?
So, we said,
"We could probably do better than having to order a new server
every time we have a new service".
"Let's virtualize this stuff."
"And we need a little more density along the way."
And, from a way of working: agile development.
Pretty normal.
And then trying to figure out a little bit of what happens downstream.
So, this takes us up to where a lot of teams are today,
but not really where they're going.
So, if we look at the next phase:
we're taking another pass at this service-oriented architecture
and really shrinking the sizes of the services,
taking advantage of the more dynamic infrastructure we have.
And we're calling these now "microservices", right?
Microservices.
So, we had a microservice architecture.
So, very small, very focused services,
moving away from a lot of the heavyweight
XML-based communication we saw on SOA
towards more REST-based communication, things like that.
But, same idea: let's keep breaking into smaller and smaller pieces,
we have more independence of what we ship,
more rigor in saying:
"this service needs to be independent from another service
so I can change these things by themselves."
On the infrastructure side: Cloud.
Cloud is pretty popular.
This could be public cloud.
This could also be private cloud.
I am painting with a very broad brush when I say "cloud" here.
And then, from a delivery and a way of working,
we could say that DevOps is really key
- and I would include in this approaches like Site Reliability Engineering (SRE),
- more the ways of working that we have today.
Now, that's fine and interesting,
but what do these things have to do with each other?
And I'd argue that what we're really seeing is
modernization and how the applications are delivered
and how they're built.
What they are.
And, while you could walk into any large enterprise today
and you'll find someone who says:
"We are going through a cloud transformation."
You'll often find someone who says:
"Yes. I'm in charge of leading the DevOps transformation".
And you'll walk into an enterprise architecture and say:
"Yes. We are pushing microservice architectures."
Individuals think that they're going through
3 separate transformations, but they are really tied.
If I'm doing microservices,
and I have new microservices all the time,
- and in order to get a new microservice up and running,
I'm over here and I have to order a new physical server
and then rack and stack it a couple of months later,
I'm not going to get any time-to-market benefits.
The resilience benefits that I'm going to normally look for
from microservices are going to be modest at best.
Microservices want cloud infrastructure.
You want to be able to say:
"I've got a new microservice."
"Let me put it in a container and just run that container right now,
and scale that dynamically."
Similarly, cloud really likes running microservices.
The benefits of being able to dynamically scale are really cool
when you have a lot of small things that you might need few of,
or a lot of.
It's not as interesting when I've got a monolith
that isn't even distributed.
How do I scale that?
Do I get a bigger cloud server?
And then all of this is kind of baking-in this idea of speed and resiliency.
And DevOps brings that together, right?
The developers, who have always wanted speed.
The operations people,
who have always wanted that resiliency.
They're going to be programming that cloud, right?
The programmable infrastructure that cloud provides
needs operations people who understand resiliency,
but bring some of that development skill in.
And, to really take advantage of these new infrastructures,
the new architectures,
you need these new ways of working.
And you also are going to say:
"If this is going to give me time-to-market benefits,
I can't be back here"
and say: "Yeah, no, we got a one-year project plan that we're just going to execute."
I need to be able to be more agile and adapt
in my planning and my responsiveness to the business.
I need to better wire-up my applications,
so they can be more easily monitored and more resilient.
We have to have the application in a way
that it knows when one of these services is failing
and we can spin up another.
So, this is really, for me, fascinating
- that you walk into these organizations everywhere,
and they're undergoing these 3 different transformations.
But they're always doing them together
and when they don't, it doesn't quite work.
So, you've got these 3 transformations going on at once.
And you'll hear us talk a lot about "application modernization".
See that written across the top here?
And, when I think of application modernization,
I think it's just this.
It's this transformation right here.
Going from these monoliths, or service-oriented architectures,
to microservices, adopting cloud,
modernizing our ways of working towards DevOps and SRE.
That's "App Mod" (Application Modernization).
It's a really exciting time
and it's really great when you're able to go after it in a holistic fashion.
Thank you.
If you have questions, please drop us a line.
If you want to see more videos like this in the future,
be sure to like and subscribe.