Alexandre Menezes Cloud Solution Architect alexandre.menezes@microsoft.com https://www.linkedin.com/in/alexandremenezes/
You want to adopt cloud technologies for your apps, but
Agility Time to market Reduce TCO Experiment quickly Increase audience reach Improve app experiences IT simplification Tailor LOB apps Scale more effectively
On-Premises Infrastructure Platform IaaS Infrastructure Platform lift & shift Containers Container Platform PaaS/Serverless Application Platform
When to consider Ideal when your goal is to improve operational efficiencies, and free up data center space Maintenance apps for which the hardware is not worth additional investment Cost saving strategies First steps into the cloud game Benefits Reduce TCO Staff, Hardware, real state, electricity, etc. Enjoy flexible and infinite scalable infrastructure Let IT focus on core business Definition: Rehosting is also referred to as a "lift-and-shift" migration. In essence, the application is moved into the IaaS environment of a cloud provider while avoiding as many modifications to the system as possible. In this case, you would not be taking advantage of cloud technology such as autoscaling, for example. Core technologies VM, VM Scale Set, Networking
When to consider You want to leverage existing development skills and codebase is paramount When code portability is a concern You prefer a quick ways to modernize your apps Definition: Repacking (or Refactoring) an application involves some change to the application design, but not wholesale changes to the application code. The application takes advantage of containerization technologies together with CI/CD tooling Benefits Easily scale up or down to meet the changing needs of the business Improved portability and density Existing programming models, languages and frameworks that can be easily used and extended Fast CI/CD Drive continuous innovation by leveraging built-in DevOps or using Containers Core technologies Containers, container orchestration CI/CD tools
Quick modernization: Cloud adoption without changing a single line of code Select your container technology and ensure the cloud provider supports it Build your own or use a prescriptive platform Faster app deployment when integrated CI/CD processes
Leap into automation Huge benefit from automation investiments Plan + Track Release Development Operations Develop + Test Monitor + Learn
When to consider When apps need a major revision to incorporate new capabilities or take advantage of the cloud-native capabilities. Benefits Deliver new capabilities and modernization through modified codebase and a monolithic to micro services architectural revision. Reduce the volume of code needed to express a capability while still leveraging existing investments. Agility and scale. Definition: Rearchitecting an application for cloud usage enables you to take advantage of technologies such as auto-scaling and dynamic reconfiguration and cloud-only technologies (i.e Serverless). This process will require developer resources to implement and can take significant time to implement. Core technologies PaaS, microservices, containers and Serverless
Serverless Anything that needs to respond to events Abstraction of servers Event-driven/ Instant scale Micro billing?...
When to consider You want to build for cloud-native PaaS environments from ground up (New Projects!) Leverage previous investment in a cloud platform, e.g. when data has already moved to the Cloud Rapid prototyping is crucial or the scope of a current application is too limited in terms of functionality and lifespan Benefits Fully leverage the cloud native capabilities and build applications faster Expedite your business innovation Definition: Build new application using cloud native environment. Wherever possible, prioritize high-productivity PaaS - model driven or rapid application development, and Serverless Core technologies Serverless, PaaS
Application Modernization Approaches Possible journey ways Re-host (lift-and-shift) Rearchitect / Rebuild Repacking
Objectives Migrate Modernize Re-host Repack Rearchitect Rebuild Options to consider 1 Deliver new and breakthrough capabilities faster PaaS, Optimize for developer productivity, build apps faster Serverless 2 Provide multichannel access, including mobile and IoT PaaS, Enable wider, secure access to applications, support range of devices Serverless 3 More easily integrate with other web and cloud apps PaaS, Leverage PaaS, increase productivity with Serverless Serverless 4 Enable business agility with continuous innovation PaaS, Increase DevOps agility across teams Containers 5 Meet scalability requirements of existing apps more cost effectively PaaS, Optimize application architecture for cloud scale Containers 6 Leveraging existing investments PaaS, Across dev/ops, developer experience, tooling, infrastructure and deployed apps Containers 7 Free up data center space quickly IaaS Free up or consolidate resources for apps that must reside on-premises 8 Reduce capital expenditure of existing applications IaaS Switch to pay-as-you-go model, realize better budget forecasting 9 Achieve rapid time to cloud IaaS Allow migration with minimal architectural impact