Determine your best way to modernize your organization’s applications with Microsoft Azure.
Want to know more? Don't hesitate to download our White Paper 'Making the Move to Application Modernization; Your Compass to Cloud Native': http://bit.ly/39XylZp
6. Application challenges
6
Code
Future proof: Better scale and more
resiliency
Agility to add and update features and
functionality
Infrastructure
Managing heterogeneous workloads
Hybrid deployments
Continuous monitoring
Cost management
Data
Data growth and data silos
Performance constraints
Complexity of solutions
Rising data maintenance costs (GDPR)
More storage of unstructured data
Application Delivery
Release faster
Improve software quality
Faster response to bugs or incidents
Continuously improve and evolve
applications by learning from real usage
7. The road ahead
7
Application silos, built in isolation
Limited set of platforms and form factors
Overabundance of data
Servers and infrastructure to manage
Upfront capacity planning, fixed scale
Multi-channel applications, covering all touchpoints
Many platforms, devices and form factors
Data-driven intelligence in applications
Focus on application functionality, not infrastructure
Elastic, unlimited scale
Today Future
IaaS / VM
PaaS
Serverless
SaaS
10. Cloud maturity in App Modernization
10
Existing apps
on-prem
Lift & Shift
Cloud
optimized
App
modernized
Legacy
applications
Fase out
Potential
intermediate step
Hardware EOL
Scalability
enhancements
Increase security
Strategic
applications
New functionalities
11. The value of PaaS
11
On Premises
Youscale,makeresilientandmanage
Infrastructure
(as a Service)
Managedbyvendor
Youscale,make
resilient&manage
Platform
(as a Service)
Scale,resilienceand
managementbyvendor
Youmanage
Software
(as a Service)
Applications
Scale,resilienceand
managementbyvendor
12. The value of PaaS
12
| Mix & match components to build a scalable solution
| Auto-scale possible
| Embedded security
| Open for full customization & integration
| Hybrid is crucial
| Build on an evolving platform
| Features get added
| Monitoring by design
| Deployment automated
| Easy to add new features (example: data analytics)
| Focus on creating value, less on building infrastructure
14. Move to the cloud
14
“What your application works with”
Data
“What your application does”
Code
“What your application runs on”
Infrastructure
Unified Management • Security • Governance • Tools • DevOps
Containers • Microservices • Data lake • Serverless
15. Modernizing with container technology
15
| Build once, run everywhere
| Cross platform: on the edge, in the cloud, in the data center
| Small effort, biggest gains in deployment
DeploymentModernizationExisting application
VM Container
Azure
Container
Registry
Convert Publish
Azure
Kubernetes
Registry
16. Carve out with micro services
16
| A journey from monolith to micro services
| Carve out functionality
| Phased out approach to reduce complexity & risk
| Ship services as independent containers
| Services are owned and adapted by teams
| PaaS, unless…
| API management as routing facade to hide
migration & implementation logic
Monolith
App
Large, all-inclusive app
Micro services
App App
Small, independent services
Session by Tom Kerkhove at Ignite:
https://myignite.techcommunity.microsoft.com/sessions/81603
17. New applications
Scenario
specific services
Data strategy
17
| Get data from silos
| Analytics & insights can result in new applications or features
Existing applications
Functionality
& Interaction
Data integration & pipelines
Scheduling &
pipelines
Publish
Raw Data
Curated Data
Data Stream
Async Batch
Analytics
Predictions
18. Extend functionality through Serverless
18
Existing web application
ASP.NET Website
WCF Service
Updates
detected in
application
On business
event, run
Logic App
Based on
address, use
text translator
Check-In
Check-Out
Event trigger
New cloud-native capabilities
Customer
email sent
| Existing code is left as-is and can be hosted in managed cloud service
| When scale needed, innovative capabilities are needed, these can be moved to serverless
functions, triggered through Event Grid.
19. Deliver faster and add reliability through DevOps
19
Faster delivery to production • More business value
OperateCollaborate DeliverDevelopPlan
Boards
(Azure DevOps)
Visual Studio
Visual Studio Code
Pipelines + Test Plans
+ Artifacts
(Azure DevOps)
Monitor
(Azure Monitor)
GitHub
20. Cloud native PaaS for Green field solutions
20
Pick your data storage solution
Data Lake • Azure SQL DB •
CosmosDb • Azure Synapse Analytics
Data
Pick your integration strategy
API Management • Event Grid •
Service Bus • Data Factory
Messaging
Pick your hosting option
Kubernetes • Microservices • Web
Apps • Serverless functions
Infrastructure
Unified Management • Security • Governance • Tools • DevOps
Containers • Microservices • Data lake • Serverless
22. Reference case
22
Swiss Re Revolutionized
the Insurance Industry
| Leading global reinsurer
| Challenge: Diversify offering
| Solution: Multi-tenant claim app based
on real flight data
| Result: Access to new risk pools
23. Reference case
23
Get Started with an
Assessment
What we will do
| System review
| Application(s) review
| Project & methodology review
| Operations review
What you will get
| Solution Architecture
| Migration strategy
| Scope & estimation
24. Picking the right
strategy to modernize
existing applications
can yield cloud-native
advantages
Takeaways
24
| Application modernization should
drive these benefits:
| Add flexibility and agility
| Scale with growth
| Focus on functionality, not on
infrastructure
| Isolate responsibilities and
functionality
| Run logic on the compute of your
choice
| Reduce TCO of the full solution
Intro
Why modernization
Strategies for modernization
5 Services & patterns to help customers in modernizing
Companies are suddenly selling & shipping software, with their products
Examples
Buhler with chocolate machines
Energy companies delivering subscriptions
Transport & logistics with new business models
Data is often locked up in silo’s and integration can help
Mix & match data
Open up for data consumption & platforms
Extend & automate
Codit has been doing this for years and can build the basis for any modern application
*
When transforming the business, it’s all about data
Insights and retrospective information
Enriching data with new unstructured data
Also predict and prevent
Two motivations to modernize:
Breathe new life in existing applications
Extend legacy applications with new functionality
(per every animated step):
Cycles of maintenance happen in the traditional datacenter and make customer rethink
Adding features and functionality
Business success requires more scale
Compliance & security
There are two approaches:
Migration: focusing on rehosting on different infrastructure
Modernization: leverage more cloud native functionality
Some apps might be outdated and cannot follow the business needs.
Customers want to use IT budgets for business benefits, and not just for maintenance
Applications are changing
Multiple front ends: bots, apps, API’s and web
Multiple views & different roles
Data & A.I.
Deliver and ship more frequently
Scale and tune for what is needed
Existing: customers don’t want to move the entire portfolio at once
Lift & shift: focus on infrastructure, less cloud native benefits
Optimize: better scale, enhance parts of the application
Modernize: strategic move, refactor code & redesign architecture
Lift & shift : delay often means cancellation
Optimize: more security, unlock data, leverage containers
Modernize:refactor & add new functionality
Customers want to focus on Applications & Data – and consider the underlying parts as commodity
The choice between PaaS & SaaS, is pretty much a build vs buy
It takes time to get to PaaS, focus on the strategic apps first
Customers own and evolve the solution : Systems become products
Scale & security
CI / CD
Infrastructure becomes part of the deployment
You can move parts separately (hybrid)
Containers, micro services, data lake & serverless should ben mentioned
A popular choice for quick, no-code application modernization is container technology.
Apps are abstracted from the environment in which they run.
Deploy easily and consistently, where you want: private data center, the public cloud, or even a developer’s personal laptop.
Iterate & version control
Microservices architecture means breaking large software projects into smaller, independent, and loosely coupled modules.
When using microservices, each service is independent, and each service is a new project that can be developed on its own schedule, using any language or stack that best fits current requirements.
Scaling up is easier than with traditional VMs or even Containers – it just requires deploying additional services as needed.
Microservices make application maintenance easier - developers work on individual services, so the code base a developer needs to handle is smaller, easier to manage and easier to understand.
Microservices-based applications are also more resilient and stable - if one or more services should fail, the application will continue to work.
Individual service instances can easily be upgraded, changed or taken down without impacting the entire application negatively.
Data integration & unlocking data – streaming or ETL’ing into a data lake
Perform analytics or Machine Learning
Expose data & functionality through API management
Build new scenarios or add new features, leveraging these new insights
With Azure, you can build applications without provisioning and managing infrastructure using a fully managed platform where scaling, availability, and performance are handled for you.
The keyword here is serverless, a cloud-computing execution model in which the cloud provider dynamically manages the allocation of machine resources.
This approach allows developers to focus on code without distractions – if they do not have to think about infrastructure, they will be more productive.
Serverless functions are optimized for any scenario where logic needs to be run in response to an event – and this definition encompasses a lot of application scenarios.
For legacy applications, serverless also offers an attractive way to extend the functionality of an existing application without touching the actual source code which might be undocumented or outdated.
Instead of implementing new functionality in the main application, it’s much easier and faster to surround it with pockets of new functionality using technologies like serverless functions that can be triggered via APIs and events.
This also enables you to use advanced cloud-only capabilities like machine learning or AI with existing legacy applications that were built before such technologies were widely available.
DevOps is the union of people, process, and tools to enable continuous delivery of value to end users.
The contraction of Dev and Ops refers to replacing silo’ed Development and Operations disciplines with multidisciplinary teams that work together with shared and efficient practices and tools.
A converged DevOps cycle provides the ability to execute on ideas quickly and iterate on feedback rapidly while at the same time maintaining highest levels of quality.
For Microsoft, DevOps encompasses the whole application lifecycle, from idea to application running in production.
DevOps is built into the foundation of Azure, not bolted-on like with other cloud vendors.
Azure DevOps lets you plan smarter, collaborate better, and ship faster with a set of modern developer services.
You can use all the Azure DevOps services or choose just what you need to complement your existing workflows and toolchains.
Green field solutions start with a blanc sheet
There are reference architectures & best practices we can help with
Pick the right components and leverage cloud native benefits
Having built thousands of integration processes, since 2000, Codit has built a big experience in integration and system connectivity. Because of our dedicated focus, we can say that we have built an extensive set of best practices and tooling around Azure Solutions and integration (AIS, APIManagement) in general.
Therefore, we often provide quality assurance or review on projects of customers; worldwide.
The quality review contains 3 different parts:
System review. This part focused on the actual system setup and configuration. Here we are focusing on the aspects around the setup of the Azure subscriptions and organization of Azure artifacts, including performance, security and cost management.
Application review. In this part of the review, we do a review of the actual development artifacts and the different application settings. We look to see if everything is ready for change and flexible enough for your organization.
Project & Methodology review. We review methodology and procedures used for Azure projects. Source control, testing strategy, build and deployment procedures will be evaluated.
Operations review. We review processes and approach used for Monitoring and Operating the Azure environment and implementations deployed on the Azure portal.