-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path5061883d.db583d55.js
1 lines (1 loc) · 14.5 KB
/
5061883d.db583d55.js
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{116:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return r})),a.d(t,"rightToc",(function(){return i})),a.d(t,"default",(function(){return l}));a(0);var n=a(186);function o(){return(o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e}).apply(this,arguments)}const r={id:"blockchain-is-complicated-can-we-just-use-apis",date:new Date("2019-11-14T00:00:00.000Z"),title:"Blockchain is Complicated, can we just use APIs?",subtitle:"An article series about Practical Blockchain",tags:["practical blockchain","enterprise blockchain","article series","cloud infrastructure"],keywords:["practical blockchain","blockchain","enterprise","enterprise software","enterprise blockchain","APIs","article series","cloud infrastructure"],description:"Debunking some myths around the Blockchain technology, and approach the whole essence of the Practical Blockchain, and their use in the enterprise, across multiple industries.",hero:"https://media.licdn.com/dms/image/C4E12AQGdX5lbYPWv0w/article-cover_image-shrink_720_1280/0?e=1583971200&v=beta&t=LARl9skYFc9FGoyuU_8OjZ1COpdJwyMJrZlb360yEYU",author:"Evangelos Pappas",authorTitle:"CEO of Ocyan",authorURL:"https://www.linkedin.com/in/evalon",authorImageURL:"https://avatars3.githubusercontent.com/u/434149?s=460&v=4",authorTwitter:"hevalon"},i=[{value:"1. Let\u2019s just use APIs, forget blockchain",id:"1-lets-just-use-apis-forget-blockchain",children:[{value:"1.1 API Economy",id:"11-api-economy",children:[]},{value:"1.1.1 The struggle for the SLA",id:"111-the-struggle-for-the-sla",children:[]},{value:"1.1.2 You can not rely on their SLA",id:"112-you-can-not-rely-on-their-sla",children:[]},{value:"1.1.3 Everyone does it",id:"113-everyone-does-it",children:[]}]},{value:"1.2 You have reinvented Blockchain",id:"12-you-have-reinvented-blockchain",children:[{value:"1.2.2 The Blockchain approach",id:"122-the-blockchain-approach",children:[]},{value:"1.2.3 Blockchain Scalability",id:"123-blockchain-scalability",children:[]}]},{value:"Hello from Ocyan",id:"hello-from-ocyan",children:[]}],c={rightToc:i},s="wrapper";function l({components:e,...t}){return Object(n.b)(s,o({},c,t,{components:e,mdxType:"MDXLayout"}),Object(n.b)("p",null,"Hi, it\u2019s Evan here from ",Object(n.b)("a",o({parentName:"p"},{href:"https://www.linkedin.com/company/ocyan-tech?lipi=urn%3Ali%3Apage%3Ad_flagship3_pulse_read%3BrXKRS18pRzKVYiEpzMClnw%3D%3D"}),"Ocyan"),", and on this short series of articles I\u2019m trying to debunk some myths around the Blockchain technology, and approach the whole essence of the ",Object(n.b)("a",o({parentName:"p"},{href:"https://www.gartner.com/en/documents/3628617/practical-blockchain-a-gartner-trend-insight-report"}),"Practical Blockchain"),", and their use in the enterprise, across multiple industries."),Object(n.b)("p",null,"If you are a sceptic against blockchain, or if you are considering to use Blockchain, or scale it in your organisation this might be a good source of information for you. On the other hand, If you are looking for an interesting ICO, crypto speculation or anything relevant, please skip this article \ud83d\ude42."),Object(n.b)("p",null,"Here we go,"),Object(n.b)("p",null,"Unless you have been living under a rock, the ",Object(n.b)("a",o({parentName:"p"},{href:"https://www.forbes.com/sites/forbestechcouncil/2019/08/23/blockchain-still-shows-great-promise-after-the-hype/#36da62b14ecb"}),"\u201cBlockchain hype\u201d")," has been a vibrant part of any business discussion. And as a usual response you must have heard a variation of one of the followings:"),Object(n.b)("ul",null,Object(n.b)("li",{parentName:"ul"},"Don\u2019t we have APIs already for that?"),Object(n.b)("li",{parentName:"ul"},"Why can\u2019t I just use a database?"),Object(n.b)("li",{parentName:"ul"},"Too complicated to understand."),Object(n.b)("li",{parentName:"ul"},"What if I want to edit past transactions?"),Object(n.b)("li",{parentName:"ul"},"Are launching an ICO?"),Object(n.b)("li",{parentName:"ul"},"Hasn\u2019t bitcoin dropped to zero already?")),Object(n.b)("p",null,"And yes, there\u2019s a little truth behind these smug statements, actually a lot of truth. Yet, being correct in your criticism, doesn\u2019t make you accurate, let me explain."),Object(n.b)("p",null,"Indeed, Blockchain came as a solution before we realise we have a problem. And it\u2019s still in the soup of \u201cEmerging technologies\u201d that also include AR & VR, edge computing, quantum computing, autonomous things and so many other (there\u2019s always a ",Object(n.b)("a",o({parentName:"p"},{href:"https://www.gartner.com/smarterwithgartner/gartner-top-10-strategic-technology-trends-for-2019/"}),"gartner article")," about it). But what is the problem?"),Object(n.b)("h2",{id:"1-lets-just-use-apis-forget-blockchain"},"1. Let\u2019s just use APIs, forget blockchain"),Object(n.b)("p",null,"APIs are great, in fact I don\u2019t think we have seen their full ",Object(n.b)("a",o({parentName:"p"},{href:"https://www.marketresearchfuture.com/reports/cloud-api-market-2572"}),"potentials")," yet, it\u2019s the driven force behind the \u201cas a Service\u201d market and the hidden engine behind the next generation of ",Object(n.b)("a",o({parentName:"p"},{href:"https://www.investopedia.com/the-future-of-fintech-4770491"}),"Fintech transformation"),"."),Object(n.b)("p",null,"Cloud API Market"),Object(n.b)("p",null,Object(n.b)("img",o({parentName:"p"},{src:"https://media.licdn.com/dms/image/C4E12AQE5KVRKtzca5Q/article-inline_image-shrink_1500_2232/0?e=1583971200&v=beta&t=wWqVt_0Sxg6s2LzO44WUcWgoG4jK32R4wkV32wj6jUg",alt:"Cloud API Market",title:"Cloud API Market"}))),Object(n.b)("p",null,"So job\u2019s done then right? APIs are great, we will use them for everything and drop this Blockchain thingy to the garbage of the past, maybe somewhere along side with all the ",Object(n.b)("a",o({parentName:"p"},{href:"https://www.cheatsheet.com/gear-style/popular-1990s-gadgets-forgotten.html/"}),"90\u2019s gadgets")," (I\u2019m still missing my Sony Walkman)."),Object(n.b)("h3",{id:"11-api-economy"},"1.1 API Economy"),Object(n.b)("p",null,"Ok, let me challenge you to pull out your ",Object(n.b)("a",o({parentName:"p"},{href:"https://d2q79iu7y748jz.cloudfront.net/s/_squarelogo/48960bece865cb8219512f492919841f"}),"Software Architect hat"),", and start a serious discussion. In a realistic scenario, your company needs to consume data from an API that\u2019s managed by a startup, as your business grow you keep expanding these integrations and in a year of time you have ended up creating a network of partners that is reaching the number 50, and your B2B accounts team is telling you than another 100 are already in the sales pipeline."),Object(n.b)("p",null,"Such an architecture case can be found in many industries such as adTech, fintech, insurances, logistics and many others."),Object(n.b)("p",null,"Example Architecture"),Object(n.b)("p",null,Object(n.b)("img",o({parentName:"p"},{src:"https://media.licdn.com/dms/image/C4E12AQGn3egeSM3yQw/article-inline_image-shrink_1500_2232/0?e=1583971200&v=beta&t=FEqp71972dxVpvGD1_f9RJ4QO9Cx6bgWui1lPjL5kfw",alt:"Example Blockchain Architecture",title:"Example Architecture"}))),Object(n.b)("h3",{id:"111-the-struggle-for-the-sla"},"1.1.1 The struggle for the SLA"),Object(n.b)("p",null,"So far so good, your model is working fine, and your adoption is scaling fast, until that Saturday night, where you receive an alert that your response times are dropping below your promised SLAs. What happened? Your state of the art API can't go down, it has been tested so many times, you could vouch for it."),Object(n.b)("p",null,"Well you run your forensics, and you see 10 of your partners have made an ad hoc deployment on Friday, and their API is timing out, making you look bad to your customers."),Object(n.b)("h3",{id:"112-you-can-not-rely-on-their-sla"},"1.1.2 You can not rely on their SLA"),Object(n.b)("p",null,"It's tough, but after gathering your engineers, you realise that the best solution is to cache the data of your partners locally, so you can rely 100% on your infrastructure."),Object(n.b)("p",null,"As a solution you pull out a database that you trust, and start storing the incoming requests with a timestamp, and amending versions to every response from the oldest to the latest. You have implemented a ledger."),Object(n.b)("p",null,Object(n.b)("img",o({parentName:"p"},{src:"https://media.licdn.com/dms/image/C4E12AQEZM_kx0dIXOQ/article-inline_image-shrink_1500_2232/0?e=1583971200&v=beta&t=cU7mDfDUq0I1Rx2UWSgZLX0S3NkxPIa1aRolcS0fzyM",alt:"Embeding DLT Tech",title:"Embeding DLT Tech"}))),Object(n.b)("h3",{id:"113-everyone-does-it"},"1.1.3 Everyone does it"),Object(n.b)("p",null,"This is great, 3 months later and your SLA hasn't dropped from the 99.998%. You make a white paper, you go to events to present it, until you realise it is a common practice, everyone does it. In matter of fact, some of your competitors have extend it to sync their ledger with their partners, no need for RESTful APIs, everyone uses ",Object(n.b)("a",o({parentName:"p"},{href:"https://grpc.io/docs/guides/"}),"grpc")," and ",Object(n.b)("a",o({parentName:"p"},{href:"https://www.globalsign.com/en/blog/what-is-certificate-based-authentication/"}),"certificates")," behind the authentication and authorisation."),Object(n.b)("h2",{id:"12-you-have-reinvented-blockchain"},"1.2 You have reinvented Blockchain"),Object(n.b)("p",null,"You haven\u2019t just reinvented the wheel here, but you managed to have crappy one indeed. You have created a ",Object(n.b)("a",o({parentName:"p"},{href:"https://en.wikipedia.org/wiki/Distributed_ledger"}),"DLT")," (Distributed Ledger Technology), a minimal version of what a blockchain is."),Object(n.b)("p",null,"Quoting ",Object(n.b)("a",o({parentName:"p"},{href:"https://www.linkedin.com/in/gabrielecacciola90"}),"Gabriele Cacciola"),", CTO of ",Object(n.b)("a",o({parentName:"p"},{href:"http://ocyan.com/"}),"Ocyan"),", in the question ",Object(n.b)("em",{parentName:"p"},"\u201cwhether a blockchain consortium makes any sense at all, and whether it can scale\u201d"),":"),Object(n.b)("blockquote",null,Object(n.b)("p",{parentName:"blockquote"},"1- In a consortium scenario, the API approach doesn\u2019t scale. Imagine a consortium is made of 10 enterprises, this means that EVERY one of them will have to build 9 different API integrations and sort out the ETL of data internally. Moreover for every new joiner, you have to build a new integration\n2- About it\u2019s robustness. If I take your data as part of my dataset, I am building a system (and so a product) that relies on something that is completely outside my control and my premises. If the third party goes down, it causes a downtime to my product as well. This is unacceptable in most cases.")),Object(n.b)("p",null,"How could a blockchain standard approach solve this?"),Object(n.b)("h3",{id:"122-the-blockchain-approach"},"1.2.2 The Blockchain approach"),Object(n.b)("p",null,"A blockchain network is nothing more than a local datastore continuously syncing with the other nodes of the network about the data that exist in it. By having as a defacto layers of security, immutability and authentication blockchains allow you to create your integration logic right in the network without worrying if your partner is even online or miles and miles away, blockchains will make it like your data exist within your premises (which they are)."),Object(n.b)("h3",{id:"123-blockchain-scalability"},"1.2.3 Blockchain Scalability"),Object(n.b)("p",null,"Blockchains are slow, true, but only when you want to store data on the network, performing reading operations and triggering models (aka smart-contracts, or chaincode etc) that\u2019s fast! How fast? Well as fast as you can make your local nodes to run, for example in ",Object(n.b)("a",o({parentName:"p"},{href:"https://www.hyperledger.org/projects/fabric"}),"hyperledger/Fabric"),", one of the most adopted blockchains in the enterprise, the datastore usually is a standard ",Object(n.b)("a",o({parentName:"p"},{href:"https://hyperledger-fabric.readthedocs.io/en/release-1.4/couchdb_tutorial.html"}),"couchDB"),"."),Object(n.b)("hr",null),Object(n.b)("h2",{id:"hello-from-ocyan"},"Hello from Ocyan"),Object(n.b)("p",null,Object(n.b)("a",o({parentName:"p"},{href:"https://www.linkedin.com/company/ocyan-tech"}),"Ocyan")," has been actively engaged with use cases from Tier-1 to Tier-4 organisations within the FinTech, Logistics, Energy, O&G and Telecom industries who have been trying to scale, deploy and manage blockchain applications within their enterprise environment. Our On-premise \u201cCloud Operating System\u201d provides features such as the formation and management of trusted and secure blockchain consortia, back-office and legacy integrations with blockchain and P2P networks, and serverless data pipeline for any blockchain network. To stay tuned for more updates follow us on ",Object(n.b)("a",o({parentName:"p"},{href:"https://twitter.com/ocyan_cloud"}),"\u0422witter")," or ",Object(n.b)("a",o({parentName:"p"},{href:"https://www.linkedin.com/company/ocyan-tech/"}),"LinkedIn"),"."),Object(n.b)("p",null,"More further info about our features and use cases, feel free to ",Object(n.b)("a",o({parentName:"p"},{href:"https://ocyan.com/docs/solutions"}),"Read More >>"),"."),Object(n.b)("hr",null))}l.isMDXComponent=!0},186:function(e,t,a){"use strict";a.d(t,"a",(function(){return c})),a.d(t,"b",(function(){return u}));var n=a(0),o=a.n(n),r=o.a.createContext({}),i=function(e){var t=o.a.useContext(r),a=t;return e&&(a="function"==typeof e?e(t):Object.assign({},t,e)),a},c=function(e){var t=i(e.components);return o.a.createElement(r.Provider,{value:t},e.children)};var s="mdxType",l={inlineCode:"code",wrapper:function(e){var t=e.children;return o.a.createElement(o.a.Fragment,{},t)}},h=Object(n.forwardRef)((function(e,t){var a=e.components,n=e.mdxType,r=e.originalType,c=e.parentName,s=function(e,t){var a={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&-1===t.indexOf(n)&&(a[n]=e[n]);return a}(e,["components","mdxType","originalType","parentName"]),h=i(a),u=n,p=h[c+"."+u]||h[u]||l[u]||r;return a?o.a.createElement(p,Object.assign({},{ref:t},s,{components:a})):o.a.createElement(p,Object.assign({},{ref:t},s))}));function u(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var r=a.length,i=new Array(r);i[0]=h;var c={};for(var l in t)hasOwnProperty.call(t,l)&&(c[l]=t[l]);c.originalType=e,c[s]="string"==typeof e?e:n,i[1]=c;for(var u=2;u<r;u++)i[u]=a[u];return o.a.createElement.apply(null,i)}return o.a.createElement.apply(null,a)}h.displayName="MDXCreateElement"}}]);