<?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: Ashutosh Pipriye</title>
    <description>The latest articles on DEV Community by Ashutosh Pipriye (@ashutoshpipriye).</description>
    <link>https://dev.to/ashutoshpipriye</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%2F343561%2F4bd0f3ee-3d8c-4b84-b317-6f44b0a03324.jpg</url>
      <title>DEV Community: Ashutosh Pipriye</title>
      <link>https://dev.to/ashutoshpipriye</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ashutoshpipriye"/>
    <language>en</language>
    <item>
      <title>Syncfusion vs. Other Angular UI Libraries: Why We Chose Syncfusion in a Large Project</title>
      <dc:creator>Ashutosh Pipriye</dc:creator>
      <pubDate>Sun, 13 Apr 2025 14:02:40 +0000</pubDate>
      <link>https://dev.to/ashutoshpipriye/syncfusion-vs-other-angular-ui-libraries-why-we-chose-syncfusion-in-a-large-project-5a8</link>
      <guid>https://dev.to/ashutoshpipriye/syncfusion-vs-other-angular-ui-libraries-why-we-chose-syncfusion-in-a-large-project-5a8</guid>
      <description>&lt;p&gt;&lt;strong&gt;We evaluated multiple Angular UI libraries—Angular Material, PrimeNG, Kendo UI, and Syncfusion—for a large enterprise project. Here's why Syncfusion was the winner&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;When building a large-scale enterprise application, every technology choice matters—especially when it comes to the UI library. In our recent project—a full-stack application using &lt;strong&gt;Angular 17&lt;/strong&gt;, &lt;strong&gt;.NET 8&lt;/strong&gt;, &lt;strong&gt;SQL Server&lt;/strong&gt;, and &lt;strong&gt;Azure&lt;/strong&gt;—we evaluated several Angular UI libraries before ultimately choosing &lt;strong&gt;Syncfusion&lt;/strong&gt;.&lt;br&gt;
This post explains why we made that decision, how Syncfusion compared to others, and what we learned in the process.&lt;/p&gt;
&lt;h2&gt;
  
  
  Project Overview
&lt;/h2&gt;

&lt;p&gt;We were tasked with building an internal enterprise dashboard with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Large data grids (1k+ rows),&lt;/li&gt;
&lt;li&gt;Complex forms and reporting,&lt;/li&gt;
&lt;li&gt;Real-time updates using SignalR,&lt;/li&gt;
&lt;li&gt;Document generation (PDF/Excel),&lt;/li&gt;
&lt;li&gt;Role-based dashboards with configurable widgets.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We evaluated the following Angular UI libraries:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Syncfusion&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Provides over 80+ UI components covering essential and advanced needs.&lt;/li&gt;
&lt;li&gt;Best suited for enterprise applications and data visualization.&lt;/li&gt;
&lt;li&gt;Supports Angular, React, Vue, and Blazor.&lt;/li&gt;
&lt;li&gt;Offers both free (community edition) and paid versions.&lt;/li&gt;
&lt;li&gt;Advanced Grid features: Virtual scrolling, pagination, CRUD operations, filtering, and exporting.&lt;/li&gt;
&lt;li&gt;Rich Data Visualization: Charts, Gauges, Maps, and Pivot Tables.&lt;/li&gt;
&lt;li&gt;Robust Document Processing: PDF Viewer, Word, Excel, and PowerPoint processing components.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. PrimeNG&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Open-source with a large community support.&lt;/li&gt;
&lt;li&gt;Provides extensive UI elements for forms, tables, and charts.&lt;/li&gt;
&lt;li&gt;Integrated with PrimeFlex for CSS utilities.&lt;/li&gt;
&lt;li&gt;Rich themes and animations.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. NG-Zorro&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Based on Ant Design, optimized for business applications.&lt;/li&gt;
&lt;li&gt;Developed and maintained by Alibaba.&lt;/li&gt;
&lt;li&gt;Strong focus on enterprise UI components.&lt;/li&gt;
&lt;li&gt;Internationalization (i18n) support.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;4. Angular Material&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Official UI library from Google.&lt;/li&gt;
&lt;li&gt;Implements Material Design principles.&lt;/li&gt;
&lt;li&gt;Provides a minimalistic yet powerful UI component suite.&lt;/li&gt;
&lt;li&gt;Best suited for modern, lightweight applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;5. Kendo UI for Angular&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Commercial library with dedicated support.&lt;/li&gt;
&lt;li&gt;Highly performance-optimized for large datasets.&lt;/li&gt;
&lt;li&gt;Extensive documentation and enterprise-level features.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;6. DevExtreme for Angular&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Best suited for high-performance and data-heavy applications.&lt;/li&gt;
&lt;li&gt;Offers charts, grids, interactive UI elements.&lt;/li&gt;
&lt;li&gt;Optimized for seamless cross-platform development.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  What We Looked For
&lt;/h2&gt;

&lt;p&gt;Here were our key evaluation criteria:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Criteria&lt;/th&gt;
&lt;th&gt;Why It Mattered&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Component Coverage&lt;/td&gt;
&lt;td&gt;We needed ready-to-use components like Grid, Scheduler, PDF Viewer, etc.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Performance with Large Data&lt;/td&gt;
&lt;td&gt;Some views handled 10,000+ records with filtering/sorting.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Integration with Angular 17&lt;/td&gt;
&lt;td&gt;Compatibility with signals, standalone APIs, and change detection.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Customization and Theming&lt;/td&gt;
&lt;td&gt;Required to match enterprise branding.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Documentation and Support&lt;/td&gt;
&lt;td&gt;Needed clear examples and reliable support.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend Compatibility (.NET)&lt;/td&gt;
&lt;td&gt;Bonus points for libraries that played well with .NET services.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reporting/Exporting Features&lt;/td&gt;
&lt;td&gt;PDF, Excel generation support out of the box.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Licensing Model&lt;/td&gt;
&lt;td&gt;Straightforward licensing without usage-based billing.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h2&gt;
  
  
  Side-by-Side Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Syncfusion&lt;/th&gt;
&lt;th&gt;PrimeNG&lt;/th&gt;
&lt;th&gt;NG-Zorro&lt;/th&gt;
&lt;th&gt;Angular Material&lt;/th&gt;
&lt;th&gt;Kendo UI&lt;/th&gt;
&lt;th&gt;DevExtreme&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Number of Components&lt;/td&gt;
&lt;td&gt;80+&lt;/td&gt;
&lt;td&gt;50+&lt;/td&gt;
&lt;td&gt;40+&lt;/td&gt;
&lt;td&gt;30+&lt;/td&gt;
&lt;td&gt;80+&lt;/td&gt;
&lt;td&gt;70+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Free or Paid?&lt;/td&gt;
&lt;td&gt;Community &amp;amp; Paid&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Paid&lt;/td&gt;
&lt;td&gt;Paid&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Performance&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;Medium&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;Medium&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Customization&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;Medium&lt;/td&gt;
&lt;td&gt;Low&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;td&gt;High&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best For&lt;/td&gt;
&lt;td&gt;Enterprise apps&lt;/td&gt;
&lt;td&gt;General use&lt;/td&gt;
&lt;td&gt;Business UI&lt;/td&gt;
&lt;td&gt;Modern design&lt;/td&gt;
&lt;td&gt;Data-heavy apps&lt;/td&gt;
&lt;td&gt;Interactive UIs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data Grid Support&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Basic&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h2&gt;
  
  
  Why We Chose Syncfusion
&lt;/h2&gt;
&lt;h3&gt;
  
  
  1. Enterprise-Ready Components
&lt;/h3&gt;

&lt;p&gt;Syncfusion's Angular UI suite includes over &lt;strong&gt;80+ components&lt;/strong&gt;, covering everything from simple inputs to advanced modules like &lt;strong&gt;Spreadsheet&lt;/strong&gt;, &lt;strong&gt;Scheduler&lt;/strong&gt;, &lt;strong&gt;Pivot Table&lt;/strong&gt;, and &lt;strong&gt;PDF Viewer&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Use Case:&lt;/strong&gt; We used the Syncfusion &lt;strong&gt;Grid&lt;/strong&gt; extensively for features like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Infinite scrolling&lt;/li&gt;
&lt;li&gt;Virtualization&lt;/li&gt;
&lt;li&gt;Excel-like filtering&lt;/li&gt;
&lt;li&gt;Custom templates&lt;/li&gt;
&lt;li&gt;Row drag &amp;amp; drop
We also leveraged their &lt;strong&gt;Scheduler&lt;/strong&gt;, &lt;strong&gt;DocumentEditor&lt;/strong&gt;, and &lt;strong&gt;Rich Text Editor&lt;/strong&gt; with minimal configuration.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;h3&gt;
  
  
  2. Performance with Large Datasets
&lt;/h3&gt;

&lt;p&gt;We benchmarked grid rendering with ~10,000 records. While other libraries struggled, &lt;strong&gt;Syncfusion Grid&lt;/strong&gt; performed with smooth scrolling and real-time updates.&lt;br&gt;
We combined:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Angular’s &lt;code&gt;OnPush&lt;/code&gt; change detection,&lt;/li&gt;
&lt;li&gt;Syncfusion’s &lt;code&gt;enableVirtualization&lt;/code&gt; and &lt;code&gt;lazyLoad&lt;/code&gt;,&lt;/li&gt;
&lt;li&gt;Server-side paging via .NET API.
Result: Great UX without performance issues.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  3. Seamless Angular 17 Integration
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Full support for &lt;strong&gt;Angular Standalone Components&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Signal&lt;/strong&gt; compatibility&lt;/li&gt;
&lt;li&gt;Tree-shakable modules (after selective imports)&lt;/li&gt;
&lt;li&gt;Reactive forms and template-driven forms support
This made our Angular 17 migration much easier.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  4. Reporting &amp;amp; Document Generation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Syncfusion’s PDF, Excel, Word, and PowerPoint libraries integrated easily with .NET backend.&lt;/li&gt;
&lt;li&gt;Saved development time for invoice/reporting modules.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  5. Support and Documentation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Detailed API docs, working stackblitz examples, active ticket support.&lt;/li&gt;
&lt;li&gt;Resolved a blocker within 24 hours via their enterprise support.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  6. Unified Design Language
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Custom themes and theme studio allowed consistent branding across the app.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  7. Licensing Fit Our Needs
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Flat licensing per developer—easy to budget.&lt;/li&gt;
&lt;li&gt;No hidden costs based on usage or app size.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Syncfusion with Angular
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. Installation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Install the complete UI library:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install @syncfusion/ej2-angular-ui-components 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Importing Syncfusion Module&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { GridModule } from '@syncfusion/ej2-angular-grids';
@NgModule({
 declarations: [/* Components */],
 imports: [BrowserModule, GridModule],
 bootstrap: [/* Root Component */]
})
export class AppModule {}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. Component Usage Examples&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;1. Grid Example&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;ejs-grid [dataSource]="data" allowPaging="true"&amp;gt;
&amp;lt;e-columns&amp;gt;
&amp;lt;e-column field="id" headerText="ID"&amp;gt;&amp;lt;/e-column&amp;gt;
&amp;lt;e-column field="name" headerText="Name"&amp;gt;&amp;lt;/e-column&amp;gt;
&amp;lt;e-column field="age" headerText="Age"&amp;gt;&amp;lt;/e-column&amp;gt;
&amp;lt;/e-columns&amp;gt;
&amp;lt;/ejs-grid&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export class AppComponent {
 data = [
   { id: 1, name: 'John Doe', age: 28 },
   { id: 2, name: 'Jane Doe', age: 25 },
 ];
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Dropdown Example&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;ejs-dropdownlist id="dropdown" [dataSource]="countries"&amp;gt;&amp;lt;/ejs-dropdownlist&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;export class AppComponent {
 countries = ['USA', 'India', 'Canada', 'Germany'];
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;3. DatePicker Example&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;ejs-datepicker&amp;gt;&amp;lt;/ejs-datepicker&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Using Syncfusion with Other Frameworks
&lt;/h3&gt;

&lt;p&gt;Syncfusion provides UI components that are compatible with multiple frameworks beyond &lt;strong&gt;Angular&lt;/strong&gt;, including &lt;strong&gt;React&lt;/strong&gt;, and &lt;strong&gt;Vue&lt;/strong&gt;. Below are step-by-step guides for integrating **Syncfusion **with these frameworks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. React&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install @syncfusion/ej2-react-grids
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;import { GridComponent, ColumnsDirective, ColumnDirective } from '@syncfusion/ej2-react-grids';
&amp;lt;GridComponent dataSource={data} allowPaging={true}&amp;gt;
&amp;lt;ColumnsDirective&amp;gt;
&amp;lt;ColumnDirective field='id' headerText='ID' /&amp;gt;
&amp;lt;ColumnDirective field='name' headerText='Name' /&amp;gt;
&amp;lt;/ColumnsDirective&amp;gt;
&amp;lt;/GridComponent&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Vue&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install @syncfusion/ej2-vue-grids
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;





&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;template&amp;gt;
&amp;lt;ejs-grid :dataSource="data" :allowPaging="true"&amp;gt;
&amp;lt;e-columns&amp;gt;
&amp;lt;e-column field='id' headerText='ID'&amp;gt;&amp;lt;/e-column&amp;gt;
&amp;lt;e-column field='name' headerText='Name'&amp;gt;&amp;lt;/e-column&amp;gt;
&amp;lt;/e-columns&amp;gt;
&amp;lt;/ejs-grid&amp;gt;
&amp;lt;/template&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Advantages and Disadvantages of Syncfusion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Advantages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Wide range of enterprise-ready components&lt;/li&gt;
&lt;li&gt;High performance with large datasets&lt;/li&gt;
&lt;li&gt;Supports Angular, React, Vue, Blazor&lt;/li&gt;
&lt;li&gt;Extensive documentation and support&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Disadvantages
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Advanced features require a paid license&lt;/li&gt;
&lt;/ul&gt;

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

&lt;ul&gt;
&lt;li&gt;Syncfusion is ideal for enterprise and data-heavy applications&lt;/li&gt;
&lt;li&gt;PrimeNG and Angular Material are great for general UI needs&lt;/li&gt;
&lt;li&gt;Choose based on your project’s size, complexity, and budget&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>javascript</category>
      <category>frontend</category>
      <category>angular</category>
      <category>webdev</category>
    </item>
    <item>
      <title>syncfusion</title>
      <dc:creator>Ashutosh Pipriye</dc:creator>
      <pubDate>Wed, 09 Apr 2025 14:15:07 +0000</pubDate>
      <link>https://dev.to/ashutoshpipriye/syncfusion-2c69</link>
      <guid>https://dev.to/ashutoshpipriye/syncfusion-2c69</guid>
      <description></description>
      <category>emptystring</category>
    </item>
    <item>
      <title>Completed Hacktobefest Challenge</title>
      <dc:creator>Ashutosh Pipriye</dc:creator>
      <pubDate>Sat, 17 Oct 2020 12:47:34 +0000</pubDate>
      <link>https://dev.to/ashutoshpipriye/completed-hacktobefest-challenge-1310</link>
      <guid>https://dev.to/ashutoshpipriye/completed-hacktobefest-challenge-1310</guid>
      <description>&lt;p&gt;It was a great experience as open source is a great way to learn and give back to the community !&lt;br&gt;
This was my first #hacktoberfest participation :)&lt;/p&gt;

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

</description>
      <category>hacktoberfest</category>
    </item>
    <item>
      <title>Getting Started: Create and Manage Cloud Resources: Challenge Lab</title>
      <dc:creator>Ashutosh Pipriye</dc:creator>
      <pubDate>Thu, 10 Sep 2020 07:26:07 +0000</pubDate>
      <link>https://dev.to/ashutoshpipriye/getting-started-create-and-manage-cloud-resources-challenge-lab-3i70</link>
      <guid>https://dev.to/ashutoshpipriye/getting-started-create-and-manage-cloud-resources-challenge-lab-3i70</guid>
      <description>&lt;p&gt;The steps to solve Create and Manage Cloud Resources: Challenge Lab on the Google Cloud Platform &lt;a href="https://www.qwiklabs.com/" rel="noopener noreferrer"&gt;(Qwiklabs)&lt;/a&gt;&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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fy2ix1hmiwaqp9gq4pcqh.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fy2ix1hmiwaqp9gq4pcqh.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://google.qwiklabs.com/public_profiles/6d08d7fc-32a6-414e-95b6-6f97d552624c" rel="noopener noreferrer"&gt;Click here to see My Public Profile of Qwicklabs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gist.github.com/ashutoshpipriye" rel="noopener noreferrer"&gt;Click here to see My Gists&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Topics tested:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Create an instance.&lt;/li&gt;
&lt;li&gt;Create a 3 node Kubernetes cluster and run a simple service.&lt;/li&gt;
&lt;li&gt;Create an HTTP(s) Load Balancer in front of two web servers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Setup
&lt;/h2&gt;

&lt;p&gt;Before you click the Start Lab button&lt;br&gt;
Read these instructions. Labs are timed and you cannot pause them. The timer, which starts when you click &lt;strong&gt;Start Lab&lt;/strong&gt;, shows how long Google Cloud resources will be made available to you.&lt;/p&gt;

&lt;p&gt;This Qwiklabs hands-on lab lets you do the lab activities yourself in a real cloud environment, not in a simulation or demo environment. It does so by giving you new, temporary credentials that you use to sign in and access Google Cloud for the duration of the lab.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What you need&lt;/strong&gt;&lt;br&gt;
To complete this lab, you need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Access to a standard internet browser (Chrome browser recommended).&lt;/li&gt;
&lt;li&gt;Time to complete the lab.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If you already have your own personal Google Cloud account or project, do not use it for this lab.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: If you are using a Pixelbook, open an Incognito window to run this lab.&lt;/p&gt;

&lt;h2&gt;
  
  
  Challenge scenario
&lt;/h2&gt;

&lt;p&gt;You have started a new role as a Junior Cloud Engineer for Jooli Inc. You are expected to help manage the infrastructure at Jooli. Common tasks include provisioning resources for projects.&lt;/p&gt;

&lt;p&gt;You are expected to have the skills and knowledge for these tasks, so don't expect step-by-step guides to be provided.&lt;/p&gt;

&lt;p&gt;Some Jooli Inc. standards you should follow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create all resources in the default region or zone, unless otherwise directed.&lt;/li&gt;
&lt;li&gt;Naming is normally team-resource, e.g. an instance could be named &lt;strong&gt;nucleus-webserver1&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Allocate cost effective resource sizes. Projects are monitored and excessive resource use will result in the containing project's termination (and possibly yours), so beware. This is the guidance the monitoring team is willing to share; unless directed use &lt;strong&gt;f1-micro&lt;/strong&gt; for small Linux VMs and &lt;strong&gt;n1-standard-1&lt;/strong&gt; for Windows or other applications such as Kubernetes nodes.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Task 1: Create a project jumphost instance&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Make sure you:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;name the instance &lt;code&gt;nucleus-jumphost&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;use the machine type  &lt;strong&gt;f1-micro&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;use the default image type (Debian Linux)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In the Cloud Console, on the top left of the screen, select Navigation menu &amp;gt; Compute Engine &amp;gt; VM Instances:&lt;/p&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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fq2r7z8knsavo9d6gb4lg.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fq2r7z8knsavo9d6gb4lg.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7sqiz9w6pl8mlirrlqn2.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7sqiz9w6pl8mlirrlqn2.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Name for the VM instance : &lt;code&gt;nucleus-jumphost&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Region : leave Default Region&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Zone : leave Default Zone&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Machine Type : &lt;code&gt;f1-micro&lt;/code&gt; (Series - N1)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Boot Disk : use the default image type (Debian Linux)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Click Check my progress to verify the objective.&lt;br&gt;
Task Completed...&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Task 2: Create a Kubernetes service cluster&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The team is building an application that will use a service. This service will run on Kubernetes. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You need to:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a cluster (in the us-east1 region) to host the service&lt;/li&gt;
&lt;li&gt;Use the Docker container hello-app (&lt;code&gt;gcr.io/google-samples/hello-app:2.0&lt;/code&gt;) as a place holder, the team will replace the container with their own work later&lt;/li&gt;
&lt;li&gt;Expose the app on port 8080&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Activate Cloud Shell
&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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F068ky4ao2hpj95qw5rzd.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F068ky4ao2hpj95qw5rzd.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Faubrm6gmwz88f9oahvi6.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Faubrm6gmwz88f9oahvi6.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzg29o3agph3ejaordysq.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%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fzg29o3agph3ejaordysq.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;gcloud config set compute/zone us-east1-b&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;gcloud container clusters create nucleus-webserver1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;gcloud container clusters get-credentials nucleus-webserver1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubectl create deployment hello-app --image=gcr.io/google-samples/hello-app:2.0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubectl expose deployment hello-app --type=LoadBalancer --port 8080&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;kubectl get service&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Click Check my progress to verify the objective.&lt;br&gt;
Task Completed...&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Task 3: Setup an HTTP load balancer&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;We will serve the site via nginx web servers, but we want to ensure we have a fault tolerant environment, so please create an HTTP load balancer with a managed instance group of two nginx web servers. Use the following to configure the web servers, the team will replace this with their own configuration later.&lt;/p&gt;

&lt;p&gt;You need to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create an instance template&lt;/li&gt;
&lt;li&gt;Create a target pool&lt;/li&gt;
&lt;li&gt;Create a managed instance group&lt;/li&gt;
&lt;li&gt;Create a firewall rule to allow traffic (80/tcp)&lt;/li&gt;
&lt;li&gt;Create a health check&lt;/li&gt;
&lt;li&gt;Create a backend service and attach the manged instance group&lt;/li&gt;
&lt;li&gt;Create a URL map and target HTTP proxy to route requests to your URL map&lt;/li&gt;
&lt;li&gt;Create a forwarding rule&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Do the following commands in cloud shell to Setup an HTTP load balancer&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Create startup.sh file
&lt;/h2&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    cat &amp;lt;&amp;lt; EOF &amp;gt; startup.sh
    #! /bin/bash
    apt-get update
    apt-get install -y nginx
    service nginx start
    sed -i -- 's/nginx/Google Cloud Platform -'"\$HOSTNAME"'/' 
    /var/www/html/index.nginx-debian.html
    EOF
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  1 .Create an instance template :
&lt;/h3&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gcloud compute instance-templates create nginx-template \
--metadata-from-file startup-script=startup.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  2 .Create a target pool :
&lt;/h3&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gcloud compute target-pools create nginx-pool
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  3 .Create a managed instance group :
&lt;/h3&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gcloud compute instance-groups managed create nginx-group \
--base-instance-name nginx \
--size 2 \
--template nginx-template \
--target-pool nginx-pool

gcloud compute instances list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  4 .Create a firewall rule to allow traffic (80/tcp) :
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;gcloud compute firewall-rules create www-firewall --allow tcp:80&lt;/code&gt;&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gcloud compute forwarding-rules create nginx-lb \
--region us-east1 \
--ports=80 \
--target-pool nginx-pool
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;code&gt;gcloud compute forwarding-rules list&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  5 .Create a health check :
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;gcloud compute http-health-checks create http-basic-check&lt;/code&gt;&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gcloud compute instance-groups managed \ 
set-named-ports nginx-group \
--named-ports http:80
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  6 .Create a backend service and attach the manged instance group :
&lt;/h3&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gcloud compute backend-services create nginx-backend \
--protocol HTTP --http-health-checks http-basic-check --   
global


gcloud compute backend-services add-backend nginx-backend \
--instance-group nginx-group \
--instance-group-zone us-east1-b \
--global
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  7 .Create a URL map and target HTTP proxy to route requests to your URL map :
&lt;/h3&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gcloud compute url-maps create web-map \
--default-service nginx-backend


gcloud compute target-http-proxies create http-lb-proxy \
--url-map web-map
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  8 .Create a forwarding rule :
&lt;/h3&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gcloud compute forwarding-rules create http-content-rule \
--global \
--target-http-proxy http-lb-proxy \
--ports 80
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;code&gt;gcloud compute forwarding-rules list&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Wait for for extra 10 mins to Create the website behind the HTTP load balancer and to get 100 points in lab !!!&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Click Check my progress to verify the objective.&lt;br&gt;
Task Completed...&lt;/p&gt;

&lt;h1&gt;
  
  
  Quest Complete!
&lt;/h1&gt;

&lt;p&gt;Congrats! You completed this quest and earned a badge. Become a cloud expert and start another.&lt;/p&gt;

</description>
      <category>googlecloud</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Launching One windows EC-2 Instance with IIS server On AWS</title>
      <dc:creator>Ashutosh Pipriye</dc:creator>
      <pubDate>Mon, 20 Jul 2020 08:00:34 +0000</pubDate>
      <link>https://dev.to/ashutoshpipriye/launching-one-windows-ec-2-instance-with-iis-server-on-aws-1k6j</link>
      <guid>https://dev.to/ashutoshpipriye/launching-one-windows-ec-2-instance-with-iis-server-on-aws-1k6j</guid>
      <description>&lt;p&gt;Launch one T2 micro type windows server instance on AWS. Configure an IIS server with a default web page.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;About EC2&lt;/li&gt;
&lt;li&gt;Setup EC2 Instance&lt;/li&gt;
&lt;li&gt;Step wise installation.&lt;/li&gt;
&lt;li&gt;Setup remote desktop connection.&lt;/li&gt;
&lt;li&gt;Configure an IIS server with default page&lt;/li&gt;
&lt;li&gt;start our created webpage.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Elastic Cloud Computing (EC2)
&lt;/h3&gt;

&lt;p&gt;Amazon Elastic Compute Cloud (Amazon EC2) provides scalable computing capacity in the Amazon Web Services (AWS) cloud. Using Amazon EC2 eliminates your need to invest in hardware upfront, so you can develop and deploy applications faster. You can use Amazon EC2 to launch as many or as few virtual servers as you need, configure security and networking, and manage storage. Amazon EC2 enables you to scale up or down to handle changes in requirements or spikes in popularity, reducing your need to forecast traffic.&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup EC2 Instance
&lt;/h3&gt;

&lt;p&gt;Sign up on AWS at &lt;a href="https://aws.amazon.com/"&gt;https://aws.amazon.com/&lt;/a&gt;  and make an account. You will need to enter your billing and credit card information. &lt;br&gt;
Note: You should delete instances you no longer need to ignore any additional billing unknowingly.&lt;/p&gt;

&lt;p&gt;Find and Select Amazon EC2 from listed products and services.&lt;br&gt;
Click the button: "Launch Instance"&lt;/p&gt;

&lt;p&gt;Step 1: Choose an Amazon Machine Image (AMI): This is the operating system your virtual machine in the cloud will be.&lt;/p&gt;

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

&lt;p&gt;Step 3: Configure Instance Details: Leave the default settings. Click "Next: Add Storage"&lt;/p&gt;

&lt;p&gt;Step 4: Add Storage: Leave the default settings. Click "Next: Add Tags"&lt;/p&gt;

&lt;p&gt;Step 5: Add Tags: Create a key and value.&lt;/p&gt;

&lt;p&gt;Step 6: Configure Security Group: Check the radio button labeled "create a new security group" and give it a name and description. Make sure there is an RDP type listed and add HTTP and HTTPS. Click "Review and Launch"&lt;/p&gt;

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

&lt;p&gt;Step 7: Review Instance Launch: Click "Launch" The following window should appear. Select "Create a new key pair" and type in a name. Click "Download." Make sure you save this file!!! Click "launch instance" You should be redirected to a page where you can click "view instances" to see all your instances. Your new EC2 instance should appear and may take a few moments to initialize.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Setup remote desktop connection.
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;In the Connect To Your Instance popup, click Download Remote Desktop File to download the RDP file, already preconfigured for your EC2 instance.&lt;/li&gt;
&lt;li&gt;In the same popup, click Get Password to obtain the authentication password.&lt;/li&gt;
&lt;li&gt;Load your private key and click Decrypt Password. The password will then be visible in your screen.&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;You are now connected to your Windows Server machine.&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Configure Internet Information Services (IIS)
&lt;/h3&gt;

&lt;p&gt;Internet Information Services (IIS) is an extensible web server created by Microsoft and available in Windows machines. IIS may or may not be enabled by default in the Windows Server EC2 instance.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;In order to enable IIS, launch Server Manager and select Manage &amp;gt; Add Roles and Feature&lt;/li&gt;
&lt;/ol&gt;

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

&lt;p&gt;2.In the Add Roles and Features Wizard, Server Roles page, find and check “Web Server (IIS)”&lt;/p&gt;

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

&lt;p&gt;3.In the Roles Services for Web Server Role (IIS), check the desired options to be include in the installation&lt;br&gt;
Note: The installation may take several minutes.&lt;/p&gt;

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

&lt;p&gt;4.Go to explorer, then in the new tab give localhost and IIS server is launched.&lt;/p&gt;

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

&lt;p&gt;5.If everything is installed correctly, you should be able to enter the IP address of your EC2 instance in any web browser, and see the IIS default page&lt;/p&gt;

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

&lt;h3&gt;
  
  
  Webpage
&lt;/h3&gt;

&lt;p&gt;For hosting our html web page, go to C drive 🡪 inetpub 🡪 wwwroot 🡪file.&lt;br&gt;
By deleting default files in that folder, we got the error and finally replaced the file with our web(html) file and worked.&lt;/p&gt;

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

&lt;p&gt;You should be able to enter the IP address of your EC2 instance in any web browser.&lt;/p&gt;

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

</description>
      <category>aws</category>
      <category>ec2</category>
      <category>cloudcomputing</category>
      <category>amazon</category>
    </item>
  </channel>
</rss>
