Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Denis Magda GridGain Product Manager Apache Ignite PMC Apache IgniteTM A Backbone for Mircoservices-based Architectures http://ignite.apache.org #apacheignite
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Agenda • Apache Ignite Service Grid • Microservices-based Solution with Apache Ignite • Data Nodes • Service Nodes • Inter-communication • Internal and External Applications • Persistence • Demo
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Apache Ignite Service Grid
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. In-Memory Data Fabric: More Than Data Grid
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Apache Ignite Service Grid • Any Service: counter, ID generator, etc. • Cluster Singleton • Node Singleton • Load Balancing • Fault Tolerant
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Deployment and Load Balancing • Manageable Deployment – Node Filter • Service Requests – Service Proxy – Sticky vs Non sticky • Manageable Deployment + Proxy – No need to have DDLs on all the nodes – Basement for Microservices Architecture
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Microservices-Based Solution With Apache Ignite
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Microservices: Common Pitfalls • Lifecycle Management • Services Communication • Load Balancing • Fault-tolerance • Scalability – Data Layer – Computational Layer
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Microservices Architecture: Data Node • Server node that – Stores data – Accepts queries – Accepts computations • Plain Distributed Storage – No data model classes – No computations classes – No services classes • Restarts-free – Apps and Services maintained separately
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Data Node: Source Code Definition
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Microservices Architecture: Service Node • Server or client node that – A candidate for a service deployment – Handles service requests • Hosts one or many services – Same type instances – Service A, Service B, etc. • Updated separately – New service version released – Restarted as a group
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Service Node: Source Code Definition
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Microservices Architecture: Communication • In-cluster Communication – Service Grid API • Service Interface – Service Nodes – Applications • Service Implementation – Service Nodes • External Communication Protocols – REST, Sockets, etc.
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Microservices Architecture: Applications • “Internal” Applications – Connect via Ignite API – Use Service Grid API • “External” Applications – Might not know about the cluster – REST, Sockets, etc.
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Microservices Architecture: Persistent Storage • Plugged-in to Data Nodes – RDBMS – Cassandra – Hadoop – Etc. • Read-through • Write-through • Transactional – Depends on a storage type
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Demo
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Resources • Blog posts: – https://www.gridgain.com/resources/blog/running-microservices- top-memory-data-grid-part-i – https://www.gridgain.com/resources/blog/microservices-top- memory-data-grid-part-ii – https://www.gridgain.com/resources/blog/microservices-top- memory-data-grid-part-iii • GitHub Project With Templates: – https://github.com/dmagda/MicroServicesExample • Service Grid: – https://apacheignite.readme.io/docs/service-grid
Apache®, Apache Ignite, Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. ANY QUESTIONS? Thank you for joining us. Follow the conversation. http://ignite.apache.org #apacheignite

Microservices Architectures With Apache Ignite

  • 1.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Denis Magda GridGain Product Manager Apache Ignite PMC Apache IgniteTM A Backbone for Mircoservices-based Architectures http://ignite.apache.org #apacheignite
  • 2.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Agenda • Apache Ignite Service Grid • Microservices-based Solution with Apache Ignite • Data Nodes • Service Nodes • Inter-communication • Internal and External Applications • Persistence • Demo
  • 3.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Apache Ignite Service Grid
  • 4.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. In-Memory Data Fabric: More Than Data Grid
  • 5.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Apache Ignite Service Grid • Any Service: counter, ID generator, etc. • Cluster Singleton • Node Singleton • Load Balancing • Fault Tolerant
  • 6.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Deployment and Load Balancing • Manageable Deployment – Node Filter • Service Requests – Service Proxy – Sticky vs Non sticky • Manageable Deployment + Proxy – No need to have DDLs on all the nodes – Basement for Microservices Architecture
  • 7.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Microservices-Based Solution With Apache Ignite
  • 8.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Microservices: Common Pitfalls • Lifecycle Management • Services Communication • Load Balancing • Fault-tolerance • Scalability – Data Layer – Computational Layer
  • 9.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.
  • 10.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Microservices Architecture: Data Node • Server node that – Stores data – Accepts queries – Accepts computations • Plain Distributed Storage – No data model classes – No computations classes – No services classes • Restarts-free – Apps and Services maintained separately
  • 11.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Data Node: Source Code Definition
  • 12.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.
  • 13.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Microservices Architecture: Service Node • Server or client node that – A candidate for a service deployment – Handles service requests • Hosts one or many services – Same type instances – Service A, Service B, etc. • Updated separately – New service version released – Restarted as a group
  • 14.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Service Node: Source Code Definition
  • 15.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Microservices Architecture: Communication • In-cluster Communication – Service Grid API • Service Interface – Service Nodes – Applications • Service Implementation – Service Nodes • External Communication Protocols – REST, Sockets, etc.
  • 16.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.
  • 17.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Microservices Architecture: Applications • “Internal” Applications – Connect via Ignite API – Use Service Grid API • “External” Applications – Might not know about the cluster – REST, Sockets, etc.
  • 18.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.
  • 19.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Microservices Architecture: Persistent Storage • Plugged-in to Data Nodes – RDBMS – Cassandra – Hadoop – Etc. • Read-through • Write-through • Transactional – Depends on a storage type
  • 20.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Demo
  • 21.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. Resources • Blog posts: – https://www.gridgain.com/resources/blog/running-microservices- top-memory-data-grid-part-i – https://www.gridgain.com/resources/blog/microservices-top- memory-data-grid-part-ii – https://www.gridgain.com/resources/blog/microservices-top- memory-data-grid-part-iii • GitHub Project With Templates: – https://github.com/dmagda/MicroServicesExample • Service Grid: – https://apacheignite.readme.io/docs/service-grid
  • 22.
    Apache®, Apache Ignite,Ignite®, and the Apache Ignite logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries. ANY QUESTIONS? Thank you for joining us. Follow the conversation. http://ignite.apache.org #apacheignite

Editor's Notes

  • #21 Let’s show WebConcole Demo: Executing SQL queries Debugging with EXPLAIN Periodic queries Query monitoring