App Modernization – Trends and Techniques...and containers. • When you have an existing codebase...

1

Transcript of App Modernization – Trends and Techniques...and containers. • When you have an existing codebase...

Page 1: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize
Page 2: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

App Modernization – Trends and Techniques Charumathy Srinivasan Partner Director of Engineering, Microsoft

Page 3: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

App modernization

• Market Trends • Why Modernize? Business outcomes • Modernization is a journey • Microservices debunked • Customer evidence

Page 4: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

Customers and employees experience

Customers have access to more information on you and your

competitors and expect a good experience

Virtually anywhere, anytime access to information

multi-device, or multi-device and omni-channel and multi-

sense

Analytics insight Support informed decision

making for the future

Today's organizations need to be even more agile to respond to the business needs for growth and innovation

Page 5: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

But IT budgets and cost still present an enormous challenge

• Outdated hardware • Legacy software • Old models of doing business

• Maintenance and purchasing • Hardware/Virtual Machine and application

management • Operating the Datacenter • Outsourcing

Page 6: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

Applications have shifted to the cloud

Past Long application cycles

Monolithic apps Servers and VMs

Less data Desktop

Distinct infrastructure and operations teams

Today Rapid innovation Loosely-coupled apps, microservices, and containers Serverless Big Data Mobile Service-focused DevOps teams

CaaS Container Platform

On-Premises Infrastructure Platform

PaaS Application Platform

FaaS Serverless Platform

IaaS Infrastructure Platform

“lift & shift”

Page 7: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

Reach and engage

Modernize your business by modernizing your apps

Accelerate time-to-market while

reducing costs

Drive innovation

Page 8: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

Modernization is a journey

Phase 5 Phase 4 Phase 1 Phase 3 Phase 2

Valu

e #

wor

kloa

ds

• Complete a cloud native platform

• Create organization that develops and runs the cloud platform

• Integrate with current IT • Bring additional workloads live • Establish workload

management (intakes, backlog, priorities)

• Become the standard for innovation

• Customer/ Business focus • Continued platform

development • Scale up to factory model • Additional self-service

functions

• Proof of value • Launching workloads • Playgrounds

• Cloud native service delivery and operations

• Scale up workloads • Development and re-use

of certified services

• Increase maturity • Further reduction

of time to market • Further enable

business innovation

Experiment with cloud

• Customer invests in Cloud • Build Technical Foundation

Page 9: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

Modernization Landscape Microsoft Azure

Server machine migration to Microsoft Hyper-V or Azure. (Microsoft Windows and Linux, including Red Hat)

Server

migration

Application migration to a new or updated platform or extension into the public cloud for a hybrid solution.

Application migration

or extension

Remediate or refactor the application for Azure Platform-as-a-Service.

Application

modernization

Combine and reshape platform infrastructure and begin operating in an enhanced model while reducing risk.

Identity migration

Move file server data to hybrid cloud storage or migrate database instances to a modern SQL, MySQL, PostgreSQL or CosmosDB on Azure.

Data &

database migration

on-board users, and establish operational processes.

Page 10: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

Cloud Migration Strategies Azure Recommendations

Rearchitect

“Lift and shift”. No-code option

Repackaging. Minimal code changes

Modify or extend existing code to optimize for cloud

scale

On-Premises Infrastructure Platform

Rebuild app from scratch using cloud native technology

Less strategic More Business critical

Page 11: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

Lift and Shift

• Apps that are architected to use Azure infrastructure as a server (IaaS) scalability.

• Businesses that require the applications but don’t need to change app capabilities right away.

• Applications or database requirements that can only be met using an Azure IaaS virtual machine.

• Moving the application with no-code changes.

Refactor

• Driving continuous innovation by taking advantage of DevOps and containers.

• When you have an existing codebase and development skills, and code portability is a concern.

• A quick way to modernize your apps.

Rearchitect

• Take advantage of existing application investments.

• Meet scalability requirements in a cost-effective way.

• Bring new Azure capabilities to existing applications.

• Improve agility by applying innovative DevOps practices.

Rebuild

• Building new applications using cloud-native technologies.

• Building innovative apps that take advantage of advancements in artificial intelligence (AI), blockchain, and Internet of Things (IoT).

• Expediting business innovation.

Modernization Trends

Page 12: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize
Page 13: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

Project “Monolith”

The Monolithic Approach to Application Projects (bad)

Middle Tier

UI

Data Tier

Sprints #1 #2 #3 #4 #5 #6 #7 #8 #9 #10 #11 #12

Quick and dirty… Getting messy but we will clean it up… Start planning a replacement.

Project Timeline

Page 14: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

Microservices Architecture

http://martinfowler.com/articles/microservices.html

Page 15: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

Microservices Architecture

http://martinfowler.com/articles/microservices.html

“Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure.” -- Melvyn Conway, 1967

Monolithic Microservices

Page 16: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

Microservices - Key Benefits • Technology Heterogeneity

– Allow use of different technologies/programming languages. – Leverage new technologies without changing the full code base.

• Resilience – Degrade functionality when services are unavailable rather than fail the entire system.

• Scaling – Only need to scale the services that need scaling, not everything.

• Ease of Deployment – Individual services may be deployed without deploying the entire monolithic

application. • Organizational Alignment

– Small teams may work on manageable components. Works well with distributed teams. • Composability

– The ability to build and maintain durable, reusable components. • Optimizing for Replaceability

– Ability to manage retirement of system components to allow future growth.

Page 17: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize
Page 18: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

Top oil & gas firm accelerates software development to fuel global energy production

“Instead of telling people to wait for six months for a new feature, we can give it to them in a few weeks. Our lead cycles are getting much shorter, and we have business stakeholders involved so that our solutions are more aligned with business requirements.” Johan Krebbers, IT Chief Technology Officer, Royal Dutch Shell

Page 19: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

Grant Thornton International Limited rebuilds mission critical application to optimize audits

“Grant Thornton International Limited needed to change a mission critical application and Microsoft Services are enabling this digital transformation. We will have one source of truth for each audit. And that source of truth will be on the Azure environment.“ - Antony Nettleton, Global Leader – Assurance Services, Grant Thornton International Ltd

Page 20: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

By adopting Azure and cloud development strategies, GEICO is working to engage with customers more personally and dynamically.

Customers are engaging with us much more frequently and in new and interesting ways. We want to be ahead of the curve when it comes to where the next digital engagement opportunities will occur” - Fikri Larguet, Director of Cloud Services at GEICO,

Page 21: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize

BUILD THE INTELLIGENT FUTURE

Announcing

Microsoft “Week of AI”

V I R T U A L W O R K S H O P S E R I E S

27th May – 31st May, 2019

To know more & register, visit: aka.ms/WeekofAI

Page 22: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize
Page 23: App Modernization – Trends and Techniques...and containers. • When you have an existing codebase and development skills, and code portability is a concern. • A quick way to modernize