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.

Software is eating the world and MDD should be in the driving seat

8,346 views

Published on

Software is eating the world! Every company is becoming a software company. If companies don’t, they cease to exist. Just imagine: you are a thermostat maker and suddenly you have Google as a competitor (via its Nest acquisition). This is just one of the many recent examples.

Interestingly a lot of the innovations in the software industry are fuelled by abstraction and automation, concepts that are well-known in the MDD community. As the world is awakening to these concepts there is a clear opportunity (and need!) to bring MDD to a much broader audience.

In this keynote we will analyse what’s happening on all layers of the software stack. We will also explore how we can become more relevant as an MDD community. There is a ton of knowledge and experience in our community that could move the needle for a lot of companies, but are we using it? We need to stop doing what we always do. We need bold ideas and the courage to start a journey with no clear endpoint!

Published in: Software, Technology, Business

Software is eating the world and MDD should be in the driving seat

  1. 1. Software is eating the World and MDD should be in the driving seat Johan den Haan, CTO @ Mendix Twitter: @JohanDenHaan Blog: theenterprisearchitect.eu
  2. 2. It feels like big parts of the IT- world are stuck in their own groundhog day
  3. 3. STOP!
  4. 4. Every company is a software company!
  5. 5. Storage Travel Taxis Music Payment Home automation Movies Cars Apps are disrupting industries
  6. 6. To disrupt or to be disrupted
  7. 7. There is no choice: embrace the digital enterprise
  8. 8. How to become a digital enterprise? How to increase the pace of innovation?
  9. 9. IT should be at the core of your business
  10. 10. How to make your IT efforts competitive? AutomationAbstraction &
  11. 11. Recalibrating our views on “cloud” IaaS PaaS SaaS
  12. 12. Yes, we still need hardware… Compute Communicate Store Layer 0 Hardware Servers Switches, routers Storage
  13. 13. The software defined datacenter Layer 1 Software Defined Datacenter Infrastructure engineersVirtual Machines Compute Software Defined Networking (SDN) Communicate Software Defined Storage (SDS) Store Layer 0 Hardware Servers Switches, routers Storage
  14. 14. What is commonly referred to as IaaS Layer 1 Layer 2 Software Defined Datacenter Infrastructure engineersVirtual Machines Compute Software Defined Networking (SDN) Communicate Software Defined Storage (SDS) Object storage Store Layer 0 Hardware Servers Switches, routers Storage
  15. 15. A layer in the grey area between IaaS and PaaS Layer 1 Layer 2 Software Defined Datacenter Foundational PaaS Infrastructure engineers DevOps Virtual Machines Application containers Compute Software Defined Networking (SDN) Routing, messaging Communicate Software Defined Storage (SDS) Object storage Store Layer 0 Hardware Servers Switches, routers Storage
  16. 16. The core of every PaaS Layer 1 Layer 2 Layer 3 Software Defined Datacenter Foundational PaaS PaaS Infrastructure engineers DevOps Professional developers Virtual Machines Application containers aPaaS Compute Software Defined Networking (SDN) Routing, messaging Communicate Software Defined Storage (SDS) Object storage Store Layer 0 Hardware Servers Switches, routers Storage
  17. 17. Abstraction and automation Layer 1 Layer 2 Layer 3 Software Defined Datacenter Foundational PaaS PaaS Infrastructure engineers DevOps Professional developers Virtual Machines Application containers aPaaS Compute Software Defined Networking (SDN) Routing, messaging Communicate Software Defined Storage (SDS) Object storage Store Layer 0 Hardware Servers Switches, routers Storage
  18. 18. IaaS and Foundational PaaS are quickly becoming an undifferentiated commodity
  19. 19. Adding differentiating services tIBM. Codename: BlueMix BigQuery Layer 1 Layer 2 Layer 3 Software Defined Datacenter Foundational PaaS PaaS Infrastructure engineers DevOps Professional developers Virtual Machines Application containers aPaaS Compute Software Defined Networking (SDN) Routing, messaging iPaaS Communicate Software Defined Storage (SDS) Object storage dbPaaS Store Layer 0 Hardware Servers Switches, routers Storage
  20. 20. A cloud architecture is a strong enabler of the digital enterprise, it increases the pace of innovation •Abstraction and automation allow to focus on what matters: apps •Apps that are data- driven, adaptive, and change in real-time
  21. 21. PaaS vendors only address the deployment piece of the equation, they lack a vision on application development.
  22. 22. Writing code is still as sluggish as ever. Why don’t we apply abstraction and automation again?
  23. 23. A model-driven approach that empowers business engineers Layer 1 Layer 2 Layer 3 Layer 4 Software Defined Datacenter Foundational PaaS PaaS Model-Driven PaaS Infrastructure engineers DevOps Professional developers Business engineers Virtual Machines Application containers aPaaS Model Driven aPaaS, bpmPaaS Compute Software Defined Networking (SDN) Routing, messaging iPaaS Model-Driven iPaaS Communicate Software Defined Storage (SDS) Object storage dbPaaS baPaaS Store Layer 0 Hardware Servers Switches, routers Storage
  24. 24. Styling & user interaction Flows & actions JVM Browser ORM Access rules API & connectors Server communication Client-side logic Rich Forms DSL CSS Microflow DSL Mapping DSL Domain model Security DSL
  25. 25. Democratizing application development
  26. 26. Composing for the business, by the business Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Software Defined Datacenter Foundational PaaS PaaS Model-Driven PaaS App Services Infrastructure engineers DevOps Professional developers Business engineers Citizen developers Virtual Machines Application containers aPaaS Model Driven aPaaS, bpmPaaS App Services Compute Software Defined Networking (SDN) Routing, messaging iPaaS Model-Driven iPaaS Communications and Social Services Communicate Software Defined Storage (SDS) Object storage dbPaaS baPaaS Data-as-a-Service Store Layer 0 Hardware Servers Switches, routers Storage
  27. 27. End-users as part of the ecosystem Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Software Defined Datacenter Foundational PaaS PaaS Model-Driven PaaS App Services SaaS Applications Infrastructure engineers DevOps Professional developers Business engineers Citizen developers End-users Virtual Machines Application containers aPaaS Model Driven aPaaS, bpmPaaS App Services Compute Software Defined Networking (SDN) Routing, messaging iPaaS Model-Driven iPaaS Communications and Social Services Communicate Software Defined Storage (SDS) Object storage dbPaaS baPaaS Data-as-a-Service Store Layer 0 Hardware Servers Switches, routers Storage
  28. 28. End-user access to development capabilities? You cannot stop the gifted amateur…
  29. 29. Empower the business without loosing control
  30. 30. From hardware to end-user Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Software Defined Datacenter Foundational PaaS PaaS Model-Driven PaaS App Services SaaS Applications Infrastructure engineers DevOps Professional developers Business engineers Citizen developers End-users Virtual Machines Application containers aPaaS Model Driven aPaaS, bpmPaaS App Services Compute Software Defined Networking (SDN) Routing, messaging iPaaS Model-Driven iPaaS Communications and Social Services Communicate Software Defined Storage (SDS) Object storage dbPaaS baPaaS Data-as-a-Service Store Layer 0 Hardware Servers Switches, routers Storage
  31. 31. What do you see when you look at this? Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Software Defined Datacenter Foundational PaaS PaaS Model-Driven PaaS App Services SaaS Applications Infrastructure engineers DevOps Professional developers Business engineers Citizen developers End-users Virtual Machines Application containers aPaaS Model Driven aPaaS, bpmPaaS App Services Compute Software Defined Networking (SDN) Routing, messaging iPaaS Model-Driven iPaaS Communications and Social Services Communicate Software Defined Storage (SDS) Object storage dbPaaS baPaaS Data-as-a-Service Store Layer 0 Hardware Servers Switches, routers Storage •A lot of languages •Domain Specific Languages everywhere •A framework for language composition •A language engineering challenge •A huge opportunity!
  32. 32. The opportunity… Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Software Defined Datacenter Foundational PaaS PaaS Model-Driven PaaS App Services SaaS Applications Infrastructure engineers DevOps Professional developers Business engineers Citizen developers End-users Virtual Machines Application containers aPaaS Model Driven aPaaS, bpmPaaS App Services Compute Software Defined Networking (SDN) Routing, messaging iPaaS Model-Driven iPaaS Communications and Social Services Communicate Software Defined Storage (SDS) Object storage dbPaaS baPaaS Data-as-a-Service Store Layer 0 Hardware Servers Switches, routers Storage Turn “software-defined” into “metadata-driven”
  33. 33. 2 ideas for a metadata-driven future Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Software Defined Datacenter Foundational PaaS PaaS Model-Driven PaaS App Services SaaS Applications Infrastructure engineers DevOps Professional developers Business engineers Citizen developers End-users Virtual Machines Application containers aPaaS Model Driven aPaaS, bpmPaaS App Services Compute Software Defined Networking (SDN) Routing, messaging iPaaS Model-Driven iPaaS Communications and Social Services Communicate Software Defined Storage (SDS) Object storage dbPaaS baPaaS Data-as-a-Service Store Layer 0 Hardware Servers Switches, routers Storage 2 1
  34. 34. 1. Metadata-driven deployment and operations •Derive all deployment meta information and non-functional characteristics from model- driven PaaS layer •Specify as metadata and generate configuration for lower layers
  35. 35. 1. Metadata-driven deployment and operations •Examples:  Specify SLA for app, measure compliance at runtime, and adjust infrastructure if needed • Elasticity of resources • Deploy on location close to users (low latency)  App needs to communicate with service X and Y securely, automatically configure network to facilitate this  Configure iPaaS (integration flows, queues, etc.) based on specified integration points in app model  Characteristics and use of entities in the app model should lead to auto provisioning of the right database (type, size, scale)
  36. 36. 1. Metadata-driven deployment and operations Possible because everything is software-defined, but goes way beyond that!
  37. 37. 2 ideas for a metadata-driven future Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Software Defined Datacenter Foundational PaaS PaaS Model-Driven PaaS App Services SaaS Applications Infrastructure engineers DevOps Professional developers Business engineers Citizen developers End-users Virtual Machines Application containers aPaaS Model Driven aPaaS, bpmPaaS App Services Compute Software Defined Networking (SDN) Routing, messaging iPaaS Model-Driven iPaaS Communications and Social Services Communicate Software Defined Storage (SDS) Object storage dbPaaS baPaaS Data-as-a-Service Store Layer 0 Hardware Servers Switches, routers Storage 2 1
  38. 38. 2. APIs and data as first-class language concepts •Annotate APIs and data with proper metadata so that they become an integral part of the app model •APIs and data extend the language with “build- in” knowledge
  39. 39. 2. APIs and data as first-class language concepts •Example:
  40. 40. 2. APIs and data as first-class language concepts •Example:
  41. 41. 2. APIs and data as first-class language concepts Examples are small steps in the right direction, way more is possible!
  42. 42. Summary: abstraction, automation, metadata Layer 1 Layer 2 Layer 3 Layer 4 Layer 5 Layer 6 Software Defined Datacenter Foundational PaaS PaaS Model-Driven PaaS App Services SaaS Applications Infrastructure engineers DevOps Professional developers Business engineers Citizen developers End-users Virtual Machines Application containers aPaaS Model Driven aPaaS, bpmPaaS App Services Compute Software Defined Networking (SDN) Routing, messaging iPaaS Model-Driven iPaaS Communications and Social Services Communicate Software Defined Storage (SDS) Object storage dbPaaS baPaaS Data-as-a-Service Store Layer 0 Hardware Servers Switches, routers Storage 2 1
  43. 43. Summary: enabling the Digital Enterprise
  44. 44. MDD community, it’s time to take the driving seat!
  45. 45. Thank You Johan den Haan, CTO @ Mendix Twitter: @JohanDenHaan Blog: theenterprisearchitect.eu

×