<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Umesh Saha</title>
    <description>The latest articles on DEV Community by Umesh Saha (@umeshsaha1).</description>
    <link>https://dev.to/umeshsaha1</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F306175%2F1ff4c356-f9d4-4e53-9176-cad0bfb84419.jpg</url>
      <title>DEV Community: Umesh Saha</title>
      <link>https://dev.to/umeshsaha1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/umeshsaha1"/>
    <language>en</language>
    <item>
      <title>Why Should Magento be the Core of Your E-Commerce Store?</title>
      <dc:creator>Umesh Saha</dc:creator>
      <pubDate>Tue, 11 Feb 2020 06:58:37 +0000</pubDate>
      <link>https://dev.to/umeshsaha1/why-should-magento-be-the-core-of-your-e-commerce-store-3gd8</link>
      <guid>https://dev.to/umeshsaha1/why-should-magento-be-the-core-of-your-e-commerce-store-3gd8</guid>
      <description>&lt;p&gt;From visiting a Kirana store and waiting in lines to ordering groceries on mobile applications with just one click, all of us have come a long way.&lt;/p&gt;

&lt;p&gt;The advancement in consumer behavior and practices have changed over the last decade and the growth in the number of online consumers is something which we have not witnessed in history.&lt;/p&gt;

&lt;p&gt;This growth and development can be credited to the e-commerce industry. But what have entrepreneurs and enterprises been using to &lt;b&gt;develop these e-commerce stores?&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Magento is one such reliable platform on which e-commerce businesses are built. It’s a platform designed to help small, midsize and enterprise-level businesses make it big in the e-commerce industries. The Adobe owned platform powers close to &lt;b&gt;250,000 online businesses&lt;/b&gt; and is preferred by many entrepreneurs and businesses worldwide.&lt;/p&gt;

&lt;p&gt;Magento is specifically designed and developed to help e-commerce platforms grow by providing useful analytics, scalable technology, and optimal solutions to manage heavy backend while fulfilling consumer needs.&lt;/p&gt;

&lt;p&gt;If you’re a dreamer who’s reading this article to &lt;b&gt;build your e-commerce store&lt;/b&gt;, we’re here to help you and tell you why Magento is one of the best things that can happen to your business.&lt;/p&gt;

&lt;h2&gt;Giants using Magento&lt;/h2&gt;

&lt;p&gt;Magento is used worldwide and there is no doubt that it’s one of the best tools to build your e-commerce. Many of the biggest players of the industry like &lt;i&gt;coca-cola, Ford, Nike, Nestle Nespresso, etc&lt;/i&gt; have relied upon &lt;b&gt;Magento to build their e-commerce platforms&lt;/b&gt;.&lt;/p&gt;

&lt;h2&gt;Why use Magento?&lt;/h2&gt;

&lt;p&gt;There are many reasons why Magento is used at this scale and is the choice for every e-commerce store owner. Some of the reasons are listed below.&lt;/p&gt;

&lt;h3&gt;1) Open Source&lt;/h3&gt;

&lt;p&gt;“Good things are never free.” Well, this is not the case here. The Magento community edition is open source i.e. free to download and use. This renders the development cost of the website to a bare minimum and the owner can think of better ways to use his/her money. The free edition can be downloaded from &lt;a href="https://magento.com/tech-resources/download"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--vPq5k5y6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l9l78l2u5os5eqrsvwi7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vPq5k5y6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/l9l78l2u5os5eqrsvwi7.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;2) Scalable Tech&lt;/h3&gt;

&lt;p&gt;One of the reasons why writing code for e-commerce websites is an onerous task is that the code is written should be scalable and should be optimized to handle large chunks of online traffic.&lt;/p&gt;

&lt;p&gt;Magento is designed to be scalable and hence websites deliver efficient and fast services to its users. It’s no wonder why even big companies with complex operations and a high amount of traffic deploy a &lt;b&gt;Magento website to sell products and services&lt;/b&gt;.&lt;/p&gt;

&lt;h3&gt;3) Community&lt;/h3&gt;

&lt;p&gt;Being open-source is one of the strengths of Magento. People all around the globe use it and help other developers to grow in the field by developing free and cool extensions to integrate with your &lt;b&gt;Magento e-commerce store&lt;/b&gt;.&lt;/p&gt;

&lt;h3&gt;4) E-Commerce friendly&lt;/h3&gt;

&lt;p&gt;Though WordPress might be the best content management system being offered out there, it is no Magento. Magento is specifically designed for building e-commerce platforms and hence has inbuilt features and actions that a developer can use to provide business solutions.&lt;/p&gt;

&lt;p&gt;This is why Magento is now preferred over ‘WordPress + Woo Commerce’ and ‘Drupal + Drupal Commerce’ combos. This is one of the major reasons why the &lt;a href="https://hostingtribunal.com/blog/magento-statistics/#gref"&gt;number of &lt;b&gt;Magento websites worldwide&lt;/b&gt;&lt;/a&gt; have &lt;b&gt;doubled between 2018 and 2020&lt;/b&gt;.&lt;/p&gt;

&lt;h3&gt;5) Performance&lt;/h3&gt;

&lt;p&gt;A fraction of a second might be the difference between an interesting lead and a converted customer. Hence, if you want to convert that doubtful lead into a happy customer, using Magento is probably a good idea.&lt;/p&gt;

&lt;p&gt;Magento with its highly optimized and scalable tech renders web pages on your device within an eye blink. This is one of the reasons for a higher conversion rate of websites developed in Magento.&lt;/p&gt;

&lt;h3&gt;6) SEO Friendly&lt;/h3&gt;

&lt;p&gt;Search engine optimization is one of the aspects of an e-commerce business that cannot be neglected while making a choice of a platform for your e-commerce store. Magento comes with inbuilt features to &lt;b&gt;develop &lt;a href="https://yoast.com/magento-seo/"&gt;SEO friendly&lt;/a&gt; URL structure, sitemaps, positioning layer, URL rewrites, tags, descriptions, etc&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;Also, there are multiple sets of extensions to optimize your website’s rank on a search result page on Google and other search engines. We advise you to use these functionalities to the best of your capabilities to increase sales.&lt;/p&gt;

&lt;h3&gt;7) Ease of integration&lt;/h3&gt;

&lt;p&gt;Managing an e-commerce store is not an easy task and entrepreneurs depend on different specialized systems for keeping an eagle view of their website and its performance. However, Magento doesn’t fail here too and provides all specialized systems integrated on one single dashboard.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RW9G6bQt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/sdq8phs4hq687a3bqtiw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RW9G6bQt--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/sdq8phs4hq687a3bqtiw.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.orderhive.com/easy-steps-integrate-magento-store"&gt;&lt;b&gt;Easy Steps to Integrate Your Magento Store&lt;/b&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Magento is compatible with a plethora of third-party services including payment gateways, transportation, database applications, shipping, order tracking, etc. Also, keeping an eye on the website's performance is imperative and hence Magento offers Google tools such as Google Analytics, Google Checkout, and Google Base built into its system.&lt;/p&gt;

&lt;h3&gt;8) Billing in Multiple Currencies&lt;/h3&gt;

&lt;p&gt;Technological advancements have made the world a smaller place and businesses can now sell their products to anyone. Hence, consumers should be able to get billed in varied currencies without any hassle. Magento provides developers to integrate payment gateways which can be used to bill in multiple currencies.&lt;/p&gt;

&lt;h3&gt;9) Multi-store millionaire&lt;/h3&gt;

&lt;p&gt;If you have a pipeline of ideas and products in varied fields and want to set up separate e-commerce stores, Magento is here to facilitate your dreams. With Magento’s content management system you can &lt;b&gt;set up multiple stores for yourself&lt;/b&gt; with just one backend. This helps companies to perform enterprise-level operations on different stores with utmost ease and pleasantness.&lt;/p&gt;

&lt;h3&gt;10) Size doesn’t matter&lt;/h3&gt;

&lt;p&gt;&lt;b&gt;Magento websites are responsive&lt;/b&gt; to screen sizes and don’t lose any functionality or efficiency if your consumer operates through a desktop, laptop, tablet or even a mobile device. Also, inbuilt features help you track your consumers’ preferred devices and in turn help you optimize the design and layout of your website specific to your consumer needs.&lt;/p&gt;

&lt;h2&gt;Summing it up&lt;/h2&gt;

&lt;p&gt;Magento is an Adobe owned platform that powers about &lt;b&gt;250,000 web stores worldwide&lt;/b&gt;. The inbuilt features along with the ease of integration provided by the platform result in a lethal combination for building a successful online store. All this being open source too, helps entrepreneurs in cutting development costs and generating sales with higher conversion rates.&lt;/p&gt;

&lt;p&gt;If you’re a dreamer and wish to accomplish success with an e-commerce store, this is the last day of your hustle! We at &lt;a href="https://www.goodworklabs.com/"&gt;GoodWorkLabs&lt;/a&gt; help dreamers like you to reach at the top of your e-commerce game by developing Magento websites. &lt;/p&gt;

&lt;p&gt;The team of experienced Magento professionals is equipped with decades of experience in this space helping different websites stand out in the huge crowd. So let’s build your dream with Magento!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>opensource</category>
    </item>
    <item>
      <title>What is New in Angular 8.0: Introduction, Features, &amp; Advantages</title>
      <dc:creator>Umesh Saha</dc:creator>
      <pubDate>Thu, 09 Jan 2020 11:52:15 +0000</pubDate>
      <link>https://dev.to/umeshsaha1/what-is-new-in-angular-8-0-introduction-features-advantages-7dl</link>
      <guid>https://dev.to/umeshsaha1/what-is-new-in-angular-8-0-introduction-features-advantages-7dl</guid>
      <description>&lt;p&gt;Angular is one of the most powerful &lt;a href="https://en.wikipedia.org/wiki/JavaScript_framework"&gt;javascript framework&lt;/a&gt; in the world today. Mainly maintained by Google, it is used by developers all over the world to create web applications, especially single-page web applications.&lt;/p&gt;

&lt;p&gt;It is often the frontend of the MEAN stack which also uses other frameworks like MongoDB, Node.js, and Express.js.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Angular is open-source&lt;/b&gt; and uses a simple Model-View-Controller framework that is very similar to the basic framework used by Javascript in general. It is supported by a huge community and updates to the framework are regular and meaningful.&lt;/p&gt;

&lt;p&gt;The last major version release for the framework was Angular 7 which was released on 18th October 2018 and the next major version, Angular 8 was released around 2019.&lt;/p&gt;

&lt;p&gt;In this article, we look at some of the &lt;a href="https://www.goodworklabs.com/top-10-features-of-angular-8/"&gt;most anticipated features&lt;/a&gt; that are present in the latest version of the world’s favorite javascript framework.&lt;/p&gt;

&lt;h2&gt;#1 – Preview of Ivy&lt;/h2&gt;

&lt;p&gt;Ivy is a testing feature that’ll come bundled with Angular 8. It is an innovation in the testing aspect of the framework. With the preview of Ivy, you will get a new rendering tool which can help you in testing your web app.&lt;/p&gt;

&lt;p&gt;Do note that Angular 8 will only contain a preview of Ivy which wouldn’t be switched on by default. It is an opt-in feature and you will have to enable it, which can be done just by turning the Ivy switch on. In order to enable Ivy in your code, you will have to use the following switch in the code “-enable-ivy”. Ivy is going to change the way we test our apps forever and Angular 8 is a great framework to start it with.&lt;/p&gt;

&lt;h2&gt;#2 – Lazy Loading&lt;/h2&gt;

&lt;p&gt;Even though &lt;a href="https://www.geeksforgeeks.org/what-is-lazy-loading/"&gt;lazy loading&lt;/a&gt; is a part of the current Angular version, it is expected to be improved and made much more convenient in Angular 8. Lazy loading is a routing technique used in AnuglarJS that aims to speed up the loading time of the web app. It does so simply by ensuring that only those web resources are loading which is requested by the browser.&lt;/p&gt;

&lt;p&gt;A lot of improvements will be seen in terms of &lt;b&gt;lazy loading in Angular 8&lt;/b&gt;. Most developers will also notice that Angular 8 will support EcmaScript imports which are dynamic.&lt;/p&gt;

&lt;h2&gt;#3 – Node 10 Support&lt;/h2&gt;

&lt;p&gt;NodeJS and Angular are two javascript frameworks that are often used together as part of the MEAN stack when it comes to developing web applications. Angular 8 is going to be fully compatible with the latest version of NodeJS, Node 10.&lt;/p&gt;

&lt;p&gt;This will be particularly useful to web developers who rely heavily on the MEAN stack and make their lives a lot easier. NodeJS and Angular are two of the most commonly used combos when developing web applications and increasing the compatibility between the different frameworks will make designing, maintaining, and updating web applications with new technology a lot easier.&lt;/p&gt;

&lt;h2&gt;#4 – TypeScript 3.4 support&lt;/h2&gt;

&lt;p&gt;TypeScript is essentially used to make coding in JavaScript much easier and convenient. It was developed by Microsoft to provide a tool that makes the life of a web developer much easier when it comes to coding in Javascript. Angular uses TypeScript and that’s essentially the syntax followed by the framework. You code something in &lt;a href="https://angular.io/guide/typescript-configuration"&gt;TypeScript which Angular&lt;/a&gt; then coverts into plain javascript and runs it online.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Angular 8 comes with the support of TypeScript 3.4&lt;/b&gt; which is a pretty major update over the previous iterations of the framework. Developers can now use all the latest features of TypeScript when working on their Angular projects. This not only makes coding in Angular easier but makes the codebase much more efficient and easy to understand due to the simplicity of TypeScript.&lt;/p&gt;

&lt;h2&gt;#5 – CLI Prompt&lt;/h2&gt;

&lt;p&gt;During the development process of any app, there are a lot of iterations and there is also the use of different processes throughout the entire development period. By the time the first stable version of the app is released, a lot of those features that were present during the development cycle would be removed from the app.&lt;/p&gt;

&lt;p&gt;To make the development process easier, &lt;b&gt;Angular 8 comes with a new feature known as CLI prompt&lt;/b&gt;. The CLI prompt enables you to selectively pick the processes that you want to be included in the running version of your app. This, in turn, means that you have complete control over the CLI which aids a lot when it comes to the development of web apps.&lt;/p&gt;

&lt;h2&gt;#6 – Other CLI Features&lt;/h2&gt;

&lt;p&gt;Due to the CLI prompt, there are a number of other features that come into play with Angular 8. These features can help developers create better apps in a shorter timeframe and make the Javascript framework even better. Some of the best features provided by the complete control over CLI include the following:&lt;/p&gt;

&lt;p&gt;You have the option of virtual scrolling which can be a shortcut to manually scrolling through a lot of options. This feature is usually found under the UI libraries.&lt;br&gt;
Reordering lists and changing the places of elements is known to be somewhat problematic in Angular. With complete control over the CLI in Angular 8, you can simply just drag and drop elements to replace or reorder them.&lt;br&gt;
The latest version of Angular 8 also supports the ShadowDOM API.&lt;/p&gt;

&lt;h2&gt;#7 – Differential Loading&lt;/h2&gt;

&lt;p&gt;Differential Loading is an Angular 8 feature that will make web apps load faster and perform better. Differential loading is a simple concept but it can really boost the performance of most web apps.&lt;/p&gt;

&lt;p&gt;Essentially, when you build the code for production, two different bundles are created instead of just one. One of them will support ES2015+ and then there will be another bundle that will provide support for the older browsers that still only run the ES5 version of JavaScript.&lt;/p&gt;

&lt;p&gt;The correct bundle will be automatically loaded based on browser data. This will result in web apps loading a lot faster and performing better because modern browsers would have to deal with less code and a lower amount of polyfills.&lt;/p&gt;

&lt;h2&gt;#8 – Web workers&lt;/h2&gt;

&lt;p&gt;JavaScript, by definition, has always been single-threaded. Most tasks are handled asynchronously because of the single-threaded nature of JavaScript. However, complex calculations are not really that fast on single-threads.&lt;/p&gt;

&lt;p&gt;As JavaScript is being increasingly used in frameworks like Angular to create web apps all over the world, the requirements have become more intensive. This is where web workers come into play. Although they are not exactly a part of Angular 8, this version of the framework does come with a way to implement web workers via the CLI.&lt;/p&gt;

&lt;p&gt;With web workers, it becomes much easier to perform complex calculations and tasks which are CPU-intensive in a background thread while the main thread deals with updating the user interface in real-time. Web workers will allow developers to create even more powerful online apps and are a sign of things to come in the future.&lt;/p&gt;

&lt;h2&gt;#9 – Bazel&lt;/h2&gt;

&lt;p&gt;Angular 8 allows you to build your &lt;a href="https://angular.io/guide/bazel"&gt;CLI application with Bazel&lt;/a&gt;, in a much more faster and convenient manner now. There are many advantages of using Bazel to build your applications including being able to make your backend and frontend with the same tool, incremental build and tests, and remote builds and cache.&lt;/p&gt;

&lt;p&gt;Most developers would appreciate the incremental build and tests that are part of Bazel. It makes the application development and testing process a lot easier as subsequent rebuilds work on an increment level and run only those tests which are required instead of testing all aspects of the web application all over again. This will not only make the lives of developers easier but it’ll also reduce the build and rebuild times for most web developers across the world.&lt;/p&gt;

&lt;h2&gt;#10 – Dynamic imports for the lazy routes&lt;/h2&gt;

&lt;p&gt;Lastly, most people familiar with Angular know that loading lazy routes required using a custom string in the previous versions of Angular. However, with Angular 8, it is possible to dynamically import lazy routes too.&lt;/p&gt;

&lt;p&gt;Whereas the previous syntax used to be –&lt;/p&gt;

&lt;p&gt;&lt;b&gt;{path: ‘/teacher’, loadChildren: ‘./teacher/teacher.module#TeacherModule’}&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;With Angular 8’s support for lazy routing, the syntax now would look something like this –&lt;/p&gt;

&lt;p&gt;&lt;b&gt;{path: &lt;code&gt;/teacher&lt;/code&gt;, loadChildren: () =&amp;gt; import(&lt;code&gt;./teacher/teacher.module&lt;/code&gt;).then(s =&amp;gt; s.TeacherModule)}&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;This feature will make the code base more standardized. If you use the ng-upgrade command to update your app to the &lt;b&gt;latest version of Angular 8&lt;/b&gt;, you’ll notice all imports for lazy routes will be changed to the new syntax.&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Angular 8 is one of the best JavaScript frameworks in the world today. It is supported by one of the biggest coding communities in the world and along with other frameworks like &lt;a href="https://nodejs.org/en/"&gt;NodeJS&lt;/a&gt; and &lt;a href="https://www.mongodb.com/"&gt;MongoDB&lt;/a&gt;, it has made JavaScript the language of the internet.&lt;/p&gt;

&lt;p&gt;Due to a pretty big community of coders behind the framework, there are always exciting new improvements and developments in the core framework of Angular. Most of these changes are driven by the community which is what makes Angular so popular in the web development community across the world.&lt;/p&gt;

</description>
      <category>angular</category>
      <category>mongodb</category>
      <category>javascript</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Understand The Key Concepts of Continuous Integration &amp; Continuous Deployment</title>
      <dc:creator>Umesh Saha</dc:creator>
      <pubDate>Thu, 02 Jan 2020 09:27:35 +0000</pubDate>
      <link>https://dev.to/umeshsaha1/understand-the-key-concepts-of-continuous-integration-continuous-deployment-17h0</link>
      <guid>https://dev.to/umeshsaha1/understand-the-key-concepts-of-continuous-integration-continuous-deployment-17h0</guid>
      <description>&lt;p&gt;Today’s enterprises are under increasing pressure to deliver software faster than their competitors, differentiated solely by the application quality and the developers who build them.&lt;/p&gt;

&lt;p&gt;As a result, more and more organizations are turning to &lt;b&gt;continuous delivery (CD)&lt;/b&gt; to improve their ability to plan, build, test and release applications to market quickly and at scale.&lt;/p&gt;

&lt;p&gt;Your company is interested in learning how to leverage continuous delivery for faster software deployment but doesn’t know what all the terms and concepts mean.&lt;/p&gt;

&lt;p&gt;Luckily, this article can help you: read on for a guide on the basic terms and concepts around continuous delivery and why CD is essential.&lt;/p&gt;

&lt;p&gt;What’s the &lt;b&gt;difference between CI and CD&lt;/b&gt;?&lt;/p&gt;

&lt;p&gt;You must have heard &amp;amp; probably just assumed that &lt;a href="https://dzone.com/articles/learn-how-to-setup-a-cicd-pipeline-from-scratch" rel="noopener noreferrer"&gt;CI/CD&lt;/a&gt; means writing scripts to build pipelines to deploy applications. Well, you’re sort of right. First, let’s contrast &amp;amp; &lt;b&gt;compare CI and CD&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;CI is about taking code-to-artifact.&lt;/p&gt;

&lt;p&gt;So, basically, a developer:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Writes code&lt;/li&gt;
&lt;li&gt;Checks in code&lt;/li&gt;
&lt;li&gt;Code goes through a build process&lt;/li&gt;
&lt;li&gt;An artifact is created&lt;/li&gt;
&lt;li&gt;The artifact is stored within a repository&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That’s it. Following is a visual representation of the explanation above:&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fcz4xio00398wcub0nyka.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fcz4xio00398wcub0nyka.png" alt="Visual Representation of Continuous Integration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Continuous Integration has a mature set of tools, technologies, and established best-practices. There are a plethora of vendors and you’re most likely using one of them.&lt;/p&gt;

&lt;p&gt;So what happens after the artifact is ready? This is where CD comes in.&lt;/p&gt;

&lt;h2&gt;What is an Artifact/Service?&lt;/h2&gt;

&lt;p&gt;&lt;b&gt;Service&lt;/b&gt; – A service is a self-contained software that serves as part of a collection of services that make up an application. Common examples are &lt;a href="https://www.goodworklabs.com/kubernetes-vs-docker-swarm-how-to-choose-a-complete-breakdown/" rel="noopener noreferrer"&gt;Docker containers, Kubernetes pods&lt;/a&gt;, or a single Node.js app.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Artifact&lt;/b&gt; – Each service has its own deployment requirements. For example, the Node.js application will require you to package your service in a different way to prepare it for deployment. This packaged and ready state is an artifact. So, an artifact is a service that is built, packaged, and ready for deployment.&lt;/p&gt;

&lt;h2&gt;The Six Stages of Continuous Delivery&lt;/h2&gt;

&lt;h3&gt;CD essentially includes the following stages:&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fhdmbhidcr62qej3ilc8w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fhdmbhidcr62qej3ilc8w.png" alt="Stages of Continuous Delivery"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once an artifact is ready for deployment, you need to take it through these six phases that need to be supported by your CD &lt;a href="https://www.plutora.com/blog/understanding-ci-cd-pipeline" rel="noopener noreferrer"&gt;pipeline&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;What is a Pipeline, Stage, Workflow&lt;/h2&gt;

&lt;p&gt;To understand the basics of CD, There are a few important terms you have to become familiar with: pipeline, stage, and workflow. When you kick off a deployment, your artifact goes through various stages in order to be deployed.&lt;/p&gt;

&lt;h3&gt;Stages&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fj9j6mtlxfyebsg3qsugg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fj9j6mtlxfyebsg3qsugg.png" alt="Continuous Deployment Stages"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Workflows&lt;/h3&gt;

&lt;p&gt;Each stage requires some actions with that artifact. These things that you’re doing are referred to as a workflow.&lt;/p&gt;

&lt;p&gt;Workflows typically automate three things: Service deployment, test and verify the service and then rollback (if necessary).&lt;/p&gt;

&lt;p&gt;Say, for example, stage 1 is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Provisioning a QA environment in AWS&lt;/li&gt;
&lt;li&gt;Deploying my artifact to a QA environment&lt;/li&gt;
&lt;li&gt;Running a bunch of tests&lt;/li&gt;
&lt;li&gt;Tearing down the environment&lt;/li&gt;
&lt;li&gt;Verify the health of the application&lt;/li&gt;
&lt;li&gt;Rollback, if necessary&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is your stage 1 workflow. Once stage 1 is complete, you then go to stage 2, stage 3, and so on.&lt;/p&gt;

&lt;h2&gt;Here is a visual:&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F9ukoor166drolhyr7pnu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F9ukoor166drolhyr7pnu.png" alt="Continuous Deployment Workflow"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Canary and Blue/Green Strategies&lt;/h3&gt;

&lt;p&gt;A common attribute of workflows is a release strategy. Specifically, the most popular release methodologies are Blue/Green &amp;amp; Canary deployments. As you progress within your later stages and approach production, you need a release strategy that ensures the safety and reliability of the deployment.&lt;/p&gt;

&lt;p&gt;So, your product deployment in your pipeline will want to incorporate a release strategy within its workflow.&lt;/p&gt;

&lt;h3&gt;Environments&lt;/h3&gt;

&lt;p&gt;An environment is where you deploy your application; they represent the infrastructure on which services run.&lt;/p&gt;

&lt;p&gt;This can be, for example:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AWS&lt;/li&gt;
&lt;li&gt;Azure&lt;/li&gt;
&lt;li&gt;Google Cloud&lt;/li&gt;
&lt;li&gt;Your own data center&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Your workflows deploy your applications to the necessary environment.&lt;/p&gt;

&lt;h3&gt;Pipeline&lt;/h3&gt;

&lt;p&gt;A pipeline is a term used to describe all the stages (and their corresponding workflows) stitched together. Remember, each stage has a workflow. Thus, a pipeline assembles the stages and their corresponding workflows. A pipeline is an umbrella term for all of the pieces working together.&lt;/p&gt;

&lt;h3&gt;Here is what a CD pipeline looks like:&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F1h0pv8mnprehlwus9fz9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2F1h0pv8mnprehlwus9fz9.png" alt="Continuous Deployment Pipeline"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Triggers&lt;/h3&gt;

&lt;p&gt;A trigger is an event that occurs to kick off your pipeline. An event can be any of the following:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Merging your Git branch into master&lt;/li&gt;
&lt;li&gt;A new artifact is available in the artifact repository&lt;/li&gt;
&lt;li&gt;A new .tar artifact file has been uploaded to a folder for deployment&lt;/li&gt;
&lt;li&gt;A recurring time&lt;/li&gt;
&lt;li&gt;A webhook&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;Summary&lt;/h2&gt;

&lt;p&gt;That’s it! Now you understand that a pipeline consists of stages. Each stage corresponds to an environment.&lt;/p&gt;

&lt;p&gt;Each stage has a workflow that does what is required to test/deploy your application.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>docker</category>
      <category>kubernetes</category>
    </item>
  </channel>
</rss>
