Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Why Application Innovation is important?
  • Decision Matrix for the compute options on Azure
  • Overview of each compute services and recent updates
  • Why you need to design differently on the cloud
  • Reference Architecture
  • Demo on Event Driven Scaling ( AKS + Azure functions)
  • Kahoot Quiz


Traditional application has a set of challenges

Aging infrastructure

...

...

  • Aging hardware, operating systems, and business applications in the datacenter can impact

...

  • :
  • Operational costs, effciency, and reliability.
  • Capital expenditure requirements.
  • Security, audit and reulatory compliance.

lack of agility

...

  • Deployment time of new services

...

  • Operation is time (and budget)

...

  • consuming.
  • Innovation is happening outside IT inside business areas.

Legacy applications

  • Longer

...

  • release cycles, monolithic and highly coupled architecture.
  • Highly IT dependent
  • Low application performance and time to market compromise business agility.

The (application) Journey to the Cloud

Image Added

Azure Cloud Adoption Framework

Image Added

Cloud app continuum

Image Added

Lift and Shift (Rehost)

Image Added

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.
  • Compute-intensive applications that are built for parallelism but don't require high-performance interprocess communications (IPC) and have independent datasets, and applications for which load balancing already increases scalability and availability.

Benefits

  • Drives instant reduction in TCO - 30% on average
  • No need to manage data centers
  • Enjoy flexible and scalable infrastructure

Core technologies

  • VM, VM Scale Set


Info

Source: Decision Point for Choosing a Cloud Application Migration Strategy, Gartner. Published: 29 March 2016

Refactor

Image Added

When to consider

  • You want to leverage existing development skills and codebase is paramount
  • When code portability is a concern.
  • You prefer a quick way to modernize your apps

Benefits

  • Drive continuous innovation by leveraging built-in DevOps for PaaS or using Containers
  • Existing programming models,languages and frameworks that can be easily used and extended.
  • Easily scale up or down to meet the changing needs of the business

Core technologies

  • Containers, container ochestration
  • DevOps tools


Info

Source: Decision Point for Choosing a Cloud Application Migration Strategy, Gartner. Published: 29 March 2016

Rebuild

Image Added

When to consider

  • You want to build for cloud-native PaaS environments from ground up.
  • Leverage previous investment in a cloud platform, e.g. when customer 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

  • Reduce TCO
  • Fully leverage the cloud native capabilities and build applications faster
  • Expedite your business innovation

Core technologies

  • Serverless, Pass


Info

Source: Decision Point for Choosing a Cloud Application Migration Strategy, Gartner. Published: 29 March 2016

Choosing Migration strategy and technology

ObjectivesCloud strategy

Options to

consider

RehostRefactorRearchitectRe-buildReplace
Innovation1Deliver new capabilities faster


V
PaaS, Serverless
2Provide multichannel access, including mobil


VVPaaS, Serverless
3Enable business agility with continuous innovation
VV

PaaS, Containers
Differentiation1More easily integrate with other web and cloud apps

VV
PaaS, Serverless
2Infuse intelligence into processes leveraging existing investments
VV

PaaS, Serverless
3Increase agility & support scalability requirements of existing applications more cost effectively
VV

PaaS, Containers
Record

1Free up data center space quicklyV


VVMs, SaaS
2Reduce capital expenditure of existing applications V


VVMs, SaaS
3Achieve rapid time to cloudV



VMs



Info

Note: Some of the objective might apply to more than one category of applications


What is Cloud Native App Development?

Image AddedPackage app code & dependencies in Kubernetescontainers

Image Added

Deploy as microservices

Image Added

Manage app withDevOpsprocesses & tools

Info

By 2020, 35% of production apps will be cloud native

Info

Source: IDC FutureScape: Worldwide Developer and DevOps2019 Predictions, Oct 2018


Common cloud native scenarios

Image Added

Image Added

Image Added

Image Added

Modernize business critical applicationsSaaS deliveryReal-time telemetryGeo-distributed applications

Key Components of Cloud Native

ResourcesDescription
ContainersTool to package your app, run it portably on different hosts in a consistent way.
Serverless

Platform for running and scaling apps where almost all of the operations tasks are managed by the cloud provider.

Optimized to let developers focus on code and business value.


Kubernetes

Platform to manage and scale your app reliably (made up of containers) that may span many physical and virtual machines.

A tool for operations, noet development.


Azure: The Power Of Choice

Compute

Image Added

Image Added

Virtual Machines

  • Ubuntu, Red Hat, Windows, SUSE, CoreOS
  • DevOps Extensions with Chef and Puppet Multiple sizes
  • Hundreds of items in marketplace


Container Service

Image Added

The container advantage

Image Added

Developers love Kubernetes

Image Added


Info

*According to the new 2020 State of Cloud Native Development Report developed for CNCF by SlashData

AKS: Simplify the deployment, nanagement, and operations of Kubernetes

ICONDescription

Image Added

Deploy and manage Kubernetes with ease

Image Added

Accelerate containerized application development

Image Added

Set up CI/CD in a few clicks

Image Added

Secure your Kubernetes environment

Image Added

Scale and run applications with confidence

Image Added

Work how you want with open-source tools & APIs

Scenarios for AKS

Image Added

Microservices with AKS

Image Added

Azure Container Registry

Image Added

Azure Container Instances (ACI)

Image Added

Azure App Service

Image Added

Image Added

Image Added

Reference Architecture for Managed Web

KindArchitectureResources Stack
Basic Web

Image Added

✓Service plan

✓Deployment

✓Authentication

✓SQL DB

✓Diagnostics

Improving Scalability

Image Added

✓WebJobs

✓Cache

✓CDN

✓Other storages

✓API App

Improving Availability

Image Added

✓Hosting in paired region

✓Traffic manager

✓Geo-replication

Serverless stands out as the technology

What is servierless?



Image Added

Full abstraction of servers

Developers can just focus on their code - there are no distractions around server management, capacity planning, or availability.

Image Added

Instant, event-driven scalability

Application components react to events and triggers in near real-time with virtually unlimited scalability; compute resources are used are needed.

Image Added

Pay-per-use

Only pay for what you use: billing is typically calculated on the number of function calls, code execution time, and memory used.*


*Supporting services, like storage and networking, may be charged separately.

Azure serverless ecosystem

Image Added

FaaS is the center of serverless

ICONDescription

Image Added

Single responsibility

Functions are single-purposed, reusable pieces of code that process an input and return a result.

Image Added

Short lived

Functions don't stick around when finished executing, freeing up resources for further executions.

Image Added

Stateless

Functions don't hold any persistent state and don't rely on the state of any other processes.

Image Added

Event driven & scalable

Functions respond to predefined events, and are instantly replicated as many times as needed.

Azure Functions Programming Model

Image Added

Scenarios for Serverless

  • Anything that needs to respond to events.
  • Image Added

Azure Doc: Decision Tree

Image Added


Info

https://aka.ms/comparecompute

Image Added


Info

https://docs.microsoft.com/en-us/azure/architecture/guide/technology-choices/compute-decision-tree

Bestbuy

ArchetectureKey Point

Image Added

  • Must be able to scale to billions of events
  • If an error occurs, Kafka should retry / not checkpoint
  • Ordering must be preserved