Blog

/static/5759f737a5a524b3966bc5ce3e8f797d/a0bd3b140b17ba3d18c5a7047599dbb9.svg
blogger image

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.
/static/107ebb41e1fc9a430d5e591b52a4aad5/67ae57a32fef9afcb89a2223a6c05bcd.png
blogger image

Posted By: Jay Tiwary

.Net a unified cross-platform development environment from Microsoft

Microsoft .Net framework has been a great choice for web & application development for the last 20 years but the limitation to run only on the Windows platform was one of the reasons it hasn't been a popular choice to open source community. The modern-day development community needs a robust, scalable, interoperable, cross-platform, developmental framework without the need for proprietary licenses and being locked into a certain operating system and architecture. With the release of .Net core Microsoft has come of its shell and given open source community to use the benefits of the .Net framework. The success of .Net core has led Microsoft to re-align its product to market and continue to .Net core future of .Net. However, Microsoft continued to develop .Net Framework along with .Net core was a big question of .Net future plans. Last year Microsoft announced to provide a unified platform for all .Net development and making it clear to continue open-source development as its topmost priority. .Net is going to be the future of all Microsoft .Net platform. The preview is available is set to release in Nov 2020 for general applications. .Net 5 will be powered with the best features of the .Net Framework, .Net Core, Mono, and Xamarin to provide APIs, libraries, and run-time to create apps for Web, Windows, Mobile & IoT devices. The main goal of .Net 5 is to empower unified .Net Client Application projects to create deliverables for various platforms including Windows, UNIX, Linux, Legacy Windows, iOS, Android, HTML5, and Macintosh.Net 5 will offer everything that you would expect from the .Net core while making it suitable for Mobile and IoT platform development. With these new updates, developers will no longer need to choose between .Net Core, .Net Framework, and Mono, based on which platform they’re developing their applications.The road map:dotnet_scheduleMicrosoft aims to achieve some great improvements from this release :Microsoft has been using Mono as a cross-platform implementation to .Net and CoreCLR as a runtime for .Net core. It has been brought together and the developers will have options to choose between based on the environment they are coding.CoreFX is the only framework for .NET 5. The framework, as indicated by Microsoft, would run on mono and CoreCLR. CoreCLR, for most developers, would be the target, which replaces .NET, mono, and NET Core. Nonetheless, mono would still be the target runtime and will likely continue to be utilized in gaming, mobile, and other less common operating instancesThe .Net 5 will have an exciting version for the Just-In-Time (JIT) compiler, with many improvements.JITs are well suited for long-running cloud and client scenarios. They are able to generate code that targets a specific machine configuration, including specific CPU instructions. .Net ships AOT compiler which enables .NET code to be built into a single native code executable that can run on a machine, much like C++ code. AOT-compiled apps can run efficiently in small places and trades throughput for a startup if needed. AOT(Ahead-Of-Time) has been used in the Mono framework before, .Net will extend the AOT as a major performance booster with fast startup, and lower memory usage. Apart from JIT and AOT .Net 5 has some major improvements in Garbage collection and Async await (Threading) programming.Microsoft is deepening its support for interop with Java, Swift, and Objective-C.Microsoft already provided WPF and WinForms desktop app development in.NET Core 3.0. In .NET 5.0, Microsoft makes a big leap forward by including Universal Windows Platform (UWP) and Xamarin. So, it will include WPF, WinForms, UWP, and Xamarin in its desktop development SDK.Using Xamarin, .NET 5 will include cross-platform mobile development support for Android OS, iOS, Linux, watchOS, and tvOS.Azure app development will also be one of the major functionalities of .NET 5. With the release of the latest .NET, developers will continue to develop software with Azure. Azure Cloud development includes a mix of tools and frameworks, including Web API, ASP.NET, serverless computing, Azure databases, Docker containers, microservices, DevOps, and more. With a unified platform, Microsoft has been clear about its future strategy to continue being open-source, cross-platform and all in one unified platform. If you are looking to upgrade your .Net framework project to .Net core or want to be prepared for .Net 5, talk to IcodeLabs and get your plans ahead of time.
/static/7e97d8590e1d450cb0012d6d55e373b2/30491985b7a083369119135f6cd083ae.png
blogger image

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.
/static/7b87d07d5d8d950729c36c38cae6dea6/0755429e4b3b2835cb8e926afcf10db3.jpeg
blogger image

Posted By: Jay Tiwary

Choosing the right frontend framework - React Vs Angular Vs Vue

Javascript has been the most popular programming language over the past few years and when it comes to front end development Javascript based frameworks has revolutionized the user experience. With the rise of numerous javascript based frameworks, it becomes difficult to make a choice between. Let's talk about the three most popular frameworks of 2020, React, Angular and Vue.Developed & maintained by Facebook React is a JavaScript library for building UI components for web applications. React has been the most popular framework used for building modern single-page applications of any size and scaleAngular is developed and maintained by Google, a Typescript based javascript framework, and has been enormously popular due to its object-oriented approach and architecture.Vuejs has been created by one of the Google employee Evan with community support and has been positioned well against the two tech giants in the competition. Vue has been fast-growing javascript frameworks for frontend development due to its ability to build adaptable user interfaces. Let's see some stats from various trends:Google: SourceStackoverflow survey 2019:stackoverflowSourceNPM trends:npmSourceWith all the trends showing, React is leading the trends and that's the reason companies like Facebook, Uber, Netflix, Twitter, Udemy, Paypal, Reddit, Tumblr, Walmart are using React. Angular is the second one in the trends with Google primarily using for its web platforms along with Forbes, The Guardian, Upwork, and many more. Vue has been the latest addition in the market it has been growing rapidly. GitLab & Alibaba are prominent using Vuejs.React uses the Virtual DOM and enhances the performance of any size of application which needs regular content updates. React is based on a single-direction data flow. This will provide better control over the entire project. Angular uses real DOM and a Two-Way Data binding process that replicates all the changes made in the Model into the views in a secure, efficient, and intuitive way. Because of the two-way data binding, it provides an efficient coding structure and is easy to work with. Vue has been the latest addition hence it consists of all the good things of React and Angular; therefore, it utilizes the virtual DOM to deliver high performance and memory allocation.React & Angular are backed by two big companies Facebook & Google, there’s no doubt about the growth of both these frameworks. In both frameworks, updates and releases are frequently published but they are well maintained when it comes to migrations. Vue is still in an open-source community, however, one can understand the fact that competing with Facebook & Google is not an easy game and Vue has made a position against them which shows the love of the framework by the community.Vue has the easiest learning curve among the three. It’s because it’s closest to the JavaScript basics and HTML. React is also relatively simpler but when start using third party libraries it needs more strong javascript programming skills. Angular is the steepest one because of its architecture, TypeScript language, use of component & modules, dependency injection like concepts which may not be very easy for some. However, angular consists of powerful features that make developers use certain coding patterns that help them in building large applications.React and Angular with big brands are promising, React being the early starter has made deep roots in the market hence the adoption by the business and dev communities is more. Angular with TypeScript in build support and MVC architecture gives better confidence to develop large projects. Vue is easy to learn and provides the best of features of both React and Angular could be the one reason you could choose Vue. React is much loved by javascript lovers i.e. if you want all javascript you can go with React. If you come from a strong object-oriented approach and like Typesafe language with MVC architecture you can go with Angular. Pn the other side if you like a simple framework with javascript and Html support with a similar performance you can go with Vuejs.
/static/14aa2f7fafd9dbf6b49a071c6a2675ed/fdcf0edf94266a146689d17146f42ee8.png
blogger image

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
/static/211dc205e94f92df15b9f53a5cb26ccc/6e8bae101f31e46e712f83d3f7760a8e.jpeg
blogger image

Posted By: Jay Tiwary

Hiring an offshore development team

Although remote teams are not a new thing but COVID-19 has given proof that it works well and in fact a better solution in some cases. The pandemic has shown us a new way of living life and working cultures. People are liking the work from home culture and they find it more productive when they have been given flexibility. The IT and enabled industry with offshore and distributed team culture has been practicing for many years. In modern times, the IT infrastructure has given valuable tools to hire, manage, collaborate, and measure productivity which gives numerous benefits such as: However, the question is how should I hire a team, and more importantly how can I make it work?Finding a software developer or a team is just a click away, search google you can get countless options but what makes it difficult is when you have so many options its challenging to choose the one best for you. If you do not come from a software development background or you do not understand much of the software development business this could become a nightmare. I have been talking to many of my clients and was trying to understand their problems while choosing an offshore team, some of the doubts they have in their mind were:Not necessarily, there is no one right fit for everybody. The business scale and the budget must be respected and the solutions should be built as per the financial viability of the business. Different business has different needs, your MVP accounting product may not be necessarily competent with SAP, People soft and if you are a startup implementing SAP to your business may not fit. But what is relevant is you need a product that works for you, maintainable and scalable at least to take to you to the planned number of users the system was built for. You find a development partner which fits your pocket size but should have the capability to deliver what is discussed above.The key is the person (Project Manager) and the team handling your project. Give some time while shortlisting them, do not rush to hire or don't hire because somebody has given 5 start rating to or some agency has good staff strength. After a couple of calls and validations, you can make a better judgment. You do the validation checks yourself and engage with the team to deliver a quality product. That's where you save money. There are many who prefer to work as Independent freelancer even after having so much experience. There are many who join small organizations to grow faster and get more opportunities than working in an MNC. You can find good professionals in smaller agencies or freelancers as well but you need to make sure you have ticked all the points discussed above. Conclusion: In my opinion, hiring an offshore development team is an extremely cost-effective solution. Hiring should be focussed on process and architecture-oriented. Collaboration with the team helps to reduce the odd possible failure leading a successful product.
/static/1fd175c3d3083e6a2fdc56303f64d53c/169295a3327f82390e90aacd02c63742.png
blogger image

Posted By: Jay Tiwary

Understanding agile scrum framework and its benefits

Scrum is the widely used and most popular framework of Agile methodologies. Most of the project managers practicing agile prefer to use scrum due to its simple and easy to learn approach.Scrum guide defines, "Scrum is a framework within which you can employ various processes and techniques. Scrum makes clear the relative efficacy of your product management and work techniques so that you can continuously improve the product, the team, and the working environment". The Scrum framework consists of Scrum Teams and their associated roles, events, artifacts, and rules. Each component within the framework serves a specific purpose and is essential to Scrum’s success and usage.Scrum is not a process, technique, or definitive method rather It is a process framework that utilizes incremental processes in a larger framework that leverages cross-functional teams to achieve their goals along with adapting to changes. The main objective of Scrum is to establish small pieces of a release quickly rather than focusing on all the smaller steps that take place within each sprint and iteration.Scrum defines various events which can help to inspect and adapt within the defined timeline. These are:The Scrum Team consists of a Product Owner, the Development Team, and a Scrum Master. Scrum Teams are self-organizing and cross-functional. Self-organizing teams choose how best to accomplish their work, rather than being directed by others outside the team. Cross-functional teams have all competencies needed to accomplish the work without depending on others not part of the team. The team model in Scrum is designed to optimize flexibility, creativity, and productivity. The Scrum Team has proven itself to be increasingly effective for all the earlier stated uses and any complex work.The Product Owner is the sole person responsible & accountable for managing the Product Backlog. The product owner prioritizes the features and requirements of the product to the development when each sprint starts. Their job is to answer all the questions that the development team might have pertaining to requirements and specifications.The team of professionals who do the work of delivering a potentially releasable Increment of “Done” product at the end of each Sprint. They are self-organizing. No one (not even the Scrum Master) tells the Development Team how to turn Product Backlog into Increments of potentially releasable functionality. Development Teams are cross-functional, with all the skills as a team necessary to create a product Increment The development team must be of team size of 3 to 9 members.The Scrum Master is responsible for promoting and supporting Scrum as defined in the Scrum Guide. Scrum Masters do this by helping everyone understand Scrum theory, practices, rules, and values.The Scrum Master leads the entire team through the daily Scrum removing impediments to the Development Team’s progress. He/She helps the product master Facilitating Scrum events as requested or needed and is the sole person responsible to leading and coaching the organization in its Scrum adoption.Scrum’s artifacts represent work or value to provide transparency and opportunities for inspection and adaptation. The three artifacts communicate key information to the Scrum team that they must be aware of during product development.The Product Backlog is a prioritized list of everything that is known to be needed in the product. It is the single source of requirements for any changes to be made to the product. The Product Owner is responsible for the Product Backlog, including its content, availability, and prioritization.The Product Backlog lists all features, functions, requirements, enhancements, and fixes that constitute the changes to be made to the product in future releases. Product Backlog items have the attributes of a description, order, estimate, and value. Product Backlog items often include test descriptions that will prove its completeness when “Done.”Product Backlog is refined from time to time and is an ongoing process in which the Product Owner and the Development Team collaborate on the details of Product Backlog items. During Product Backlog refinement, items are reviewed and revised. The Scrum Team decides how and when refinement is done. Refinement usually consumes no more than 10% of the capacity of the Development Team. However, Product Backlog items can be updated at any time by the Product Owner or at the Product Owner’s discretion.The Sprint Backlog is the set of Product Backlog items selected for the Sprint, plus a plan for delivering the product Increment and realizing the Sprint Goal. It also defines the items that are required to produce an increment that meets the "Done" definition. The Sprint Backlog is a plan with sufficient detail that changes in progress can be understood in the Daily Scrum. The Development Team modifies the Sprint Backlog throughout the Sprint, and the Sprint Backlog emerges during the Sprint.Its important to note that only the Development Team can change its Sprint Backlog during a Sprint. The Sprint Backlog is a highly visible, real-time picture of the work that the Development Team plans to accomplish during the Sprint, and it belongs solely to the Development Team.With so many benefits there comes some challenges as well which need to manage. Here are some:But in general practice other than some limitations scrum provides a solid framework to deliver successful projects. If you are looking for a versatile team with a good scrum experience you can contact IcodeLabs for more details.
/static/7448f1ca71d354beaa979843ee1d7729/fd46c33a9d11801b472f7959c7778c01.jpeg
blogger image

Posted By: Jay Tiwary

JAM stack modern approach to faster, more secure websites

We have covered a long journey from static sites to dynamic websites but we still love static sites. The speed & performance of the static content can never be matched with on the fly dynamically generated websites. Many of the businesses still use static HTML sites if the content doesn't need frequent data changes. But when we have a huge content base, frequent changes, and a large number of pages it becomes difficult for editing & maintaining static files. Therefore we switch to CMS or custom developed solutions and lose the unmatched speed and performance. The use of web servers and web technologies to generate on the fly dynamic pages may take a couple of seconds to many more depending on the complexity of the data.JAM stack abbreviated a Javascript, API's and Markup, separates the development of pages to hosting and delivery. This needs a headless (no frontend) CMS and a static page generator engine that pre-compiled static files to be deployed and delivered over the network. Sounds good? Interestingly, yes it's interesting as it sounds like back to HTML static files. The headless CMS solves the problem to manage large data and pages, easy editing, adding new data and the site generator generates the pages during the compilation process. Once the pages are generated there is no connection with headless CMS and only the precompiled files are deployed. Here are some benefits of JAM stack:As the files are pre-compiled it doesn't need any server-side coming & rendering process and can even remove the use of web servers and directly delivering from CDN.As the files are pre-compiled and the CMS is decoupled from the stack thereafter, the site is less prone to cyber-attacks wherein most of the cases attackers hack the program and inject their own to change the content of the site.Since there is no need for a database and server-side logic to be executed on the server to generate the content, you can omit the use of API and database hosting and can use the static files hosting or a CDN. Both these solutions are cheaper than having a set of web server infrastructure. The scaling will be cheaper if you have more and more space needed depending on the size of the website.Its a better development experience as we know once the static files are generated there could be no runtime errors, test case, or any possibility of failure of the business logic applied. If anything has to fail will fail during compilation. This separates the two environments and makes it more stable.Strapi a headless CMS built on top of Nodejs using expressjs framework. Strapi is becoming very popular, works as a great tool for JAM stack. Gatsby is one of the most popular JAM stack site generators based on the creat React app. With the use of GraphQL, the combination becomes more powerful and easy to use. Gatsby has a lot of middlewares/plugins to support various features like SEO support, commenting, social sharing, and many more.With the use of DevOps, we can trigger out pipeline whenever any content changes in Strapi which trigger the next pipeline to run gatsby build and deploy to the server. Gatsby is not only for static sites but you can develop a full-fledged dynamic website use react helmet and gatsby tools.JAM stack is a great way to generate static pages and develop dynamic websites that use a lot of content. The stack can deliver a website with blazing fast speed, performance, and a highly maintainable site.

Subscribe

To get latest posts update