Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Modern Architecture in the Cloud of 2018


Published on

Today, the large public Clouds - Azure and AWS - deploy at high-speed a diversity of services and features. Between Azure Functions, Lambda, Event Grid, Simple Workflow Service or Logic Apps, what to choose? Shall I go on Microservices? Event-Driven? Lambda Architecture? Deploy on Serverless? Containers? Modern Compute? Let's put a bit of order in all that. Enter the Modern Architecture, the foundation of all the new wave of Cloud services and not only. Session focused on application and infrastructure architecture, live examples based on Cloud, perspectives and roadmap of the corresponding services at Microsoft.

Published in: Technology
  • Login to see the comments

Modern Architecture in the Cloud of 2018

  1. 1. 1 Azure Saturday 2018 MODERN ARCHITECTURE In The Cloud Of 2018 Marius Zaharia|Cellenza
  2. 2. 2 Azure Saturday 2018 Thank you, sponsors!
  3. 3. 3 Azure Saturday 2018 Agenda • Context and Challenges • Definition and Perspectives • Application Architecture Patterns • Deployment Patterns • Build and Compose • Transformation • Conclusion
  4. 4. 4 Meet the Team Azure MVP & Advisor AZUG FR Community Marius Zaharia Technical Manager Cloud, Cellenza @lecampusazure
  5. 5. Diversification of services and models  Today, more and more companies are planning to be or are already in the cloud  The large Public Clouds - Azure and AWS - deploy at high-speed a diversity of services and features  It becomes more and more difficult to find a service or make a clear choice « For my internet facing web solution: Azure App Service ? App Service for Containers ? Azure Functions ? Or rather automated VMs? VM Scale Sets ? A Kubernetes cluster with AKS ? »
  6. 6.  Acceleration of architectural evolutions towards new forms and patterns  Companies must be ready to apply these new patterns in their implementations Architectural Evolutions « I have in-house machine clusters and Enterprise Services Buses: what about the needs of our business units to implement microservice APIs? »
  7. 7.  Modern cloud services already used in some companies, but without specific recommendations  Cloud service developers or users do not know the impact of these services in the security context Risks of Cloud Architecture Choices « Azure Functions seems a very good solution for my scenario. But is the service secure enough to prevent access to users’ confidential data?» credits :
  8. 8.  with heavy architectural models come heavy development and implementation processes  low tooling and automation level  qualifications of the teams and their work habits Inadequate processes, tools and qualifications « A new marketing campaign will have to be launched in one month - infrastructure, development, deployment from scratch. Our teams usually deliver under 6 months. How to answer? » Credits:
  10. 10. Modern Architecture Cloud Agile / DevOps Modern Architecture Modern Architecture: This set of concepts and models that make applications: • Faster to implement, • More flexible and elastic, • More economically efficient It is based on two fundamental pillars: 1. The Cloud 2. DevOps and Agile practices
  11. 11. Traditional / on-premises Modern / Cloud Monolithic, centralized Decomposed, decentralized Design for predictable scalability Design for elastic scale Relational database Persistence polyglot Strong consistency Possible consistency Serial and synchronized processing Parallel and asynchronous processing Design to avoid failures Design in case of failure Large occasional updates Small frequent updates Manual management Automated management Approach comparizon
  12. 12. Modern Application Architecture • Microservices • Event-Driven • CQRS • Modern Orchestration • Lambda Architecture • … Modern Deployment Architecture • Serverless • Containers • Modern Compute • Managed Containers • … Modern Architecture – 2 perspectives New application patterns, or models revisited in the context of Cloud and DevOps Innovative deployment models made possible by the advent of the Cloud
  13. 13. Modern Application Architecture Patterns
  14. 14. 14 Microservices A software architecture model from which a complex set of services is broken down into several independent and loosely coupled processes, often specialized in a single task. Advantages Disadvantages Agility Service limits Reduced code, reduced team Data Integrity Mix of technologies Network congestion and latency Elasticity Complexity Scalability CI / CD / Automation Data isolation Surveillance & monitoring
  15. 15. 15 Event-Driven Architecture An Event-Driven architecture is made up of event producers that generate a flow of events and event consumers that listen to events.
  16. 16. 16 CQRS Command and Query Responsibility Segregation (CQRS) is an architectural model that essentially separates read operations from write operations. Advantages Disadvantages Independent scaling Complexity Optimized data schemas Messaging Security Eventual consistency Separation of concerns Simpler queries
  17. 17. 17 Other patterns • Orchestration / modern workflow • A process model consisting of sequential or parallel tasks that are based on connectors (prebuilt) • Lambda architecture • A data-processing architecture designed to handle amounts of data by taking advantage of batch and stream methods. • Big Data • Data architecture designed to handle the ingestion, processing, and analysis of large or complex data for traditional database systems. • Big Compute • Architecture describing large-scale workloads that require a large number of CPUs / cores, often hundreds or thousands, for mass computing
  19. 19. 19 Modern Compute • “Compute” originally refers to the classic IaaS model (based on virtual machines) • These are still unmanaged resources at the base • In exchange : • Model enriched by additional features like : automatic patching, change management, backup etc. • These features fulfill a part of the platform’s managing effort, while keeping the control • Automated implementation of the individual operations • Grouping of machines and scaling them together
  20. 20. 20 « Enhanced » PaaS • PaaS (Platform-as-a-Service) is designed as a more modern pattern than the IaaS from which it is derived • We still reason in terms of instances, but they are managed at the OS level and/or middleware level • In addition, PaaS evolves and is enriched by many configurations and services, such as: • Identity / authentication / authorization, backup • Domain management, push notifications for mobile • Automatic deployment, multi-slots • Advanced monitoring and troubleshooting, performance testing
  21. 21. 21 Serverless Serverless Computing is a deployment and execution model in which the service provider dynamically manages (and bills) the allocation of machine resources for each execution. Serverless is NOT just Function-as-a-Service Advantages Disadvantages Transparent scaling Performance Operations Limitation of resources Productivity Eventual consistency Cost Monitoring and troubleshooting
  22. 22. 22 Containers Containerization refers to a feature of the operating system in which the kernel allows the existence of multiple isolated user space instances, named containers. Programs running in a container can only see the contents of the container and the devices assigned to the container.
  23. 23. 23 Containers – derived patterns • Managed Containers • Orchestrator managed by the service provider • Serverless Containers • Serverless model but using containers for deployment
  24. 24. Classic vs modern deploymentpatterns Bare Metal IaaS PaaS Modern Compute Containers Serverless Managed Containers Serverless Containers Modern models: • Serverless, Containers, • Modern Compute, • ("Enhanced") PaaS Composite models: • Managed Containers • Serverless Containers Future models:? ? ? ? ?
  25. 25. Representative AZURE MODERN SERVICES
  26. 26. Modern Patterns in Azure Services Azure Functions Event Grid Logic Apps Kubernetes Service (AKS) Container Instances (ACI) Service Fabric Cosmos DB Durable Functions Stream Analytics Event-Driven Microservices Modern Orchestration Lambda Architecture NoSQL The applicability of the patterns is multiple; which complicates the classification and associations of the models. • We will use choice and decision matrices …… …….
  27. 27. 27 Modern Services in Azure •Virtual Machines is an IaaS service that allows you to deploy and manage virtual machines within a virtual network (VNET). •Virtual Machines Scale Sets (VMSS) is an IaaS service that allows you to deploy one or more (thousands) of virtual machines in an elastic scaling mode. For very powerful features around: patch management, change tracking, elastic scaling and automation Modern Compute •Azure Batch is a managed service that allows you to run high-performance computing (HPC) and parallel computing applications on a large scale.
  28. 28. 28 Modern Services in Azure •App Service is a managed (PaaS) service for hosting web applications (Web Apps), mobile applications or RESTful APIs "Enhanced" PaaS For high added value features For combining PaaS with the versatility of containers •Web App for Containers is a managed (PaaS) service for web application hosting (Web Apps) based on container deployment model. Containers "Enhanced" PaaS CQRS
  29. 29. 29 Modern Services in Azure •Azure Functions is a “Function-as-a-Service” managed service. This service is hosted by App Service but is based on a Serverless model via a special App Service Plan called Consumption Event-Driven Serverless For using triggers and bindings, combined with code •Azure Functions for Linux is a “Function-as-a-Service” managed service, to which deployment model relies on Docker containers on Linux Event-Driven Serverless Containers For using triggers and bindings, combined with containers Microservices Microservices
  30. 30. 30 Modern Services in Azure For high added value features Event-Driven Modern Orchestration Serverless For lightweight but very powerful workflows •Logic Apps is a managed service for implementing and hosting automated business processes. •Logic Apps is based a lot on predefined connectors or on standardized graphical actions. •Durable Functions is a managed serverless service for implementing and hosting business processes or custom actions that are implemented through code. Event-Driven Modern Orchestration Serverless
  31. 31. 31 Modern Services in Azure •Azure Event Grid is a events type service by linking producers (Azure services, but also custom apps) with consumers (Azure services or your code) Event-Driven Serverless For the intensive use of the event-driven model •Stream Analytics is a service based on an event engine capable of processing, filtering, directing events streams in real time Event-Driven For fast and powerful processing of real time events Archi. Lambda
  32. 32. 32 Modern Services in Azure •Azure Kubernetes Service (AKS) allows creating, configuring, and managing a cluster of preconfigured virtual machines for running container-based applications in an orchestrated mode. •Azure Container Instances allows to create, configure and manage individual containers directly. The hosting OS is managed behind. The provisioning cluster is completely transparent. Managed Containers Microservices Serverless Containers Microservices For the fine granularity of services For the simplicity and speed to create a container
  33. 33. 33 Modern Services in Azure •Service Fabric is a application orchestrator service that can run on many platforms and allows running microservices (stateless or stateful) as executables, or containers on a highly scalable cluster of machines. •Service Fabric Mesh is an Azure serverless offer based on the Service Fabric engine and fully managed by Azure. For a very powerful and scalable platform Managed Containers Microservices •Cosmos DB is a fully managed non-relational database (NoSQL) that allows global distribution, high availability and controllable consistency in a very granular way. "Enhanced" PaaS NoSQL For its wealth of features and the premium level of service Serverless*
  34. 34. Build and Compose a MODERN ARCHITECTURE
  35. 35. 35 Choice Matrix – Compute Services Criteria Virtual Machines App Service Service Fabric Azure Functions Azure Kubernetes Service Container Instances Azure Batch Application composition Agnostic Applications Services, guest executables, containers Functions Containers Containers Scheduled jobs Density Agnostic Multiple apps per instance via app plans Multiple services per VM No dedicated instances Multiple containers per VM No dedicated instances Multiple apps per VM Minimum number of nodes 1 1 5 No dedicated nodes 3 No dedicated nodes 1 State management Stateless or Stateful Stateless Stateless or stateful Stateless Stateless or Stateful Stateless Stateless OS Windows, Linux Windows, Linux Windows, Linux Not applicable Windows (preview), Linux Windows, Linux Windows, Linux Can be deployed to dedicated VNet? Supported Supported Supported Supported Not Supported Not supported Supported Hybrid connectivity Supported Supported Supported Supported Supported Not supported Supported
  36. 36. 36 Web and Mobile Applications Scalable Web Application
  37. 37. 37 Web and Mobile Applications
  38. 38. 38 Data / BI Applications
  39. 39. 39 Event Processing
  40. 40. 41 Enterprise Integration
  41. 41. Transformation et modernisation
  42. 42. 43 Transformation and modernisation 1.TECHNICAL 2.ORGANISATIONAL
  43. 43. 44 Transformation Steps Lift & Shift Migration of the VMs in the actual state Optimization Actions on configurations and levers to optimize consumption, simplify complexity, ... Modernization Deep change in application architecture to apply native cloud concepts
  44. 44. 45 From monolith to microservices From monolith to micro-teams
  45. 45. 46 DevOps, Essential
  46. 46. Conclusion
  47. 47. Conclusion • The Modern Architecture represents the Best (services) of the Cloud But: must understand well the Cloud and do the right choices • If coming from legacy, the optimal transformation process is fundamental It’s not only technique, but also organization
  48. 48. 49 Questions ?
  49. 49. Azure Saturday 2018 We appreciate your feedback!
  50. 50. Azure Saturday 2018 Thank you!