 All right. OK. You're live. All righty. So thank you so much. So team folks, everyone, thank you so much for attending today's session. Welcome to our meetup. And today we have an interesting topic, which we're going to cover Hyperledger fabric deployment on AWS, IBM, and Oracle platforms. Today's speaker is Matt Zand. Matt is the CEO of Hashflow and has actually authored a book on O'Reilly. So if you're familiar with the O'Reilly books, I think we all are. The book is titled Hands-On Smart Contract Development with Hyperledger Fabric V2. So I think you guys are in for a treat. Matt's an entrepreneur. He's written more than 100 technical articles and tutorials on blockchain for both Hyperledger and Ethereum platforms and at sites including IBM, SAP, and Alibaba. So at Hashflow, we lead a team of blockchain experts for consulting and deploying enterprise dapps. He has a master's degree in business management from University of Maryland. If anyone has any questions, by all means, you can either drop, again, ask questions here on our chat. We also have in our chat now, you'll see a link to our YouTube live stream. So potentially, you can ask questions there. And with that being said, over to you, Matt. Thanks, Jeff, for introductions. And again, thanks again for Hyperledger community, for having me again in your community. And so basically, today, as Jeff said, I'm going to talk about how to deploy the fabric on cloud. And there are three most popular platforms right now for deploying the fabric on AWS, IBM, and Oracle. And another one outside the United States is Alibaba, which is also number four. And I have to tell you that Azure is not supporting the blockchain anymore. They used to be very good platform Azure, but they are not supporting. They shut down the blockchain platform a few months ago. So again, I'm assuming that you have some knowledge of Hyperledger, blockchain, Hyperledgers. And then again, I'm going to cover Hyperledger component in a little bit in a very scratchy surface. And then I jump into the AWS, IBM, Oracle. And one of the things is that you have to keep in mind that this is high-level presentation. And in each platform, I have so much stuff if you want to really get into the detail and deploy it step-by-step. So again, fortunately, my book covers all of these topics in more detail and a bit of hands-on way that we can follow. So before we start, I'm assuming that you know the Hyperledgers because you're a member of Hyperledger community and you know the Hyperledger ecosystems and distributed ledger technologies under the Hyperledger. And most specifically, I am hoping that you know how the Hyperledger fabric works. I'm going to a little bit cover it just in case that you are not familiar. So as Jeff covered my bio, I'm just jump into the outline. So I'm going to talk about Hyperledger fabric architecture and then how you can deploy the Hyperledger fabric on AWS, IBM, Oracle. Each one of these platforms have their own kind of the solutions for blockchain development or you know deploying the blockchain platform in them. And then also if you want to deploy your first platform, I also give you like step-by-steps that you just follow them. And so regarding the Hyperledger architecture and component, this is run down very high level of the key component of Hyperledger fabric. A peer ordering service or orderer, fabric certificate authority, managing all the certificates. As you know, if you are a member of blockchain network, you have to have a certificate in order to participate in activities of the network. And then the way that fabric manager certificate, it follows a hierarchy from top to top down, from top main admin to the bottom, which are the individual members of the network. And then we have fabric ledgers and then channel. Channel allows certain members in the network to communicate or exchange certain data with one another. And then we have a smart contract with chain code. And then we have endorsement policy, which is a part of a policy. And in the fabric, there is a whole area that's called policies or policy. This is amazing feature in fabric, which allows to make a rules regarding who does what in the network and on what conditions, you know, and when or where. All these conditions of rules and regulation can be defined in the policies. And all the members in the fabric consortium of fabric network need to agree on those policies before that policy gonna be enforced, you know. And then we have membership service providers, again, in charge of managing all the identities in the network, right? And so again, the peer can be created, start, stop and be configured and been deleted. So peer is like a node and if the organization has one peer or one node in the fabric network, and then it can also communicate with the peer through the API, you know, as external, you know, as externally, through the external UI. And then ordering service, again, in a very simple way, order or ordering service is a regulator. So in a fabric network, there are so many transactions going on, but there has to be a way to sort these transactions and add them to the ledger, right? So the job of the order is to receive the transaction, validate them and send them to the parties need to be, send them to the party that need to approve them or reject them. And once the consensus is achieved, the order is gonna add them to the ledger and then gossip back or broadcast back that successful transaction to the other members in the network or all the members in the network. So that's what the order does. It's just intermediatory or regulator for conducting or managing all the, or ordering all of the transactions in the system. So initially, when the fabric started, the type of the order was solo and then Kafka came. Now the Kafka is not supported anymore. So you have to stick with this craft for managing your ordering service. Now regarding the architecture of fabric, we have different organizations. As I said, each organization has a one node and then each organization can have its own certificate authority that manages its own team credential. And then also we have a main organization. As I said, there's a top down hierarchy of the credential management. And then another topic is just the channel. As I said, inside the fabric network, we can have multiple ledgers and each ledger is maintained by each channel. And so channel allows certain parties inside the network to communicate and so that's communication between certain parties. I'm gonna show you next graph can be done by channel and channel adds more complexity to the network. At the same time, it's meant for a reason. So one of the reason why fabric is so popular for enterprise is that it allows more resilient and flexibility with regard to the project requirement. So in other word, as your project requirement increases and then you start appreciating the fabrics features and component. So as a result, as you notice, the architecture of the hybrid fabric is a little bit, has a learning curve. It's a little bit difficult to learn at the beginning. Once you're learning and once you add more component and more requirement to your project, then you start realizing that fabrics are very more efficient and structured than Syria. Because I know also Syrian blockchain development fabric is much more structured, organized for larger scale project. Well, each organization can participate in multiple channel or it can be a part of different channels, right? For example, channel one can have two organizations, participant and channel two can have only organization, two organizations, Syria, right? And so basically the thing is that inside each channel, you can have a small contract, you can have specific policies that govern only that members of that channel or only that type of the transaction that taking place or data that is shared inside that channel. And then in the hyperledger fabric network, you have something called system channel, which is the admin or main channel that governs the whole network. And then for managing the kind of the credential identity, we have something called root certificate authority or root CA that manages all the, like his administrator of the whole network. And then each individual channels or members, they can have their own membership service provider. Again, it follows the top down hierarchy, right? And so the thing is that when you wanna access the kind of, so the SDK, you wanna access the organization, you still need to have some provisions, that you can receive it from the MSP, right? So a little bit graphical, it shows you better. So you have a system channel and then which governs the whole network. And then we have an order and then we have, in this case, we have two organization, two peers, right? And then we have channel. So for this one, as you see, we have three members. So channel one has order, organization one, organization two. And channel two is only have order and organization two. So you see that the different, each channel can have his own node or organization to join. So that's add more complexity to fabric network. Especially if you're using the fabric version two, it's also add more complexity when it's come to the private data collection, which I'm not gonna go over that. I'll cover this in my last talk in Atlanta. So the thing is that when it's come to the chain code, so basically in the chain code, what is that in the chain code, we have something called a state database. It's like a key value database. If you know MongoDB, it's just similar to no SQL database. And by default, fabric support the level DB, but I really suggest the couch DB because fabric version two support cash for couch DB, which means that you can also perform more in your systems. One of the key characteristics of the state database is that the data that is stored on a state database is mutable, is changeable. You can add and update that data. However, the data that is added to the ledger itself is immutable and it cannot be changed. So let me show you what I'm talking. So basically, so you have a chain code or a smart contract and then we have a node, node, node appears. Inside each node appears we have a state database which can be changed, can be updated, can be added and deleted. And then we have a ledger, which is like a log, L-O-G log file, if you're familiar with the system administrations and this is not gonna be changed. This is immutable. And basically this is synced across all the nodes in the system. So if something happened to this block hyper ledger network and if one of the nodes get compromised, then through the ledger, like Serium, you can sync all the, you can sync back and recover back this node to its original conditions because that ledger data is immutable and replicated across all the nodes. Now, one of the things is that from outside, if you wanna invoke, get some information from the nodes and show them the UI, then you communicate through this network to the state database. Now, one of the things is that in the FabricVersion2 as I covered in my last talk, can watch the video, there's something called external chain code launcher that comes with the FabricVersion2. So basically you can invoke the chain code or a small contract outside your network and then that's make the job of maintenance and lifecycle management of your chain code much easier. And again, another features that's very important for the FabricVersion2 is chain code lifecycle management which allows you to manage lifecycle very smoothly including the latest version of the Fabric. Now, so now that you know about Fabric component, let me jump into the cloud provider. The first cloud provider that I'm gonna cover is AWS or Amazon Dev Services. The thing is that no matter what you do, meaning that you have architectural model or whatever, at the end of the day, you have to use the cloud provider to deploy it. You're kind of the blockchain or hyper ledger solution. So AWS is usually the primary choice for many but by all means I'm saying I'm in favor of the AWS or other platform. I'm just gives you idea that AWS managed blockchain services is currently used by many people at different stages like proof of concept, minimum viable product or even production. Now AWS offer different kind of this. So I'm gonna talk about AWS blockchain services shortly meaning that they're different solutions that Amazon's offer for managing your blockchain infrastructure or your blockchain platform, right? So most popular one is AWS or Amazon's managed blockchain. Now, one of the problem with this AWS Amazon's managed blockchain based on the client that we have is that they still support the old version of hyper ledger 1.6 as of today which is not supported by hyper ledger anymore starting April 2021. So it has some effect on security. Even Amazon is quite secure but it's still is not supported anymore. So that's one of the reason many people who are right now using AWS managed blockchain at the production level are thinking of moving away from AWS to other platform or to the another solution that AWS offered called AWS blockchain template which means that you have to do everything from ground zero to set up and deploy everything, network everything step by step. So nothing is managed for you there, right? But it gives you flexibility of working with both hybrid, CRM and hyper ledger fabric as well as managing all of your certificates for yourself. But you have to watch for securities you know all this kind of the network things. Now, if you wanna come back to the AWS, if you wanna do a very simple demo and just quickly build a blockchain and deploy it on a fabric, you can use Amazon's managed blockchain. So there are three steps that you wanna do that. The first thing you have to set up your account is AWS. The second is that setup fabric network and the third step is the setup fabric client on that, right? So for each step, there are sub steps like there are things that you have to follow. And so for the lack of time, I just leave it for you guys. You can get my book, we cover each one of these steps in more detail. And for example, in AWS, we have something called identity and access management. But if you know how the hyper ledger works, we have something called access control list, right in hyper ledger. So it's similar to the access control list, right? And then when it's come to a network, you have to set up your network, create your virtual private at the end point. And then when it's come to setup your fabric client, you have to install that, you have to install your chain code, instantiate your chain code and all the environmental variables, your policies, email file configuration, install your chain code, your small contact instantiated on that node, query that, invoke it. So basically these are all steps by step that you follow in order to deploy your fabric and create your fabric client on AWS managed services. So again, we cover all of this in more detail in your book. Now, with regard to AWS, right? They offer kind of the three ways to create a blockchain services on their platform. So one of them called Amazon ledger database. So it's just basically a quantum ledger database or QLDB is just a database whose data is immutable, meaning that this is special type of noise cure, noise cure database whose data are immutable. Because if you know traditionally the SQL or noise cure database data can be altered or can be changed, updated, right? So this, if you use this kind of a service for Amazon, it allows you to use a database whose data are immutable and transparent to all parties that involve. So it's like a form of blockchain in itself, right? And then we have AWS blockchain template. As I mentioned early, this is meant for the companies who are really looking for being a blockchain from ground zero, everything to manage by themself and then platform everything, what gives them more performance and resilient flexibility as well as an option to make it hybrid, you know, with Serium and then Hyperledger Fabric. So this is the choice for many serious, large-scale project. Now, as I discussed early, Amazon managed blockchain services also is very popular because it's very easy, you know, relative to the template, the other one is much easier to deploy and use it because managed by Amazon. But obviously it's more expensive and also the thing is that currently is not supporting the latest version of the Fabric. So which means that not only your platform is have lack some security issues, but also you cannot also enjoy or benefit some of the features of Fabric version too, that's offered like external chain code launcher, things like that, or, you know, chain code lifecycle and manage. So that's again, that's if you regard, if you think of pros and cons of the AWS managed services, the advantages is that's very easy. These advantages are that is not supporting the latest versions. And also the thing is that it doesn't have so much flexibility when it comes to the, including adding other features that the libraries of Fabric. Now, now that you know about AWS, we move on to Fabric deployment on IBM. So the name of IBM is already known in the hyperledger community. It's quite, you know, IBM was one of the leading supporters has been at the beginning and it still is one of the leading supporters of hyperledger ecosystem. And then IBM allows, IBM cloud service allows users to fully manage their deployment, certificate and private keys. And it provides a simplified UI that allows developer to easily deploy Fabric component into the Kubernetes Red Hat OpenShift. So the things about Amazon is, the things about IBM is that IBM support the latest version of the Fabric, which is great, which means that you can reap the benefit of all of the security and features of Fabric version too. Now, one of the things about IBM is that if I wanna quickly run down or just gives you very quick overview of the main feature of IBM platform, I can summarize them into three or categories, the three area, development, operation and scalability. In other words, if you start building your, if you wanna start building your hyperledger applications and you wanna use the IBM, you can take advantage of IBM at three different stages, development, operation and scalability. So developments meaning that when you're building your platform, what are areas where IBM can be resourceful, right? Or handy. So one is that they have something called Red Hat Marketplace where you can go there and get some kind of the template that it can help you to easily deploy your network fast. And then also you can use the Kubernetes resources. We can increase your Kubernetes resources to easy to go from pure C to productions. So that's another advantage that IBM has. And then IBM also has a very nice kind of the developer tools, the platform has a very good developer tools that you can also utilize. Now, with regard to operation, the features that IBM platform offers is that you can deploy the peers on multiple channels on multiple clouds at the same time, which is again, it's great for enterprise or kind of the consortium. And you can also have a unified code-based features that runs on your component or your environment. So basically, so it allows you to run your component in a multiple platform at the same time. And then of course dynamic signature corrections, which allows you to manage all of the signatures of credential of the part is involved, which is great for collaborative governance of the channels of the channel configuration, meaning that if you wanna collect all the signatures or certificates of the people involved in your channel, you can use this features. And then also again, another one is that IBM allows you to allows you to remove all the Docker in Docker for chain codes, make it give the chain code more mobility and in the part so that they can run more security without fearing, requesting privileged access. So basically, it gives the chain code more mobility when the chain code is gonna move from one node to another nodes, you know? And it's also part of the chain code lifecycle management, that you have to keep in mind, especially when you are dealing with chain code across the channels. And this is fantastic features that I have to highlight. So basically, IBM allows you to easily upgrade to the latest version of the fabric. So it gives the system admin and developer a piece of mind that they don't need to worry about, can keep track of the versions or things like that. Then it allows them to automatically upgrade that. As you notice that we don't have these features in Amazon, in AWS. And then integrating of logging and monitoring tools with IBM is very good. So IBM, again, initially IBM created something called Hyperlegic Composer to not monitor the network, but then they discontinued that. And now still in their platform, they have something that you can use for logging and monitoring their network performance, you know? Now, with regard to the scalability, you know, IBM also offers some of the features. One is that amount of the resources, the computer power resources that you're utilizing by your network, like CPU, memory storage, and even you can also optimize and adjust the amount of resources you are using inside your Kubernetes cluster, you know what I mean? Which is great for scalability. And also, ability to replicate your Kubernetes deployment across multiple zone and regions. That's another fantastic features of the IBM. And then it also helps you to easily recover. If something happened, you know, in case of disaster recovery, you can also use that Kubernetes cluster, instant to easily replicate the whole network back to its original conditions. So now that we know about the features of IBM in serious stages of development, operation and scalability. Now, another things that you have to know or another key interesting features of IBM is that IBM blockchain platform has some kind of console that you can easily create and manage your blockchain application by using that console. So you can easily create your service instance, you know, all this stuff you can do, like Kubernetes cluster manage everything, their certificate, ordering service. Now, the two things you have to watch for is that, or the two limitation of console is that, you have to monitor the health and security and login of the Kubernetes cluster by yourself, right? And also, you have to manage your security, your certificate and private key by yourself. So IBM is not gonna manage or create a private key or manage your certificate private key for you. So you have to do it. So that's the two, that's only two limitations of that console. Other than that, the console is very handy and it's very useful to use. Now, now that we know about IBM, so the question is, okay, I have an application and I wanna deploy an IBM. What's next? What, how we can follow the steps to deploy my application on IBM, right? The first is that create an account on IBM Cloud Platform, get the account there and then decide what kind of the network structure you wanna use, right? How many members, how many MSP, membership service providers or certificate authority, how many peers, orderer. For example, in a book, we cover very simple example like this, you can have two certificate authority, two MSP, one peer, one orderer, one channel that include one peer and one orderer. So in all books, we cover this example of IBM to deploy. And then after that, you create and join the network, then you build a blockchain network, which means the certificate authority admin identity, register the users, then create a peer organization, MSP definitions, then create your peer node, create the ordering service orderer, add organization to it as a consortium members and then create and join the channel, deploy a small contract and create the applications. These are step by step you follow in order to deploy your hyper ledger on IBM. And again, I'm telling you, this is very high level. I'm scratching the surface, gives you very high level. If you wanna learn more about this in detail, we cover in depth in your book because some of these steps, there are more detail than this. You have to follow step by steps, like a tutorial guide in each one of them. So just look at all chapter in IBM in a book. Now, let's move on to the last platform, which is Oracle. Well, Oracle, with regard to Oracle, I'm gonna cover Oracle Blockchain Platform overview and then the architecture of the Oracle follows. In your Oracle, in your book, we covered one hands-on practical example or project, which is for universities issuing the certificate for the student graduate. And we follow the step by step from defining the problem, what is the problem universities and recruiters or employers and the students are facing, which is in the fake credential, right? And how we can use the blockchain to solve that problem, right? And how we can use the Oracle Blockchain Platform or OBP to deploy or application in the Oracle and what are the steps you follow to do that. And then after that, how we can interact with the solution once the product goes alive, right? How we can instantiate the small contract. So that's just a high-level topic they are covering in Oracle, right? Now, regarding the Oracle, Oracle offers three type of the product when it comes to blockchain development in the platform. One is called Oracle Blockchain Platform Cloud Service, another called Oracle Blockchain Platform Enterprise Editions, which they have also a prebuilt solutions, meaning that easy like manage services is already cooked up, you just use it. And on the Oracle Blockchain Platform Cloud Service, it includes the pre-assembled platform as a service or pass, you know? So basically everything is cooked up is already set up for you guys to use it right away, you know, it's a template-based provisioning. And it also uses the Oracle OCI means Oracle Cloud Interface, which you can easily manage all the interdependencies of your containers, you know, virtual machines and identities, you know, things like that. So I'm gonna talk about this in the next slide. And then we have another one, the last one, if you'll notice it was similar to the AWS, right? So Oracle offers a tamper-resistant blockchain table. So it's like a database whose data cannot be altered. It's immutable, but that's, it's like a semi-blockchain network that they offer in their platform, right? So now a little bit of like the way that Oracle Blockchain Platform is specific with regard to hyperledger is structured, it's like this, so we have this infrastructure, you know, pass. And then we have cloud platform here, ISO SAS, you know, like that. And then there is Raspberry, PR, SDK and administrations and they communicate with the Oracle platform, right? And then we have data services. Oracle Blockchain Platform is very good for data analytics and because they have very good connections with the databases and with the analytics on your data. So inside the fabric of the Oracle, they have distributed ledgers, they have a smart contract, you know, they support the smart contract, different languages, consensus, you know, raft and support draft. By the way, Oracle also support version two of the fabric, which is great resource and great, great kind of support that they have for fabric. And then also they give you the access control list and then also you can do the manage to your data, private data collections and channel inside the Oracle. And again, we covered this is more detailed in your book. And so, you know, the problem that you are, we discovered in your book was Oracle. We discussed what the problem is, how we can solve the problem as blockchain and what are the steps we follow to deploy that and how we can experience that. So in other words, we do like this. So from the left to right, so first thing we do in Oracle Cloud interface, we do the configuration like other platforms, you need to create the account, right? Choose your blockchain plan, you know, and create your account. And then after that, just for the component of Oracle you want to use, then you create your instance, you know, Oracle blockchain platform instance, then you create your blockchain network, then for example, you know, add the participant, export the important participant, certificate, you know, set up your orderer, you know, things like that. And then create your transaction infrastructure, meaning that the name of the application we are using in our platforms called Founder, create a channel at the founders or, you know, add the participant to your peers and your channels. And then once you create the transaction infrastructure, the next thing you will do is is to add a small smartness or a small contract to it, develop your chain code, deploy your chain code, instantiate your chain code and test your chain code. So basically there are one, two, three, five steps that you follow to deploy your fabric application Oracle from creating an account, creating an instance, network and, you know, transaction infrastructure and then chain code or a small contract, right? So as I mentioned earlier, this is very high level of the steps that you follow. So for each one of these steps, there is a specific tutorial, like the steps that you have to follow to do it. So again, take your book and take my book and we just covered, we covered those in detail in our book, right? Now, the thing is that just gives you a snapshot or, you know, it's just a very overview of the things that we covered in your project in Oracle chapter. So in our project, in this case, the university example, we have different stakeholders like employers, university and then what's called the students and then also the employers, right? That they interact. Grezzo-Maze goes to this platform, it's verified and then each participant in your network, they have something called access controllers, each participant has a certain level of access, like read only, read or write, who can only read just to review the data, which party can add or edit the data and what are the lists of the asset that we have for the learner, for the student, for the set, what are the type of certificate we have and then what are the lists of transactions we have in our system? Like creating a receiver, adding a certificate, approving the certificate, what are the lists of transactions? These are lists of transactions that we have in our example and then milestone, what are the things that we need to check in the network, right? So these are the things that we covered in detail in our example of the book, of the Oracle example, right? Now that they covered this three blockchain cloud platform and show you how you deploy your hyperledger fabric there, some of the things that you may need to know is like, what's the difference between a system admins and a developer? So if you're involved in hyperledger fabric, you end up having one of these two roles, one as a system administrator, another one as a fabric developer. But obviously in a larger project, you might have other hats like fabric architect, fabric business analyst or things like that, you may have. But in general, at a very high level, two major roles are system administrator and versus the fabric developer. If you were to come system admins, this is some of the major tasks that you are going to do on a daily basis, gonna be application lifecycle management, configure the network, do the troubleshooting on the logs, on the ledgers and manage the MSP or membership service providers, manage the network, monitor the network, things like that. And in order to be successful as a system admin, you need to also have some knowledge of fabric, meaning that you need to know the Linux command, you need to batch scripting, you need to dock her and you need to know a little bit of Kubernetes depending on the platform, couch TV and no SQL database. And obviously you have a good knowledge of how to block your folks. And then I really suggest you guys take this, if you wanna really prove yourself to the employers that you already know what you're doing as a system admin, as a fabric system admin, you should take the below certifications, got certified Hyperledge Fab administrations. This exam is taken by the Linux foundations and you can go check out the Hyperledge website to learn more about the certifications. On the other hand, if you become a fabric developers, then compared to the system admin, your main job is to work on the smart contract or chain code. So you need to be a good programmer, you need to design the logic of a smart contract, develop it and test to deploy it on the fabric. So that's mostly your book is about. So our book is about the people who wanna become a fabric developer. And starting 2020, Hyperledge Fab also offers certification for Fab developer, which is a very great certification if you wanna solidify your skills. So some of the major tasks that the fabric developers usually do on a daily basis is work on the transactional functions, run the queries, simple complex, we covered all of this in our book by the way. And you find the assets, identify potential, private data, manage the private data collection of fabric and then submit, evaluate the query transaction by invoking the smart contract, right? And then if you wanna become a good fabric developers, you need to have some knowledge of programming, and you have to understand the public blockchain works. But with regard to the programming languages, any language like JavaScript, in your book we covered JavaScript, which is a very simple programming language, but you can be Java, Go and Python. And then certification, as I said, this is a great certification if you wanna validate your skills as a fabric developer. Again, this exam is taken by Hyperledger, by Unix Foundation. You can go to Hyperledger Foundation to learn more about this certification exam. And then a little bit of HashFellow, in our company, HashFellow, we help different client and enterprise client in all different stages of the Hyperledger fabric product development from POSC to the productions. And we also offer services for deployment of fabric in AWS, IBM and Oracle. And then if you wanna learn more about our company, if you wanna ask, if you wanna discuss your project with me privately, you can also add me in LinkedIn and message me directly. Or you can go to our website and contact us there. And so, well, I think we wanna recap what we covered in this presentation, right? In this presentation, we discussed about Hyperledger fabric component, like an orderer, like a peer, like a channel, and how those different components work together. And we also discussed how, at a very high level, how you can deploy a fabric in top three popular cloud platform of AWS, IBM and Oracle. We also talked about what are the features, specific features offered in each cloud platform. And then we also show you a step-by-step process that you follow in order to deploy your first blockchain or Hyperledger platform in one of those platforms. And then I also covered about a different route that you can take, like become a Hyperledger fabric system adding versus developers, and what are the requirements and certificate with regard to each kind of their past that you wanna take. So with that being said, I'm ready to take on your questions, but also before the questions, I also add some resources here that you can read on your end. And then if you wanna learn AWS, you are also offered AWS training in your school. And then about my book, if you wanna check out my book and learn the topic that I discussed in this webinar in more in-depth, you can check out my book and we have one chapter on the Hyperledger fabric deployment on cloud. So now I'm ready to take on your question, Jeff. Thank you so much for a great presentation. I'm gonna start off with one question that Jess Hurwitz asked just a bit earlier. See if I can find it here. Bear with me one second, it's hiding on me. Or unless Jess, you wanna jump in and ask it, I think it would have to do with, let's see. Okay, I've seen it right now. Okay, Jeff. Yes, question, can you discuss the differences from platform to platform for deploying a node with an external third party? Yes, so basically what you're asking me is like, let's say that we have one node, an IBM one node in AWS and one node in Oracle. And if you wanna use external, what's the difference between different nodes in different parties? So the answer comes back to the fact that each parties has its own configuration when it comes to that. Because you see, the two area of, one is that the fabric software itself, the fabric, the source code of the fabric itself, which is external, right? Which is managed by the fabric foundation. And then you have other component, the UI, things like that, that offer and are specific to your platform, right? So again, the differences when it comes to that, one thing is that all of this have one thing in common is that the source code of the fabric comes from outside and that's the same. For example, if the fabric is supported, external, a small contract or chain called launcher, it's the same in all of them. It doesn't matter which platform we choose because it's come from the fabric, right? Now, with regard to the way that this platform support that, like meaning that if one platform only accept the Kubernetes, I mean like support Kubernetes, another platform has its own kind of the database, right? For handling of the chain. So there is a variation between different platform. And so one of the thing is that my suggestion is that if you're exploring something very simple, any of this platform would be good. But obviously the easiest one might be the one that's already managed services, right? And but on the other hand, if you're moving to productions, you have to look at how much resources you have internally in terms of managing the platform by yourself or deploying everything by yourself. So that's kind of the answer. So Jeff, I see a lot of question. Let me see if I can see Maria, EWS has a node, Promise and other clouds. Okay, Maria asks AWS Blockchain template enable hybrid in some node on Promise and other cloud. Yes, the answer to Maria is yes. AWS Blockchain template of support hybrid. Yes, that's correct. Now AWS offered the hybrid, but it's done through the template, Maria. And then Maria, I was covered that. Let's see if I can... So Jeff, I'm going through the question to see if I see what we see. I have found something regarding the support. I know IBM provide hybrid support. Okay, yeah, as I mentioned, IBM provide hybrid support too. Yes, you're right, Jeff. And then we have an open source project that uses, okay, free free to browse and use anything you might be useful. Okay, that's just information, okay, thanks. I have opened the, okay, everyone happy to help. So Matt, you've got a question towards the end, which is, can you discuss the differences? Oh, no, you already did that one. There was one beforehand, which was, in your book, there are sections installing prerequisites, including fabric installation strip. If I use the Amazon Managed Blockchain or AWS Blockchain templates, do I need to install fabric by myself via the installation script from your book? No, no, no. So what happened is, if you're using Amazon Managed Services, they already installed those for you. So you only need to install the network, just bring up the network. But major configuration has already been installed by you, by Amazon Managed Services. Thank you. Folks, team, any other, yes, please. Are Linux Foundation certification recognized across the ID? What was the question? Jeff, did you get it? The certifications of Linux Foundation, are they recognized? Oh, yes, oh, yes. Third, they're the best certification out there. So right now, if you wanna, if you have no education, let's say I put it this way, I have no education and let's say you have no education, not much of the experience, program experience, but if you get one of those certifications that I mentioned, you're good. You're really gonna shine now, shine in terms of the recruiters that are looking for, because both of those certifications that offer Linux Foundation are great with certificate, but they are not easy. They are not easy. That's the reason they're very good certification because both of them are challenging, but if you would be able to get them, then you would be good to shine to the recruiters and the hyper-legislative community. Awesome, any other questions? Folks that, if you have any thoughts, certainly, yep, the Linux Foundation certification is there's a lot of great information, educational material that's out there. Jeff, can I ask you a question? Oh, sure. Matt, do you have any experience with which programming, if there are differences, like if you develop a smart contract and go, will it run better on Oracle than on IBM than on AWS and like that with Node.js and Python and the other scripting languages for the smart contracts, are there differences between the platforms or is it more of a difference between the programming languages? I think it's between programming languages, not the platform. It has nothing to do with the platform. Okay, just wanted to be sure that... Yeah, yeah, but Pilla's also on top of that. The question, there is another question related to you, I get sometimes is that is choice of programming languages has anything to do with performance, because some people think that if they select the Go lang or Java, they might get a better performance on their application. But the answer is no, that's not correct. So we can get the good performance with JavaScript versus the Go. It's just a matter of choice, but it has nothing to do with the performance of your application, if what program languages you choose. Matt, I find curious, this is Jeff. So I'd love to hear more about that. I would have assumed that because you have different platforms that the performance that you're gonna get is gonna be somewhat dictated by that platform. Yeah, because you see, when it comes to performance, performance comes down to the infrastructure, like how much resources you have, right? CPU, RAM, availability level, things like that, service level, and that's infrastructure, right? And then you have another aspect of performance, which is like how your application design architecture, but it has nothing to do with the choice of your programming languages, right? So if I wanna summarize performance, this comes to the resources, infrastructure, and the logic of your smart contract. Because most of the time, the problem that some of these blockchain application they have is that the logic of the blockchain, the smart context, poor, poorly designed. And that's affected performance, not the programming language itself, right? Yeah, would you say that it's fair to say that they have a greater impact but there's still an impact depending on the language? I just wanna be clear on that one because I think certainly while the other points that you make are all valid, how you write your application, the architectural decisions, there are lots of factors that come into play when it comes to performance. Still, if you were going to say use the same infrastructure and environment, then perhaps you would see some differences. Yes, exactly, yes, exactly. And then one thing is that when it comes to the infrastructure, as Jeff you mentioned, for example, Kubernetes is very good, Kubernetes is great, you know what I mean? So the thing is that when it comes to your infrastructure, even beside resources like CPU and RAM, even some of the tools that the platform offers really important role, you know? Yes, sir, thank you. There's another question that came in. So is there a way to compare and contrast the computing requirement and costs of a smart contract to chain code or hosting hyperledger fabric network app across these cloud offerings? So that's a tricky question. So the thing is honestly, I haven't tried to, I mean, I'm not sure of such a tools that you can deploy on this. But one thing is that, one thing is that you can, you see, this way, I mean, the first part of the answer is that, no, I haven't been aware of such a tools and I haven't tried. Now, the second thing is that in most of the enterprise, large-scale companies, the selection of their platform comes down with what they already are using, right? So if a company like a Bank of America, if they're already using Azure, or they're using already IBM, they just use the IBM for their blockchain service, you know? So sometimes some of these decisions come from the top, right? If they already know a member of the Azure or IBM, they are gonna use the IBM for blockchain services because it's very easy to integrate these already existing platform that they have. I had a question about Kubernetes as a service on other platforms. Is it easy to deploy fabric on Kubernetes, on Azure, for example? So Azure is not supporting, Azure used to support Kubernetes on their platform, but Azure is not supporting that. Azure is not, Azure does not support blockchain anymore. Now, what was your question? What was your question? Azure or what was the second part of it? I think the question was, is it simple to deploy hyperledger fabric onto a Kubernetes environment? Yeah, if you know Kubernetes, yes. I mean, look, Kubernetes is amazing because when you come to the scaling and managing your network, Kubernetes is awesome. It's a great tools to use. But again, if you know Kubernetes, yes. It's easy to do it, but in general, if you're like completely new to Kubernetes, it might be difficult, but that says yes, Kubernetes is good. Fantastic, yeah. And just to clarify on the Azure piece too, I think what you're saying there is that there isn't a managed service for hyperledger fabric that's on Azure. You could still go in today if you wanted to and you could install say a Kubernetes platform, for instance, OpenShift, and then you could go and you could install hyperledger fabric into that Kubernetes environment. Yes, of course, it's an open source. You can install them, yeah. I just wanted to make sure that that was clear to both. Yeah, yeah, yeah, of course. And also wanted to bring up a point that Mike Brunt made, which was regarding, there are different language choices for chain code. And in respect to Java, he was talking about how tuning the JVM as you would imagine when it comes to that would potentially have an impact. In this case, he says, they fairly dramatic beneficial impact on the performance. So good point. And certainly want to make sure that we bring that out. Yes, exactly. So the thing is that, again, the thing is that one of the job of the system admin is just monitor the performance and to make sure that, you know, how the performance of the system has been monitored. And if there's something that they can edit, they can improve it, you know, it's part of the system admin. I would say that, you know, there are some, there's certainly been benchmarks and tests and around performance that you can find if you search out on the web and there's also the hyperledger fabric performance group. So you can probably find some information there as well. You know, obviously there's a lot of things to consider when it comes to performance. I mean, it's been that way for years, even going back to the application server wars back in the day, you know, when people were looking at the transactions per second and looking at all of those pieces. So all of that is, you know, certainly food for thought. Performance is an interesting topic, but I highly recommend that you take a look out there and then again, going back to Max's point earlier, none of that means a thing if you don't write your application properly, right? And the database is another piece, right? So, you know, whether you're using CouchDB or using LevelDB and we talked about CouchDB providing caching, certainly with LevelDB versus CouchDB, there were certainly some performance differences that we saw, especially earlier on working with fabric. So all of those are considerations and things you should look at. Exactly, and then coming back to you, Jeff, the thing is that you have to come up with a very good architecture for how you manage off the chain data, right? What data need to go on the chain and what data need to go off the chain, right? These decisions has to be carefully, you know, has to be done because the more you put your data on the chain, the less performance become because so much heavy chain become, right, the network. And so the things like you have to, the architecture is very important to know what, how you're designing your system and how you're putting together logic for your smart contract, you're right, Jeff. Fantastic. Well, I know we're at the top of the hour now. It's one o'clock. I'd like to thank everyone. I'd like to thank especially, first of all, Matt for a wonderful presentation. Check out his book, Their Shameless Plug. And also I'd like to thank the community for providing these tips, providing these links. Folks, take a look at what's in the chat window because there's some good stuff there. And also please, please, please contact us. Let us know what suggestions you have for upcoming sessions that we can provide you with. Whether we touch everything, whether we're talking about hyperledger, talking about identity, whether we're talking about non-fungible tokens, there's so many topics of interest. So please let us know what you'd like to hear about and we'll be sure to make sure we schedule something in the near future. And also if you're interested in presenting, please let us know that as well. Matt, thanks again for a great session and look forward to seeing everyone at our next event. Thanks, Jeff. Have a wonderful afternoon and take care of everyone. Take care, bye.