Posted By: Jay Tiwary
Developing scalable applications using microservices architecture
We keep on inventing new technologies and architectural solutions to improvise upon and deliver a better solution to the industry as per changing needs. Microservices is one valuable architectural solution that has been increasingly popular in the last couple of years. The rise of cloud-based solutions delivering and scaling the application from a no user base to millions in quick time keeps on challenging how we build our services in a monolithic architecture. Microservices architecture is a good solution to deliver independently deployable and maintainable services. Microservices are loosely coupled services, developed Independently, and can be deployed, and maintained independently. Each of these services is based on a modular approach and has a specific responsibility, has its own tech stacks which can be different from other services in line, can communicate with other services through APIs to work in a larger ecosystem. The benefits of using microservices are:Although microservices are not limited to any specific kind of applications it definitely helps to solve many problems of cloud-based solutions which needs constant maintenance, easy scaling, and multiple tech stacks to solve specific technology for specific problems. The use of cloud infrastructure and DevOps complements the complete ecosystem making it easy to deploy, maintain, and scale. The scaling could be time-bound or specific service bound can easily be met using the pay-per-use infrastructure environment of cloud systems and could be cost-effective. Consider you are running an e-commerce store and have seasonal sales discounts where the system needs scaling and maybe you have different payment solutions and one of the payment solutions offers heavy discount attracting heavy user traffic. You may need to integrate one specific for a specific deal and you start scratching your head to align the code with your other parts of the application. Microservices are a great solution in these scenarios.More than some specific tools or technologies it needs your approach to design an application. How do you decouple your whole application and build it independently still make it a part of larger ecosystem? If you have been designing systems in the monolithic approach you have to come up with a whole new approach but if you have used SOA then you are very close to microservices. The key things to consider designing a microservice architecture:With the increase in services, the system could become rather complex and not straightforward to manage Testing efforts: with distributed services in place it becomes more complex to test and multiple teams could be working on different services and finding & solving bugs could become more tedious Time efforts: Since the services are written to be self-reliant there could be a possibility of more coding efforts and duplication of tasks
Posted By: Jay Tiwary
Developing Marketplace application with Sharetribe
Choosing the right marketplace software could be a difficult job, there are so many ready to use solutions available and making a choice out of could be a difficult one. You could even imagine to custom develop. Developing your custom-developed marketplace could be expensive and time taking and may not be a feasible solution especially for startups. However, if your idea has been validated and you are trying to create your tech ecosystem, custom development is the right choice.Sharetribe offers a great marketplace option. The Finnish company started early somewhere in 2011 and has given a good time to build an awesome product. The promoters have thought of investing time to build a product with a clear vision. It has two different products each for different offerings to suit the business needs:You can find more about sharetribe products My recommendation of sharetribe is based on the technology stack, the architecture, and tools available to extend the application in the flex version, and the support it provides makes a good choice for startups & small & medium enterprises.
Posted By: Jay Tiwary
How Enterprise Blockchain can help businesses
Ahead of time is a key aspect to sustain and grow an existing business. Most of the time persistence to change or adapt as per the changing market leads to potential gaps that give opportunities for the startups to come up with solutions. Be it a startup or an existing business you always have to foresee any potential problem in the business and try to solve it before it starts becoming a real problem. Blockchain is one such promising technology that solves many existing business problems. Transparency is the key to a successful business but data being centralized or being authoritative it becomes impossible to become 100% transparent. Let's explore some key concepts and explore the benefits of Blockchain.Blockchain is a decentralized distributed ledger that allows peer-to-peer (p2p) transactions secured by cryptographic algorithms and consensus mechanisms. The peer-to-peer network is powered using consensus methods that validate the transactions. You can imagine it as blocks that are chained together where each block contains transactions. Imagine a spreadsheet shared by you with your peers to make modifications on platforms like Google Docs, Dropbox, or any other cloud provider. You can track down the changes done by individuals looking into the history of. If the permissions are not available nobody can delete it and all the peers have the same data in real-time. This kind of transparency to a business is the key concept of Blockchain. It's important to note that Dropbox and Google docs are not blockchain-based, I have used the reference to understand the transparency and change tracking system. Blockchain maintains similar transparency with better control over data.The data is once written to the block and is immutable which makes it very hard for malicious actors to change or modify. If someone sends a transaction to another peer, then the transaction is broadcasted to every other peer so that it can be validated and stored. This essentially means no one can change the data and is available to all the peers simultaneously.The word crypto is often used in Blockchain because of the crypto algorithm used to encrypt the privacy of the data. Cryptocurrency is a digital token exchanged on a blockchain using cryptographic algorithms to secure the p2p transaction. If a monitory value is there in exchange it is called cryptocurrency and if it is only a physical or digital asset it is called a crypto asset. Bitcoin is a cryptocurrency used on the blockchain. The idea of cryptocurrency is to have a currency system, where everyone is treated as an equal and there is no governing body, which can determine the value of the currency based on a whim. Bitcoin and Ethereum have successfully implemented it. Smart contracts are automated contracts. They are self-executing with specific instructions written on its code which gets executed when certain conditions are made. A simple example could be of A seller and buyer where a buyer agrees to pay a sum of amount on the completion of the supply of the goods. This condition could be programmed in a smart contract and as soon as the conditions are met the contract triggers the events associated. Ethereum and Hyperledger Fabric are the two prominent platforms to run smart contracts. There are two kinds of Blockchain implementations available in the market: Public and Private. Both have the same foundations but the latter works in a closed ecosystem. The public blockchain allows anyone to join on the other hand private needs the introduction of the node to the chain, once joined they can act as part of the chain and within the boundaries, it is moreover like a public blockchain. Enterprise blockchain is basically private chains which are designed for enterprises considering the factors that the public blockchain is not all acceptable to businesses. There are challenges with the public blockchain raised as a concern for enterprise implementation. Imagine a supply chain system where the exchange is between two parties in a closed environment and only they can have the access to or maybe the manufacturer, distributors & dealers are dealing in a closed state which is not open to the customers. This has led to the need of enterprise blockchain. Many organizations are providing blockchain as service (BaaS) as a part of the enterprise blockchain solution. The prominent ones are:The major enterprise platforms available today are:The pandemic (COVID-19) has exposed the gaps we were talking about the gaps in the healthcare sector. We have witnessed the failure of our health infrastructure but on top of that one of the reasons it becomes too worse is the flow of information. The information available to China wasn't available to the other part of the world and even today the clinical procedures used in a different part of the world remain a mystery for the other nations. If the information flow was totally transparent this may not have turned into a pandemic. Apart from the clinical procedures and other medical information there have been long-standing issues like the authenticity of laboratory tests, accessibility of the data across hospitals in case of the patient is treated by another hospital, patients clinical history records in case the physical files are lost, hospital treatment & expenses, health insurance claims that all have practical problems which blockchain can solve up to some extent. The transparency in the treatment procedures and helps the system to improve the quality of the system, decentralizing the clinical reports to the blockchain can give access to any hospital, data security of the patient all are good use cases of blockchain.Supply Chain lacks transparency, accurate asset tracking, and enhanced licensing. With blockchain, these three things can be drastically improved, impacting almost every sector that relies on the supply chain. Right now, products can be hard to track due to the unavailability of real-time tracing.The way the insurance sectors work in conjunction with various other sectors could be improved in many ways with blockchain. The hospital's bills, motor insurances all have a pathetic approach of collecting and sending information through their own centralized system. With decentralization, it could be automated and could work in real-time how bank payments work.The real estate sector is another excellent example to showcase the blockchain capacity to solve problems. The validity of property legal ownership rights, the age of the property, brokerage, and the whole buying & renting process can be made transparent. There could be fraud and wrong information provided to the buyer while buying, with blockchain the validity of data will improve the transparency and trust of the whole system. There are many use cases across industries like IP protection, international payments, Banking & Finance to name a few more but the use of blockchain is unlimited as the primary goal of blockchain is transparency and decentralization which is good for any business.