<?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: Sandip Das</title>
    <description>The latest articles on DEV Community by Sandip Das (@sd031).</description>
    <link>https://dev.to/sd031</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%2F58535%2F2800aa9b-5e7c-4542-9ae7-e4e8ede777c5.jpg</url>
      <title>DEV Community: Sandip Das</title>
      <link>https://dev.to/sd031</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sd031"/>
    <language>en</language>
    <item>
      <title>Basic AI &amp; ML Concepts for MLOps Engineers</title>
      <dc:creator>Sandip Das</dc:creator>
      <pubDate>Fri, 31 Jan 2025 15:14:06 +0000</pubDate>
      <link>https://dev.to/sd031/basic-ai-ml-concepts-for-mlops-engineers-m1i</link>
      <guid>https://dev.to/sd031/basic-ai-ml-concepts-for-mlops-engineers-m1i</guid>
      <description>&lt;h1&gt;
  
  
  🚀 Basic AI &amp;amp; ML Concepts for MLOps Engineers
&lt;/h1&gt;

&lt;p&gt;Many engineers misunderstand AI &amp;amp; ML concepts before jumping into MLOps. Let’s clear up those fundamentals &lt;strong&gt;RIGHT NOW!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🤖 What is AI?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Artificial Intelligence (AI)&lt;/strong&gt; simulates human intelligence in machines to perform tasks like learning, reasoning, and problem-solving.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔍 What is ML?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Machine Learning (ML)&lt;/strong&gt; is a subset of AI that enables systems to learn from data and make predictions or decisions without explicit programming.&lt;/p&gt;

&lt;h2&gt;
  
  
  📊 What is an ML Model?
&lt;/h2&gt;

&lt;p&gt;An &lt;strong&gt;ML Model&lt;/strong&gt; is a mathematical representation trained on data using an algorithm to recognize patterns, make predictions, or decisions without explicit programming.&lt;/p&gt;

&lt;h3&gt;
  
  
  🔥 ML Model Training Methods:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Supervised Learning&lt;/strong&gt; - Learns from labeled data (e.g., regression, classification).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unsupervised Learning&lt;/strong&gt; - Identifies patterns in unlabeled data (e.g., clustering, dimensionality reduction).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reinforcement Learning&lt;/strong&gt; - Trains agents to make sequential decisions by maximizing rewards.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Semi-Supervised Learning&lt;/strong&gt; - Mixes labeled and unlabeled data to improve accuracy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Deep Learning (DL)&lt;/strong&gt; - Uses multi-layered neural networks for complex feature learning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Online Learning&lt;/strong&gt; - Continuously updates the model with new data.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Transfer Learning&lt;/strong&gt; - Adapts knowledge from one task to another.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ensemble Learning&lt;/strong&gt; - Combines multiple models to enhance accuracy.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  🏗 Foundation Models (FMs)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Foundation Models (FMs)&lt;/strong&gt; are large-scale AI models trained on massive datasets, making them adaptable to multiple tasks like NLP, image generation, and coding.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Characteristics:
&lt;/h3&gt;

&lt;p&gt;✅ &lt;strong&gt;Pretrained on massive datasets&lt;/strong&gt; (text, images, code, videos).&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;General-purpose capabilities&lt;/strong&gt; (e.g., GPT-4, Stable Diffusion, Code Llama).&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Fine-tuned for custom use cases&lt;/strong&gt; (e.g., a healthcare chatbot trained on medical literature).&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Scalability &amp;amp; API access&lt;/strong&gt; (AWS, Azure, Google Cloud).&lt;/p&gt;




&lt;h2&gt;
  
  
  🔥 Famous ML Models
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;DeepSeek R1&lt;/strong&gt; - High-performance AI for reasoning &amp;amp; language tasks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sonet&lt;/strong&gt; - Efficient LLM for resource-constrained environments.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Meta's LLaMA&lt;/strong&gt; - Open-weight AI for research &amp;amp; deployment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OpenAI's GPT&lt;/strong&gt; - Powers ChatGPT &amp;amp; generative AI apps.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google's Gemini&lt;/strong&gt; - Multimodal AI for text, images, &amp;amp; reasoning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BERT&lt;/strong&gt; - Google's NLP model for search ranking &amp;amp; text classification.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Claude (Anthropic)&lt;/strong&gt; - AI model optimized for safety &amp;amp; accuracy.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🚀 Hugging Face: The Open-Source AI Hub
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://huggingface.co/" rel="noopener noreferrer"&gt;Hugging Face&lt;/a&gt; is an open-source AI platform providing pretrained AI models, datasets, and developer tools for NLP, computer vision, and beyond.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features:
&lt;/h3&gt;

&lt;p&gt;✅ Hosts thousands of open-source AI models.&lt;br&gt;&lt;br&gt;
✅ Provides the &lt;code&gt;Transformers&lt;/code&gt; library for NLP.&lt;br&gt;&lt;br&gt;
✅ Supports fine-tuning &amp;amp; deployment via API.&lt;br&gt;&lt;br&gt;
✅ Enables AI research &amp;amp; collaboration.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 LLMs: Large Language Models
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Large Language Models (LLMs)&lt;/strong&gt; are deep learning models trained on vast text datasets to understand and generate human-like text. &lt;/p&gt;

&lt;h3&gt;
  
  
  How LLMs Work?
&lt;/h3&gt;

&lt;p&gt;🔹 &lt;strong&gt;Training on massive datasets&lt;/strong&gt; (books, websites, articles).&lt;br&gt;&lt;br&gt;
🔹 &lt;strong&gt;Tokenization&lt;/strong&gt; (breaking text into smaller units).&lt;br&gt;&lt;br&gt;
🔹 &lt;strong&gt;Self-Attention Mechanism&lt;/strong&gt; (understanding context in sentences).&lt;br&gt;&lt;br&gt;
🔹 &lt;strong&gt;Billions of parameters&lt;/strong&gt; (e.g., GPT-3 has 175B parameters).  &lt;/p&gt;

&lt;h3&gt;
  
  
  LLM Limitations:
&lt;/h3&gt;

&lt;p&gt;❌ &lt;strong&gt;Hallucinations&lt;/strong&gt; - May generate incorrect information.&lt;br&gt;&lt;br&gt;
❌ &lt;strong&gt;Bias&lt;/strong&gt; - Reflects biases in training data.&lt;br&gt;&lt;br&gt;
❌ &lt;strong&gt;Computational cost&lt;/strong&gt; - Requires massive power.&lt;br&gt;&lt;br&gt;
❌ &lt;strong&gt;Context limitations&lt;/strong&gt; - Limited memory in long conversations.&lt;/p&gt;




&lt;h2&gt;
  
  
  🎨 Generative AI: Content Creation with AI
&lt;/h2&gt;

&lt;p&gt;Generative AI can create text, images, code, music, and videos based on learned data patterns.&lt;/p&gt;

&lt;h3&gt;
  
  
  How It Works?
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Pre-trained on massive datasets&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Uses transformer-based architectures&lt;/strong&gt; (GPT, Stable Diffusion).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prompt-based generation&lt;/strong&gt; (input text → AI generates content).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fine-tuning for specific domains&lt;/strong&gt; (e.g., DevOps automation, cybersecurity).&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Key Generative AI Models:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;LLMs&lt;/strong&gt; - GPT, LLaMA, Falcon (for text &amp;amp; code generation).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Image Generators&lt;/strong&gt; - DALL·E, MidJourney, Stable Diffusion.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audio &amp;amp; Music&lt;/strong&gt; - OpenAI's Jukebox, Google's MusicLM.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Video&lt;/strong&gt; - RunwayML, Sora.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🔍 RAG: Retrieval-Augmented Generation
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Retrieval-Augmented Generation (RAG)&lt;/strong&gt; enhances LLM responses by retrieving external data before generating answers.&lt;/p&gt;

&lt;h3&gt;
  
  
  How RAG Works?
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;User Query&lt;/strong&gt; → Model receives a question.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Retrieval Step&lt;/strong&gt; → Searches external sources (DBs, APIs).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Augmentation Step&lt;/strong&gt; → Retrieved data is fed into the LLM.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Generation Step&lt;/strong&gt; → Model generates an improved response.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;💡 This technique improves accuracy, context, and reduces hallucinations.&lt;/p&gt;




&lt;h2&gt;
  
  
  ☁️ Amazon Bedrock: GenAI on AWS
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/bedrock/" rel="noopener noreferrer"&gt;Amazon Bedrock&lt;/a&gt; is a fully managed AWS service for building scalable &lt;strong&gt;Generative AI applications&lt;/strong&gt; using &lt;strong&gt;Foundation Models (FMs)&lt;/strong&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Use Amazon Bedrock?
&lt;/h3&gt;

&lt;p&gt;✅ &lt;strong&gt;Access to multiple FMs&lt;/strong&gt; (Claude, LLaMA, Cohere, Stability AI).&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Fine-tuning &amp;amp; RAG support&lt;/strong&gt; (improve accuracy with enterprise data).&lt;br&gt;&lt;br&gt;
✅ &lt;strong&gt;Seamless AWS integration&lt;/strong&gt; (S3, Lambda, SageMaker, DynamoDB, RDS).  &lt;/p&gt;




&lt;h2&gt;
  
  
  🏁 Next Steps: Data Extraction, Validation &amp;amp; Preparation for MLOps
&lt;/h2&gt;

&lt;p&gt;This guide covered AI/ML fundamentals for MLOps Engineers. Next, we’ll dive into &lt;strong&gt;Data Extraction, Validation &amp;amp; Preparation for MLOps!&lt;/strong&gt; 🚀&lt;/p&gt;

&lt;p&gt;👉 &lt;strong&gt;Follow &lt;a href="https://www.linkedin.com/in/sandip-das-developer/" rel="noopener noreferrer"&gt;Sandip Das&lt;/a&gt; for more updates!&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>machinelearning</category>
      <category>mlops</category>
      <category>devops</category>
    </item>
    <item>
      <title>Complete Cloud Migration Guide</title>
      <dc:creator>Sandip Das</dc:creator>
      <pubDate>Thu, 26 Aug 2021 10:07:23 +0000</pubDate>
      <link>https://dev.to/aws-heroes/complete-cloud-migration-guide-1i29</link>
      <guid>https://dev.to/aws-heroes/complete-cloud-migration-guide-1i29</guid>
      <description>&lt;p&gt;One simple question that everyone reading this article will definitely have is:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;"What is Cloud Migration"?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;So, just to clarify, &lt;strong&gt;Cloud migration&lt;/strong&gt; is when a company moves some / all of its on-premises or data center or other cloud resources &amp;amp; capabilities such as data, applications, or any other IT resources/processes/workload into the target cloud.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In more simple words:&lt;/strong&gt; Although &lt;strong&gt;Cloud migration&lt;/strong&gt; usually refers to moving all tech resources from old/legacy on-prem/data center to the Cloud, &lt;strong&gt;Cloud migration&lt;/strong&gt; also can be moving from one cloud to another Cloud e.g. From On-prem to AWS, from Google Cloud to AWS Cloud or AWS Cloud to Azure&lt;/p&gt;

&lt;p&gt;Compare it like moving a smaller office workspace to a bigger office workspace (on-prem to the cloud) or maybe challenging office locations! (One cloud to another cloud)&lt;/p&gt;

&lt;p&gt;Before jumping in-depth into &lt;strong&gt;Cloud migration&lt;/strong&gt;, let's understand few &lt;strong&gt;key concepts&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cloud&lt;/strong&gt;: Cloud in technology space means, Cloud Computing! and &lt;strong&gt;Cloud computing&lt;/strong&gt; is the delivery of computing services—including servers, storage, databases, networking, software, analytics, and intelligence—over the Internet to offer faster innovation, flexible resources, and economies of scale. We typically have to pay only for cloud services you use, helping lower our operating costs, run our infrastructure more efficiently, and scale as business needs change.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data:&lt;/strong&gt; In computing, &lt;strong&gt;Data&lt;/strong&gt; is information that has been translated into a form that is efficient for movement or processing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SLA:&lt;/strong&gt; A service-level agreement (SLA) defines the level of service you expect from a vendor, laying out the metrics by which service is measured, as well as remedies or penalties should agreed-on service levels not be achieved. It is a critical component of any technology vendor contract.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Legacy Infra:&lt;/strong&gt; In computing, hardware or software is considered "legacy" if it is outdated but still in use. Legacy products and processes are usually not as efficient or secure as more up-to-date solutions. Businesses stuck running legacy systems are in danger of falling behind their competitors; they also face an increased risk of data breaches.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Why do Companies/Businesses need to move to Cloud?&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Running from an on-premise or single data center, have three biggest limitations i.e.&lt;/p&gt;

&lt;p&gt;1) &lt;strong&gt;Scalability&lt;/strong&gt;: Running from an on-premise or single data center has limited resources hence limited scaling capability, moving to the cloud gives virtually limitless resource options, so limitless scalability opportunity &amp;amp; as per need!&lt;/p&gt;

&lt;p&gt;2) &lt;strong&gt;Single Point of Failure&lt;/strong&gt;: Running from an on-premise or data center create another big issue, i.e. it creates a single point of failure, in cases of natural disaster, un-wanted power supply cut or maybe a strike, the reason could be anything and operations/work processing can get stopped, but with Cloud Computing, it completely eliminates single point of failure if configured properly and there is no such chance and often Cloud Providers give SLA as well for it's services.&lt;/p&gt;

&lt;p&gt;3) &lt;strong&gt;Cost&lt;/strong&gt;: The cost of maintaining infra on-premise, operations, maintenance is huge, Cloud gives the &lt;strong&gt;"Pay as You Go"&lt;/strong&gt; model which gives flexibility to only for using what is needed and stops using when not needed, in that way saving cost &lt;strong&gt;as well as reservations models&lt;/strong&gt; which can bring up to 70% or more discount.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;While talking about Cloud and migration, we also need to know about Types of Cloud Computing, Cloud Service Models, and Cloud Deployment Models&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Types of Cloud Computing&lt;/strong&gt;
&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%2Fmedia-exp1.licdn.com%2Fdms%2Fimage%2FC5612AQFTxDwCqXFqag%2Farticle-inline_image-shrink_1000_1488%2F0%2F1629949575688%3Fe%3D1635379200%26v%3Dbeta%26t%3DnjWVaGKaKuvokGX5v6rkKDeSY9tUKJD9-rFmy5jws4k" 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%2Fmedia-exp1.licdn.com%2Fdms%2Fimage%2FC5612AQFTxDwCqXFqag%2Farticle-inline_image-shrink_1000_1488%2F0%2F1629949575688%3Fe%3D1635379200%26v%3Dbeta%26t%3DnjWVaGKaKuvokGX5v6rkKDeSY9tUKJD9-rFmy5jws4k" alt="No alt text provided for this image"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Public Cloud:&lt;/strong&gt; This is a publicly accessible framework where one can store data or use it as a virtual machine. This can be done either by programming or autonomously. Here individual does not have to invest time and effort in buying physical servers but can get started in no time. Public clouds are available to use on pay per approach basis. e.g. &lt;strong&gt;Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP), Alibaba Cloud, IBM Cloud, and Oracle Cloud.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Private Cloud:&lt;/strong&gt; If one needs to have a cloud exclusively for the organization then a private cloud is the best option. Along with the flexibility it provides one can opt for a data center on the premises for security and compliance needs. A dedicated professional is required to manage the private cloud framework. e.g. &lt;strong&gt;Hewlett Packard Enterprise (HPE), Dell, IBM, Oracle, and some familiar names from the public cloud provider space, including AWS, Google, and Microsoft.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Hybrid Cloud:&lt;/strong&gt; Hybrid is a combination of public and private clouds. For certain business needs who can benefit from the combination are the ones who use a hybrid cloud.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Cloud Service Models&lt;/strong&gt;
&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%2Fmedia-exp1.licdn.com%2Fdms%2Fimage%2FC5612AQHCrbLDjiE0Tg%2Farticle-inline_image-shrink_1500_2232%2F0%2F1629949735950%3Fe%3D1635379200%26v%3Dbeta%26t%3DBVjOutMNBrIN7Rwd1KuiZacTGlGGDT67B5Ab9SLL3vM" 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%2Fmedia-exp1.licdn.com%2Fdms%2Fimage%2FC5612AQHCrbLDjiE0Tg%2Farticle-inline_image-shrink_1500_2232%2F0%2F1629949735950%3Fe%3D1635379200%26v%3Dbeta%26t%3DBVjOutMNBrIN7Rwd1KuiZacTGlGGDT67B5Ab9SLL3vM" alt="Cloud Migration Models"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;IaaS (Infrastructure as a Service)&lt;/strong&gt;: IaaS contains the basic building blocks for cloud IT. It typically provides access to networking features, computers (virtual or on dedicated hardware), and data storage space. IaaS gives you the highest level of flexibility and management control over your IT resources. It is most similar to the existing IT resources with which many IT departments and developers are familiar.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;PaaS (Platform as a service)&lt;/strong&gt;: PaaS removes the need for you to manage underlying infrastructure (usually hardware and operating systems), and allows you to focus on the deployment and management of your applications. This helps you be more efficient as you don’t need to worry about resource procurement, capacity planning, software maintenance, patching, or any of the other undifferentiated heavy lifting involved in running your application.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;SaaS (Software as a Service)&lt;/strong&gt;: SaaS provides you with a complete product that is run and managed by the service provider. In most cases, people referring to SaaS are referring to end-user applications (such as web-based email). With a SaaS offering, you don’t have to think about how the service is maintained or how the underlying infrastructure is managed. You only need to think about how you will use that particular software.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Cloud Deployment Models
&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%2Fmedia-exp1.licdn.com%2Fdms%2Fimage%2FC5612AQEbOYwsqjDIPA%2Farticle-inline_image-shrink_1500_2232%2F0%2F1629950020181%3Fe%3D1635379200%26v%3Dbeta%26t%3D4Jb6PffuB5PfOM7EwYJnikYLIlGV_QtHdkUu7nxHc0o" 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%2Fmedia-exp1.licdn.com%2Fdms%2Fimage%2FC5612AQEbOYwsqjDIPA%2Farticle-inline_image-shrink_1500_2232%2F0%2F1629950020181%3Fe%3D1635379200%26v%3Dbeta%26t%3D4Jb6PffuB5PfOM7EwYJnikYLIlGV_QtHdkUu7nxHc0o" alt="Cloud Deployment Model"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Cloud:&lt;/strong&gt; A cloud-based application is fully deployed in the cloud and all parts of the application run in the cloud. Applications in the cloud have either been created in the cloud or have been migrated from an existing infrastructure to take advantage of the benefits of cloud computing. Cloud-based applications can be built on low-level infrastructure pieces or can use higher-level services that provide abstraction from the management, architecting, and scaling requirements of core infrastructure.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;On-premises:&lt;/strong&gt; Deploying resources on-premises, using virtualization and resource management tools, is sometimes called “private cloud”. On-premises deployment does not provide many of the benefits of cloud computing but is sometimes sought for its ability to provide dedicated resources. In most cases, this deployment model is the same as legacy IT infrastructure while using application management and virtualization technologies to try and increase resource utilization.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Hybrid:&lt;/strong&gt; A hybrid deployment is a way to connect infrastructure and applications between cloud-based resources and existing resources that are not located in the cloud. The most common method of hybrid deployment is between the cloud and existing on-premises infrastructure to extend, and grow, an organization's infrastructure into the cloud while connecting cloud resources to internal system&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Now, that we have covered key concepts of cloud and pre-requisite knowledge, let's learn about the step by step migration flow:&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Step 1: Cloud Assessment:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The very first thing we must do is the below assessments and document everything!&lt;/p&gt;

&lt;h3&gt;
  
  
  Asses Cost:
&lt;/h3&gt;

&lt;p&gt;We have to do below cost assessment and estimate the total cost of migration to make sure it doesn't exceed the assigned budget&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  The cost of the team what working on the migration project&lt;/li&gt;
&lt;li&gt;  The cost of creating infrastructure&lt;/li&gt;
&lt;li&gt;  The cost of Cloud Service Provider (CSP)&lt;/li&gt;
&lt;li&gt;  The Cost of Data Transfer&lt;/li&gt;
&lt;li&gt;  Post-migration development &amp;amp; maintenance cost&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Asses Architecture:
&lt;/h3&gt;

&lt;p&gt;We have to below Architecture assessment before starting actual cloud migration&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Create a list of existing infrastructure resources such as servers RAM, CPU, storage, firewall, Databases, etc any and all IT Infra Resources.&lt;/li&gt;
&lt;li&gt;  Create a list of expected resources that will need to be created in the remote Cloud Services Provider's platform, based on the existing list.&lt;/li&gt;
&lt;li&gt;  Find out the way to save Infrastructure costs and what possible options are available and select the best possible options as per business budget and needs.&lt;/li&gt;
&lt;li&gt;  Do a GAP analysis, to make a list of the things that need to be done before moving applications and data to the Cloud&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Asses Security&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Before moving to the cloud we have to consider below security assessments&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  List existing security policies, frameworks, business mandatory policies which need special considerations.&lt;/li&gt;
&lt;li&gt;  List how to achieve the above-existing infra requirements in the target cloud or how to improve it even further using available Cloud Service provider given tools&lt;/li&gt;
&lt;li&gt;  List all the relevant Security options such as how to use them, are they incur the extra cost or are free of cost, how effective it is, etc&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 2: Create Proof of Concept (POC):
&lt;/h2&gt;

&lt;p&gt;Before starting actual full-scale migration, there has to be a proof of concepts with at least to see if we can move core services and/or core data or not, otherwise if start full-scale migration and find out that some or most important services are incompatible or unable to migrate due to any reason, that might cause havoc loss to the company/project, so it's best practice to create a PoC before processing further! consider the below points while creating the Pilot project:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  After above three assessment it will be clear with which cloud provider the PoC need to be made i.e. with best possible less cost + more performance service + infrastructure + Best Security options&lt;/li&gt;
&lt;li&gt;  Plan to move core service and core data + service first rather than making it feature-rich, try to make a smaller app/data migration only, just to verify what you are expecting to work, are working at all for your app/service or not&lt;/li&gt;
&lt;li&gt;  Utilizing Cloud service provider provided tools to make this POC faster&lt;/li&gt;
&lt;li&gt;  Not just depend on the Cloud Service Provided Tools, but also have a look at the best possible open-source options&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 3: Data Migration:
&lt;/h2&gt;

&lt;p&gt;After PoC succeeds and is passed by top management, it's time to start the actual migration process and first, we will move the data:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Leverage Storage Options:&lt;/strong&gt;
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Select best possible storage option based on requirement + cost/budget + performance&lt;/li&gt;
&lt;li&gt;  While selecting the storage option, check for tools provided by the cloud service provider for the data migration&lt;/li&gt;
&lt;li&gt;  Check SLA, most of the service providers give SLA (Service Level Agreement) for their storage options, which might be a selection factor for mid/large/enterprise businesses.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Migrate:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After selecting the storage option, it's time to migrate actual data, and consider the below points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Estimate the time it's going to take to complete the Data Migration, let the Operations team and management know, and get concept/approval&lt;/li&gt;
&lt;li&gt;  Make Schema / Format ready (if needed) in the remote cloud storage&lt;/li&gt;
&lt;li&gt;  Check if data pre-processing is needed, if so, do make processing is done before starting the migration process, e.g. for DB storage export data to CSV or JSON, and for an object at such as pic and doc file to zipping before moving, etc&lt;/li&gt;
&lt;li&gt;  Find out when application traffic is lowest, and notify customers that you are going to move data in that time, make an application in maintenance mode so that it doesn't create new data, then start the migration and keep the service unavailable during the migration time&lt;/li&gt;
&lt;li&gt;  After the data migration is done, don't just start using the new storage, instead use live data migration tools, which keep the old data storage and new data storage in sync until completely move to the new data storage option, and only move to the new data storage option till fully satisfied with the performance, security and stability of new storage, for this either use cloud service provided tool, or open sources data migration tools or just create your own custom solution!&lt;/li&gt;
&lt;li&gt;  If the data is too huge that it might not be wise to do a live migration, instead it will be better to use physical data move using cloud service provided paid data migration service, where they will come to you and copy all the data into some large drive and then take it back to their data center where they do copy data from the drive, it's faster and then you can do live migration for any new data.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 4: Application Migration:
&lt;/h2&gt;

&lt;p&gt;There are 6 R’s of cloud migration define cloud migration strategies, which include — Rehost, Refactor, Revise, Rebuild, Replace, and Retiring.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Rehost&lt;/strong&gt; - Rehosting can be thought of as "the same thing, but on cloud servers". Companies that choose this strategy will select an IaaS (Infrastructure-as-a-Service) provider and recreate their application architecture on that infrastructure. in short: &lt;strong&gt;moving applications to the cloud as-&lt;/strong&gt;is.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Refactor&lt;/strong&gt; - Companies that choose to refactor will reuse already existing code and frameworks, but run their applications on a PaaS (Platform-as-a-Service) provider's platform – instead of on IaaS, as in rehosting. in short: &lt;strong&gt;changing the app’s code to better support the cloud environment&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Revise&lt;/strong&gt; - This strategy involves partially rewriting or expanding the code base, then deploying it by either rehosting or refactoring. in short: &lt;strong&gt;moving applications to the cloud without major changes but taking advantage of the benefits of the cloud environment.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Rebuild&lt;/strong&gt; - To "rebuild" means rewriting and re-architecting the application from the ground up on a PaaS provider's platform. This can be a labor-intensive process, but it also enables developers to take advantage of modern features from PaaS vendors. in short: &lt;strong&gt;rewrite the application from scratch.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Replace&lt;/strong&gt; - Businesses can also opt to discard their old applications altogether and switch to already-built SaaS (Software-as-a-Service) applications from third-party vendors. in short: &lt;strong&gt;retire the application and replace it with a new cloud-native application&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Retiring —&lt;/strong&gt; After looking over everything in your environment, you’re likely to discover there are things you can remove without consequences, doing it can save money, improves security, and gives your people one less tool they have to learn to use. in short: &lt;strong&gt;Remove unnecessary resources&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;List of Available Cloud Migration Tools &amp;amp; Service&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Leading Cloud service providers such as AWS, Azure, GCP gives us excellent migration tools as follows:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;AWS cloud migration tools:&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;AWS Provides below Cloud Migration tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://aws.amazon.com/migration-hub/" rel="noopener noreferrer"&gt;AWS Migration Hub&lt;/a&gt;  — This hub lets you track the progress of migrations across AWS solutions, helping you pick the right tools, track metrics, and more.&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://aws.amazon.com/application-discovery" rel="noopener noreferrer"&gt;AWS Application Delivery Service&lt;/a&gt; &lt;strong&gt;—&lt;/strong&gt; Plan for your migration by letting AWS review your on-prem data setup. Collected data is encrypted and accessible from the Migration Hub.&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://aws.amazon.com/server-migration-service" rel="noopener noreferrer"&gt;AWS Server Migration Service&lt;/a&gt; — This service makes it easy and quick to move workloads to AWS, particularly when dealing with large-scale server migrations.&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://aws.amazon.com/dms" rel="noopener noreferrer"&gt;AWS Database Migration Service&lt;/a&gt; — Easily and securely move your databases to AWS. The source database remains functional throughout the migration, minimizing downtime.&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://aws.amazon.com/cloudendure-migration/" rel="noopener noreferrer"&gt;CloudEndure Migration&lt;/a&gt; — This automated lift-and-shift solution is free for 90 days.&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://docs.aws.amazon.com/whitepapers/latest/aws-overview/migration-services.html" rel="noopener noreferrer"&gt;&lt;strong&gt;Migrating data and files&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;:&lt;/strong&gt; A&lt;a href="https://docs.aws.amazon.com/whitepapers/latest/aws-overview/migration-services.html#aws-snow-family" rel="noopener noreferrer"&gt;WS Snowball, AWS Snowball Edge, AWS Snowmobile&lt;/a&gt;, A&lt;a href="https://aws.amazon.com/datasync/?whats-new-cards.sort-by=item.additionalFields.postDateTime&amp;amp;whats-new-cards.sort-order=desc" rel="noopener noreferrer"&gt;WS DataSync&lt;/a&gt;, and A&lt;a href="https://aws.amazon.com/aws-transfer-family/?whats-new-cards.sort-by=item.additionalFields.postDateTime&amp;amp;whats-new-cards.sort-order=desc" rel="noopener noreferrer"&gt;WS Transfer for SFTP&lt;/a&gt;. Read more &lt;a href="https://docs.aws.amazon.com/whitepapers/latest/aws-overview/migration-services.html" rel="noopener noreferrer"&gt;here&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Microsoft Azure cloud migration tools&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Azure provides below migrations tools/services&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://acloudguru.com/course/migrating-servers-to-azure" rel="noopener noreferrer"&gt;&lt;strong&gt;Azure Migrate&lt;/strong&gt;&lt;/a&gt;  — Microsoft’s built-in migration service serves as a central hub for tools, progress tracking, insights, and guidance to plan and successfully migrate to the cloud. Most other tools covered below are integrated into this central dashboard.&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://docs.microsoft.com/en-us/azure/migrate/migrate-services-overview#:~:text=Azure%20Migrate%20provides%20a%20centralized,tools%20for%20assessment%20and%20migration." rel="noopener noreferrer"&gt;&lt;strong&gt;Azure Migrate&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;: Server Assessment&lt;/strong&gt; and &lt;strong&gt;Server Migration&lt;/strong&gt; — These tools let you assess and migrate servers to Azure, including physical servers and VMware, Hyper-V, public cloud, and other VMs.&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://docs.microsoft.com/en-us/sql/dma/dma-overview" rel="noopener noreferrer"&gt;Data Migration Assistant&lt;/a&gt; — DMA helps locate compatibility issues that could derail your migration. It points out unsupported features, new features, and helps you plot a proper path for database migration.&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://docs.microsoft.com/en-us/azure/dms/dms-overview" rel="noopener noreferrer"&gt;Azure Database Migration Service&lt;/a&gt;  — Migrate on-prem databases to Azure VMs.&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://docs.microsoft.com/en-us/azure/databox/" rel="noopener noreferrer"&gt;Azure Data Box&lt;/a&gt; — Move large amounts of offline data to the Azure cloud.&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://docs.microsoft.com/en-us/azure/migrate/migrate-services-overview#movere" rel="noopener noreferrer"&gt;Movere&lt;/a&gt;  — This SaaS platform was acquired by Microsoft in 2019. It’s a discovery solution that increases business intelligence to see and control environments across.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;GCP cloud migration tools&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;GCP Provides below migrations tools/services:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://cloud.google.com/storage-transfer-service" rel="noopener noreferrer"&gt;Transfer Service&lt;/a&gt;  — Execute large-scale data transfers from online and on-premises sources to Google Cloud Storage.&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://cloud.google.com/transfer-appliance/docs/2.0" rel="noopener noreferrer"&gt;Transfer Appliance&lt;/a&gt; — For offline bulk data migration, Transfer Appliance lets you securely capture, ship, and upload data using 100TB or 480TB models.&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://cloud.google.com/migrate/anthos" rel="noopener noreferrer"&gt;Migrate for Anthos&lt;/a&gt;  — Migrate and modernize existing workloads to containers.&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://cloud.google.com/migrate/compute-engine" rel="noopener noreferrer"&gt;Migrate for Compute Engine&lt;/a&gt; — Get enterprise applications running in Google Cloud while data migrates in the background. Validate, run, and migrate applications without reworking them.&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://cloud.google.com/bigquery-transfer/docs" rel="noopener noreferrer"&gt;BigQuery Data Transfer Service&lt;/a&gt; — Let your analytics team set the foundation for a BigQuery data warehouse and schedule and automate data transfers from your SaaS applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Step 5: Leverage Cloud:
&lt;/h2&gt;

&lt;p&gt;Finally, after migration over, remember migration is not just moving data and application to the cloud, don't forget your primary goal, which was to leverage full power, do below to harness it:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scale:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  So set auto-scaling policies properly, don't overestimate and don't underestimate, set auto-scaling policies based on application need.&lt;/li&gt;
&lt;li&gt;  Over-provisioning costs more and under-provisioning costs clients, which can impact Companie's Goodwill, so either is not an option, do experiment scaling as much as possible with Cloud Service provided tools and as well as open-source tools, practice &lt;strong&gt;chaos engineering&lt;/strong&gt;!&lt;/li&gt;
&lt;li&gt;  Look at &lt;strong&gt;Multi-Cloud&lt;/strong&gt;, using containerization or function-based application running approach, we can separate codes(business logic) from Environment (OS/other dependencies), Cloud gives us awesome multi-cloud features, where we can leverage multi-cloud so that in case any outage in any cloud, there is another backup Cloud service provider ready to compensate that.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Automate:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Cloud gives us wonderful automation options such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  We can &lt;strong&gt;automate infrastructure&lt;/strong&gt; creation/provision, maintenance, upgrade/downgrade, security, kind of everything via Infrastructure as code tools/services such as Terraform, CloudFormations etc, we should and must utilizing this awesome feature&lt;/li&gt;
&lt;li&gt;  Using Automation, migration from &lt;strong&gt;one cloud to another is also easy&lt;/strong&gt; (in case don't use the property tools/service, instead use opensource options)&lt;/li&gt;
&lt;li&gt;  Using Automation tools, also help &lt;strong&gt;estimate better&lt;/strong&gt; in cost calculation and lets us know what resources going to be created before creating it!&lt;/li&gt;
&lt;li&gt;  Even using automated CI/CD process, from source code to deployment all can happen automation or using less manual international, making release process much faster and smooth&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Test&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The test will get even easier:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  If we maintain infrastructure as code, we also can add automated test cases that will make cloud resource testing much easier&lt;/li&gt;
&lt;li&gt;  If we maintain the automated CI/CD Process in the cloud, we can do easily add test cases in source code and do run the test cases after build successes and after testing, if passed, then moving to staging/production&lt;/li&gt;
&lt;li&gt;  If during the test it failed, using a different Cloud feature we can notify the concerned team about the failure and as soon the fixes and done and codes pushed, the testing can happen automatically again&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Step 6: Optimizations :&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;After all the above in place, it's time to do the below:&lt;/p&gt;

&lt;h3&gt;
  
  
  Monitor:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Monitor cost&lt;/strong&gt;, do create budget and notification, as it's very easy to thing can go out of budget and hard to manage, so have to make sure it's always under control and keep it under control.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Monitor Security,&lt;/strong&gt; do make sure its least privileged approach is followed, monitor each and every access using cloud service proved tools, set alert for possible breaches, make sure strict policies are in place and set an alert if anyone tries to deviate anything, should trigger alert and automation there to rectify it.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Monitor performance,&lt;/strong&gt; do monitor performance of each and every resources, check if any improvements if not, and do as needed&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Monitor usage pattern,&lt;/strong&gt; create separate usage profiles, like many hours running, when the load is high or less, how much usage happening, over the month, quarter, year etc, it will use in the next stage&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Redesign:
&lt;/h3&gt;

&lt;p&gt;After motioning and tethering enough data :&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Improve based on fact,&lt;/strong&gt; based on monitoring data, find out what resources needs improvements/upgrade/downgrade, etc&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Look for Cost Saving opportunities,&lt;/strong&gt; by profiling data and requirements, we can predict the next usage pattern and by leveraging this knowledge we can save cost by either by doing reservations or purchasing savings plans provided by Cloud Service proves, for this we need how much to reserve and monitoring gives us that data.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Improve security,&lt;/strong&gt; by looking monitoring data &amp;amp; analyzing the data, find out anomalies, possible breaches, and find opportunities to improve it&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Remove unnecessary resources,&lt;/strong&gt; based on monitoring remove the resources which is unnecessary and not getting used at all&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Migrations Challenges:&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Duration:&lt;/strong&gt; Although with help of modern tools and services migration takes less time, but in the case of legacy systems it takes a lot of time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Complexity:&lt;/strong&gt; Mapping existing systems and requirements to Cloud is no easy task and often it's very easy to get things more complicated, need very talented/experienced resource to handle the migration&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Huge Bills:&lt;/strong&gt; If not monitored and managed properly, cloud costs can go out of the hands&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Make Management Understand:&lt;/strong&gt; Let's agree, Cloud is complicated for non-teach / non-trained persons, management often doesn't know why and what, it's tough to make them understand what is needed and why is needed and its impact on laymen understandable way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Human Resource:&lt;/strong&gt; Probably &lt;strong&gt;the most important is this,&lt;/strong&gt; Cloud migration need experienced knowledge hence experienced professional needed for do asses existing infra, plan the architecture of the cloud and not to mention actually implementing the infra/automate it and do the migration. For this we need, Cloud Architect, DevOps Engineers, Operations Engineer, etc, and since Cloud professionals are in demand, finding the right person is challenging.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Even though at a glance it looks like Cloud migration is moving resources to Cloud is just moving on-prem to Cloud, but it requires a lot of considerations before actually starting migrations and post migrations manage it.&lt;/p&gt;

&lt;p&gt;Hope the information I have tried to provide will be beneficial for many others and if you really loved this article, do like this article, share it with others, and comment on what is yours thought about this article.&lt;/p&gt;

&lt;h3&gt;
  
  
  About the Author:
&lt;/h3&gt;

&lt;p&gt;Sandip Das works as a Sr. Cloud Solutions Architect &amp;amp; DevOps Engineer for multiple tech product companies/start-ups, have AWS DevOps Engineer Professional certification, also holding the title of "&lt;a href="https://aws.amazon.com/developer/community/heroes/sandip-das/?did=dh_card&amp;amp;trk=dh_card" rel="noopener noreferrer"&gt;AWS Container Hero&lt;/a&gt;",&lt;/p&gt;

&lt;p&gt;He is always in "keep on learning" mode, enjoys sharing knowledge with others, and currently holds 5 AWS Certifications. Sandip finds blogging as a great way to share knowledge: he writes articles on &lt;a href="https://www.linkedin.com/in/sandip-das-developer/detail/recent-activity/posts/" rel="noopener noreferrer"&gt;Linkedin&lt;/a&gt; about Cloud, DevOps, Programming, and more. He also creates video tutorials on his &lt;a href="https://www.youtube.com/c/SandipDas-official" rel="noopener noreferrer"&gt;YouTube channel&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>aws</category>
      <category>azure</category>
      <category>gcp</category>
    </item>
    <item>
      <title>Microservices CI/CD With Terraform, AWS ECS &amp; AWS CI/CD Tools</title>
      <dc:creator>Sandip Das</dc:creator>
      <pubDate>Sun, 15 Aug 2021 11:45:58 +0000</pubDate>
      <link>https://dev.to/aws-heroes/microservices-ci-cd-with-terraform-aws-ecs-aws-ci-cd-tools-5hng</link>
      <guid>https://dev.to/aws-heroes/microservices-ci-cd-with-terraform-aws-ecs-aws-ci-cd-tools-5hng</guid>
      <description>&lt;p&gt;Learn how to configure AWS CodeBuild &amp;amp; CodePipeline for any applications using Terraform&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/CjjSBWMwOzA"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  By the end of tutorial you will learn:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;What exactly are Microservices? &lt;/li&gt;
&lt;li&gt;What is Continuous Integration?&lt;/li&gt;
&lt;li&gt;What is Continuous Delivery &amp;amp; Deployment?&lt;/li&gt;
&lt;li&gt;What is Infrastructure as Code &amp;amp; Terraform? &lt;/li&gt;
&lt;li&gt;AWS Tools for CICD &amp;amp; Microservices&lt;/li&gt;
&lt;li&gt;Microservices CI/CD Demo with AWS + Terraform&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What is Microservices?
&lt;/h2&gt;

&lt;p&gt;Microservices are an architectural and organizational approach to software development where software is composed of small independent services that communicate over well-defined APIs. These services are owned by small, self-contained teams.&lt;/p&gt;

&lt;p&gt;Microservices architectures make applications easier to scale and faster to develop, enabling innovation and accelerating time-to-market for new features.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Terraform?
&lt;/h2&gt;

&lt;p&gt;Terraform is an infrastructure as code (IaC) tool that allows you to build, change, and version infrastructure safely and efficiently. This includes low-level components such as compute instances, storage, and networking, as well as high-level components such as DNS entries, SaaS features, etc. Terraform can manage both existing service providers and custom in-house solutions.&lt;/p&gt;

&lt;h2&gt;
  
  
  What are the AWS CI/CD Tools?
&lt;/h2&gt;

&lt;p&gt;AWS CodeCommit: Managed Git Repository Services (Source)&lt;/p&gt;

&lt;p&gt;AWS CodeBuild: Container-based  Serverless Build tool/Service (Build)&lt;/p&gt;

&lt;p&gt;AWS CodeDeploy: Deployment service&lt;/p&gt;

&lt;p&gt;AWS CodePipeline: Workflow management e.g. Source ➡️  Build ➡️  Deploy &lt;/p&gt;

&lt;p&gt;▬▬▬▬▬▬ Useful Links 🔗 ▬▬▬▬▬▬ &lt;br&gt;
Terraform Course For Beginners:                             ►&lt;a href="https://bit.ly/379r5dg"&gt;https://bit.ly/379r5dg&lt;/a&gt;&lt;br&gt;
Demo Project GitHub Repo:                                      ►&lt;a href="https://bit.ly/3scmsZs"&gt;https://bit.ly/3scmsZs&lt;/a&gt;&lt;br&gt;
Terraform AWS CodeBuild Documentation:           ►&lt;a href="https://bit.ly/3jLyDss"&gt;https://bit.ly/3jLyDss&lt;/a&gt;&lt;br&gt;
Terraform AWS CodePipeline Documentation:      ►&lt;a href="https://bit.ly/3m1ZweC"&gt;https://bit.ly/3m1ZweC&lt;/a&gt;&lt;br&gt;
Terraform CodePipeline Providers Reference:       ►&lt;a href="https://amzn.to/3yLrAq0"&gt;https://amzn.to/3yLrAq0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;▬▬▬▬▬▬ Session Ebook 🚀      ▬▬▬▬▬▬ &lt;br&gt;
Microservices CI/CD With Terraform Ebook: ► &lt;a href="https://bit.ly/3xJd2WB"&gt;https://bit.ly/3xJd2WB&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;▬▬▬▬▬▬ Connect with me 👋   ▬▬▬▬▬▬ &lt;br&gt;
My Site                                            ►  &lt;a href="https://bit.ly/3rz82SQ"&gt;https://bit.ly/3rz82SQ&lt;/a&gt;&lt;br&gt;
INSTAGRAM                                  ►  &lt;a href="https://bit.ly/3iFWfy8"&gt;https://bit.ly/3iFWfy8&lt;/a&gt;&lt;br&gt;
TWITTER                                        ►  &lt;a href="https://bit.ly/3i6lkDs"&gt;https://bit.ly/3i6lkDs&lt;/a&gt;&lt;br&gt;
LINKEDIN                                       ►  &lt;a href="https://bit.ly/3rAeCsm"&gt;https://bit.ly/3rAeCsm&lt;/a&gt;&lt;/p&gt;

</description>
      <category>terraform</category>
      <category>devops</category>
      <category>aws</category>
      <category>cicd</category>
    </item>
    <item>
      <title>Hashicorp Terraform Associate Certification Study Course. Pass the Exam in 2 hours!</title>
      <dc:creator>Sandip Das</dc:creator>
      <pubDate>Tue, 27 Jul 2021 16:10:40 +0000</pubDate>
      <link>https://dev.to/aws-heroes/terraform-full-course-for-beginners-hashicorp-terraform-associate-certification-exam-prep-course-5eg7</link>
      <guid>https://dev.to/aws-heroes/terraform-full-course-for-beginners-hashicorp-terraform-associate-certification-exam-prep-course-5eg7</guid>
      <description>&lt;p&gt;This is a complete end-to-end course to help you pass the Hashicorp Terraform Certification.&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/EJ3N-hhiWv0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Learn:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;What is Infrastructure as Code (IaC)&lt;/li&gt;
&lt;li&gt;What is Infrastructure as Code&lt;/li&gt;
&lt;li&gt;IaC and its benefits&lt;/li&gt;
&lt;li&gt;What is Terraform? &lt;/li&gt;
&lt;li&gt;Terraform Features&lt;/li&gt;
&lt;li&gt;Terraform Basic Commands &lt;/li&gt;
&lt;li&gt;Terraform Main Commands In-depth explanation
(Terraform get, init, validate, plan, apply, state, workspaces, destroy, import, taint, graph)&lt;/li&gt;
&lt;li&gt;Terraform Coding (Structure, resources, data sources, variable, providers, functions, modules, provisioners, Lifecycle Policy, Remote State backend)&lt;/li&gt;
&lt;li&gt;Terraform Cloud &amp;amp; Enterprise&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Terraform is our tool of choice to manage the entire lifecycle of infrastructure using infrastructure as code. That means declaring infrastructure components in configuration files that are then used by Terraform to provision, adjust and tear down infrastructure in various cloud providers&lt;/p&gt;

&lt;p&gt;In this tutorial, you will learn in-depth about what is Terraform, the important commands we use daily, how we can code with Terraform, and how to work with teams while coding infra as code with Terraform. &lt;/p&gt;

&lt;h2&gt;
  
  
  Course Outline ⏰
&lt;/h2&gt;

&lt;p&gt;0:00 - Intro&lt;br&gt;
0:33 - What is Infrastructure as Code (IaC)?&lt;br&gt;
01:48 - IaC benefits&lt;br&gt;
04:40 - What is Terraform?&lt;br&gt;
05:33 - Terraform Features&lt;br&gt;
7:28 - Terraform CLI overview&lt;br&gt;
7:54 - Terraform Installation Instructions &lt;br&gt;
8:26 - Terraform Init&lt;br&gt;
10:26 - Terraform Validate&lt;br&gt;
12:10 - Terraform Plan&lt;br&gt;
14:49 - Terraform Apply&lt;br&gt;
19:42 - Terraform State&lt;br&gt;
22:56 - Terraform Workspaces&lt;br&gt;
26:54 - Terraform Destroy&lt;br&gt;
28:12 - Terraform Import&lt;br&gt;
29:12 - Terraform Taint&lt;br&gt;
31:22 - Terraform Coding Intro&lt;br&gt;
32:38 - Terraform Resource Referencing&lt;br&gt;
35:12 - Terraform Example Code Explanation&lt;br&gt;
42:40 - Supply AWS Credentials to Terraform&lt;br&gt;
43:54 - Terraform Data Sources&lt;br&gt;
45:10 - Terraform Variables Overview&lt;br&gt;
45:56 - Input Variable In-depth explanation&lt;br&gt;
48:12 - Different Ways to Pass Input variables in Terraform&lt;br&gt;
49:56 - Input validation&lt;br&gt;
52:46 - Input Variable Order&lt;br&gt;
52:46 - Output Values&lt;br&gt;
55:12 - Local Values&lt;br&gt;
56:14 - Terraform Providers&lt;br&gt;
58:32 - Terraform Functions&lt;br&gt;
1:00:00 - Terraform Modules&lt;br&gt;
1:01:54 - How to Use Terraform Modules&lt;br&gt;
1:04:45 - Terraform Provisioners&lt;br&gt;
1:07:28 - Lifecycle Management In Terraform&lt;br&gt;
1:09:18 - Remote State Backends in Terraform (Very Important)&lt;br&gt;
1:15:00 - Terraform Cloud&lt;br&gt;
1:22:11 - Terraform Enterprise&lt;br&gt;
1:23:34 -  Closing Notes&lt;/p&gt;

&lt;h2&gt;
  
  
  Useful Links 🔗
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/hashicorp/terraform-provider-aws/tree/master/examples"&gt;Terraform Example AWS Code/Projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://registry.terraform.io/browse/providers"&gt;Terraform Providers&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.terraform.io/docs/language/functions/index.html"&gt;Terraform Functions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.terraform.io/docs/cli/commands/index.html"&gt;Terraform Commands&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Course Ebook 🚀
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://drive.google.com/file/d/1lTzVx7LbwB6618MIwnCU_p4maA4m_4Fs/view?usp=sharing"&gt;Download Terraform Full Course Ebook&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Connect with me 👋
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://bit.ly/3rz82SQ"&gt;Learn.SandipDas.in&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bit.ly/3iFWfy8"&gt;Instragram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bit.ly/3i6lkDs"&gt;Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bit.ly/3rAeCsm"&gt;LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>terraform</category>
      <category>devops</category>
      <category>infrastructureascode</category>
      <category>aws</category>
    </item>
    <item>
      <title>Containerization Best Practices</title>
      <dc:creator>Sandip Das</dc:creator>
      <pubDate>Mon, 11 Jan 2021 04:27:38 +0000</pubDate>
      <link>https://dev.to/aws-heroes/containerization-best-practices-4a4c</link>
      <guid>https://dev.to/aws-heroes/containerization-best-practices-4a4c</guid>
      <description>&lt;p&gt;Container technology now getting used by Developers, DevOps Professions, Data Scientists, and other tech professionals, especially it helped developers to develop and deploy applications a lot faster than before, it brings us application portability and a lot of other features, that we will through one by one and we will learn which best practices we can follow to optimize it further!&lt;/p&gt;

&lt;p&gt;Ok, but for those the word container/containerization still an alien word, below is a brief about containerization:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What is Containerization?&lt;/strong&gt; &lt;br&gt;
I like this definition from Citrix:&lt;/p&gt;

&lt;p&gt;Containerization is defined as a form of operating system virtualization, through which applications are run in isolated user spaces called containers, all using the same shared operating system (OS). A container is essentially a fully packaged and portable computing environment that already has all the necessary packages to run the application inside.&lt;/p&gt;

&lt;p&gt;In a more simple way: Containerization is the process of packaging an application along with its required libraries, frameworks, and configuration files together so that it can be run in various computing environments efficiently&lt;/p&gt;

&lt;p&gt;In one line: Containerization is the encapsulation of an application and its required environment.&lt;/p&gt;

&lt;p&gt;The below diagram Explain it well 👍&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Popular Container Engines:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Docker:&lt;/strong&gt;&lt;br&gt;
The first and still most popular container technology, Docker's open-source containerization engine works with most of the commercial/enterprise products, as well as many open-source tools.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;CRI-O:&lt;/strong&gt;&lt;br&gt;
CRI-O, a lightweight alternative to using Docker, allows you to run containers directly from Kubernetes, without any unnecessary code or tooling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rktlet:&lt;/strong&gt;&lt;br&gt;
The aforementioned rkt, redesigned and retooled to use the CRI as rktlet, now has a set of supported tools and community to rival Docker.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;runC:&lt;/strong&gt;&lt;br&gt;
runC, a lightweight universal container runtime, is a command-line tool for spawning and running containers according to the Open Container Initiative (OCI) specification. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Containerd:&lt;/strong&gt;&lt;br&gt;
A project of the Cloud Native Computing Foundation, containerd was an early container format. More recently the developers of containerd built a CRI plugin that lets Kubernetes run containerd in the same way it runs rktlet or CRI-O.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Microsoft Containers:&lt;/strong&gt;&lt;br&gt;
Positioned as an alternative to Linux, Microsoft Containers can support Windows containers under very specific circumstances. They generally run in a true virtual machine and not in a cluster manager like Kubernetes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Kata Containers:&lt;/strong&gt;&lt;br&gt;
Kata Containers is an open-source container runtime, building lightweight virtual machines that seamlessly plug into the containers ecosystem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But Again Why Use Containers?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Consistent Environment&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Containers give developers the ability to create predictable environments that are isolated from other applications. Containers can also include software dependencies needed by the application, such as specific versions of programming language runtimes and other software libraries. From the developer’s perspective, all this is guaranteed to be consistent no matter where the application is ultimately deployed. All this translates to productivity: developers and IT Ops teams spend less time debugging and diagnosing differences in environments, and more time shipping new functionality for users. And it means fewer bugs since developers can now make assumptions in dev and test environments they can be sure will hold true in production.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Run Anywhere&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Containers are able to run virtually anywhere, greatly easing development and deployment: on Linux, Windows, and Mac operating systems; on virtual machines or bare metal; on a developer’s machine or in data centers on-premises; and of course, in the public cloud. The widespread popularity of the Docker image format for containers further helps with portability. Wherever you want to run your software, you can use containers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Isolation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Containers virtualize CPU, memory, storage, and network resources at the OS-level, providing developers with a sandboxed view of the OS logically isolated from other applications.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;From Code to Applications&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Containers allow you to package your application and its dependencies together into one succinct manifest that can be version controlled, allowing for easy replication of your application across developers on your team and machines in your cluster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Less overhead&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Containers require fewer system resources than traditional or hardware virtual machine environments because they don’t include operating system images.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Greater efficiency&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Containers allow applications to be more rapidly deployed, patched, or scaled.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Containerization Best Practices:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Choose Container Engine Properly:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Based on the project and use cases, select the right container engine for your application, in case not sure about what would be the right container engine for your application, then good to go with the most popular one i.e. Docker but don't just select it because someone telling it, do your own research and then select the right one for your project.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Keep images as small as possible:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To Keep images smaller:&lt;/p&gt;

&lt;p&gt;-&amp;gt; Use multi-stage builds (e.g. docker multi-stage build)&lt;/p&gt;

&lt;p&gt;-&amp;gt; Use smaller base image&lt;/p&gt;

&lt;p&gt;-&amp;gt; While building image make sure only include packages what is necessary, should remove what's not needed and always tag the images.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Store Persistent Data Outside Container:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Avoid storing application data in your container’s writable layer. This increases the size of your container and is less efficient from an I/O perspective than using volumes or bind mounts, instead of store data in external data storage e.g volumes in docker&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don't store secrets in simple text:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Never store secrets / sensitive files which have contents like DB username/passwords, or any other sensitive credentials in plain text, instead use native secret management tools available in container engine or use efficient external plugins.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Dev, Test, Staging, Production:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Make sure to separately and dynamically manage environments in containerization, use environments variable accordingly, can use a script to automate this and optimize further.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Utilize CI/CD Tools for Testing &amp;amp; Deployment:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you check in a change to source control or create a pull request, use any CI/CD pipeline to automatically build, tag images and test it and deploy automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Pay attention to Container Security:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Security matters and considering the current situation it matters a lot! , so make sure to sign images, scan any external images before using them, search for vulnerability in images/packages/dependencies, and fix the root cause and of course audit those regularly. Try to use trusted/secure images&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Single App per Container:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Of course you can run multiple, but it's a good practice to run a single app per container. Because a container is designed to have the same lifecycle as the app it hosts, each of your containers should contain only one app. When a container starts, so should the app, and when the app stops, so should the container.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Never Run Container as Root:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;Out of security concerns, never run any container as root as it will get root access to the host system, any security flow in any installed packages/dependencies will affect the original host system.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Don't Run Many Processed in Single Container:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Running many processes inside a single process will affect the performance of the actual application, so instead make multiple containers as services that can interact with each other.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Monitor Your Containers:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's best practice to monitor your containers, check how it's performing, collect CPU, RAM, I/O usage and other resource data periodically and automatically, also collect and analyze the logs time to time. It will be very helpful at the time of debugging or reporting purposes.&lt;/p&gt;

&lt;p&gt;There are many tools available e.g. container insight by AWS, newrelic, App Dynamics, App Optics, Prometheus, cAdvisor, Dynatrace, DataDog, and many more.&lt;/p&gt;

&lt;p&gt;Thanks for reading this article 🙏&lt;/p&gt;

&lt;p&gt;Did I miss any point? let me know in the comments!&lt;/p&gt;

&lt;h1&gt;
  
  
  About the Author:
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0KdaqfUr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQHynReBQHW5zA/article-inline_image-shrink_1500_2232/0%3Fe%3D1600300800%26v%3Dbeta%26t%3D5cCnyvxg-Q-4qluBwpcVQ0s5zwszR7KhHozaH_dfE-M" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0KdaqfUr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQHynReBQHW5zA/article-inline_image-shrink_1500_2232/0%3Fe%3D1600300800%26v%3Dbeta%26t%3D5cCnyvxg-Q-4qluBwpcVQ0s5zwszR7KhHozaH_dfE-M" alt="Sandip Das"&gt;&lt;/a&gt;&lt;br&gt;
Sandip Das works as a Sr. Cloud Solutions Architect &amp;amp; DevOps Engineer for multiple tech product companies/start-ups, also holding the title of "&lt;a href="https://aws.amazon.com/developer/community/heroes/sandip-das/?did=dh_card&amp;amp;trk=dh_card"&gt;AWS Container Hero&lt;/a&gt;".&lt;/p&gt;

&lt;p&gt;He is always in "keep on learning" mode, enjoys sharing knowledge with others, and currently holds 4 AWS Certifications. Sandip finds blogging as a great way to share knowledge: he writes articles on &lt;a href="https://www.linkedin.com/in/sandip-das-developer/detail/recent-activity/posts/"&gt;Linkedin&lt;/a&gt; about Cloud, DevOps, Programming, and more. He also creates video tutorials on his &lt;a href="https://www.youtube.com/c/SandipDas-official"&gt;YouTube channel&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>DevOps Roadmap </title>
      <dc:creator>Sandip Das</dc:creator>
      <pubDate>Wed, 15 Jul 2020 16:20:07 +0000</pubDate>
      <link>https://dev.to/sd031/devops-roadmap-3fic</link>
      <guid>https://dev.to/sd031/devops-roadmap-3fic</guid>
      <description>&lt;p&gt;There has been a constant request on giving a roadmap on becoming a DevOps Engineer and of course the required skills that you need to master to become a DevOps Engineer.&lt;br&gt;
In this article, I am going to explain all that in greater detail. But looks at this first 👇&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3cHXkqdx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQGgRtHnIw3KCg/article-inline_image-shrink_1500_2232/0%3Fe%3D1600300800%26v%3Dbeta%26t%3De_cRaxt5E7xQF4NTCvphaYanS5ziPaL1j8muX5Aq8js" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3cHXkqdx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQGgRtHnIw3KCg/article-inline_image-shrink_1500_2232/0%3Fe%3D1600300800%26v%3Dbeta%26t%3De_cRaxt5E7xQF4NTCvphaYanS5ziPaL1j8muX5Aq8js" alt="DevOps Roadmap"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Ok! Ok! I know it's a bit too much, don't get overwhelmed, let get started from basics.&lt;/p&gt;

&lt;h1&gt;
  
  
  What is DevOps?
&lt;/h1&gt;

&lt;p&gt;DevOps is a set of practices that combines software development and IT operations. It aims to shorten the systems development life cycle and provide continuous delivery with high software quality. DevOps is complementary with Agile software development; several DevOps aspects came from Agile methodology. - Wikipedia&lt;/p&gt;

&lt;p&gt;I like this definition from AWS too:&lt;/p&gt;

&lt;p&gt;DevOps is the combination of cultural philosophies, practices, and tools that increases an organization’s ability to deliver applications and services at high velocity: evolving and improving products at a faster pace than organizations using traditional software development and infrastructure management processes. This speed enables organizations to better serve their customers and compete more effectively in the market.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UyhU5M7o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQE49Z2dXMpGNQ/article-inline_image-shrink_1000_1488/0%3Fe%3D1600300800%26v%3Dbeta%26t%3Djg9HsNddpisrCo38tAW9xSG1EOfWiffEXJjeSfqfNFE" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UyhU5M7o--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQE49Z2dXMpGNQ/article-inline_image-shrink_1000_1488/0%3Fe%3D1600300800%26v%3Dbeta%26t%3Djg9HsNddpisrCo38tAW9xSG1EOfWiffEXJjeSfqfNFE" alt="DevOps Flow"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From the definition and above image you are already getting the idea which might be DevOps.&lt;/p&gt;

&lt;p&gt;In simple terms, it's anything that can make below process faster &amp;amp; smoother :&lt;/p&gt;

&lt;p&gt;Coding -&amp;gt; Building -&amp;gt; Testing -&amp;gt; Packaging -&amp;gt; Releasing -&amp;gt; Configuring -&amp;gt; Monitoring -&amp;gt; Repeat &amp;amp; Improve &amp;lt;-&lt;/p&gt;

&lt;p&gt;We talked about what is DevOps, now let's talk about DevSecOps&lt;/p&gt;

&lt;p&gt;I like Sumologic's explanation on DevSecOps 👇&lt;/p&gt;

&lt;h1&gt;
  
  
  What is DevSecOps:
&lt;/h1&gt;

&lt;p&gt;"DevSecOps is the philosophy of integrating security practices within the DevOps process. DevSecOps involves creating a ‘Security as Code’ culture with ongoing, flexible collaboration between release engineers and security teams. The DevSecOps movement, like DevOps itself, is focused on creating new solutions for complex software development processes within an agile framework.&lt;/p&gt;

&lt;p&gt;DevSecOps is a natural and necessary response to the bottleneck effect of older security models on the modern continuous delivery pipeline. The goal is to bridge traditional gaps between IT and security while ensuring fast, safe delivery of code. Silo thinking is replaced by increased communication and shared responsibility for security tasks during all phases of the delivery process."&lt;/p&gt;

&lt;p&gt;It's simply means make sure security as part of your DevOps process and make it automated.&lt;/p&gt;

&lt;p&gt;Before even going further it's important to understand the daily tasks of DevOps Engineers, below are some examples :&lt;/p&gt;

&lt;p&gt;Design, build, test and deploy scalable, secure, distributed systems from development through production&lt;br&gt;
Manage the code repository(such as Git, SVN, BitBucket, etc.) including code merging and integrating, branching and maintenance and remote repository management&lt;br&gt;
Manage, configure and maintain infrastructure system&lt;br&gt;
Design the database architecture and database objects and synchronize the various environments&lt;br&gt;
Design implement and support DevOps Continuous Integration and Continuous Delivery pipelines&lt;br&gt;
Research and implement new technologies and practices&lt;br&gt;
Document processes, systems, and workflows&lt;br&gt;
Creation and enhancement of dynamic monitoring and alerting solutions using industry-leading services&lt;br&gt;
Continuously analyze tasks that are performed manually and can be replaced by code&lt;br&gt;
Creation and enhancement of Continuous Deployment automation built on Docker and Kubernetes.&lt;br&gt;
You might be feeling that it's all responsibility of the developer and operational personals combined, and it's really it is, that's exactly why it's:&lt;/p&gt;

&lt;p&gt;Dev(elopment) + Op(eration)s = DevOps&lt;/p&gt;

&lt;p&gt;Ok, enough with the definitions, now let's talk about recommended roadmap:&lt;/p&gt;

&lt;h1&gt;
  
  
  1) Learn More on DevOps Culture &amp;amp; Practices:
&lt;/h1&gt;

&lt;p&gt;DevOps is everyone's responsibility, it's not a hard written rule or such, instead, it's when all team comes together to achieve the ultimate goal i.e. optimize both the productivity of developers and the reliability of operations, make a quality product, release features quickly and fix bugs faster, introduce more automation and follow best DevOps practices such as:&lt;/p&gt;

&lt;h2&gt;
  
  
  Continuous Integration:
&lt;/h2&gt;

&lt;p&gt;Continuous integration is a software development practice where developers regularly merge their code changes into a central repository, after which automated builds and tests are run. The key goals of continuous integration are to find and address bugs quicker, improve software quality, and reduce the time it takes to validate and release new software updates.&lt;/p&gt;

&lt;h2&gt;
  
  
  Continuous Delivery:
&lt;/h2&gt;

&lt;p&gt;Continuous delivery is a software development practice where code changes are automatically built, tested, and prepared for a release to production. It expands upon continuous integration by deploying all code changes to a testing environment and/or a production environment after the build stage. When continuous delivery is implemented properly, developers will always have a deployment-ready build artifact that has passed through a standardized test process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Microservices:
&lt;/h2&gt;

&lt;p&gt;The microservices architecture is a design approach to build a single application as a set of small services. Each service runs in its own process and communicates with other services through a well-defined interface using a lightweight mechanism, typically an HTTP-based application programming interface (API). Microservices are built around business capabilities; each service is scoped to a single purpose. You can use different frameworks or programming languages to write microservices and deploy them independently, as a single service, or as a group of services.&lt;/p&gt;

&lt;h2&gt;
  
  
  Infrastructure as Code:
&lt;/h2&gt;

&lt;p&gt;Infrastructure as code is a practice in which infrastructure is provisioned and managed using code and software development techniques, such as version control and continuous integration. The cloud’s API-driven model enables developers and system administrators to interact with infrastructure programmatically, and at scale, instead of needing to manually set up and configure resources. Thus, engineers can interface with infrastructure using code-based tools and treat infrastructure in a manner similar to how they treat application code. Because they are defined by code, infrastructure and servers can quickly be deployed using standardized patterns, updated with the latest patches and versions, or duplicated in repeatable ways.&lt;/p&gt;

&lt;h2&gt;
  
  
  Monitoring and Logging:
&lt;/h2&gt;

&lt;p&gt;Organizations monitor metrics and logs to see how application and infrastructure performance impacts the experience of their product’s end user. By capturing, categorizing, and then analyzing data and logs generated by applications and infrastructure, organizations understand how changes or updates impact users, shedding insights into the root causes of problems or unexpected changes. Active monitoring becomes increasingly important as services must be available 24/7 and as application and infrastructure update frequency increases. Creating alerts or performing real-time analysis of this data also helps organizations more proactively monitor their services.&lt;/p&gt;

&lt;h2&gt;
  
  
  Communication and Collaboration :
&lt;/h2&gt;

&lt;p&gt;Increased communication and collaboration in an organization is one of the key cultural aspects of DevOps. The use of DevOps tooling and automation of the software delivery process establishes collaboration by physically bringing together the workflows and responsibilities of development and operations. Building on top of that, these teams set strong cultural norms around information sharing and facilitating communication through the use of chat applications, issue or project tracking systems, and wikis. This helps speed up communication across developers, operations, and even other teams like marketing or sales, allowing all parts of the organization to align more closely with goals and projects.&lt;/p&gt;

&lt;h1&gt;
  
  
  2) Learn at least one back-end Programming language:
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gVZbAvBx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQEcmbFT5uZi2g/article-inline_image-shrink_1000_1488/0%3Fe%3D1600300800%26v%3Dbeta%26t%3DnzBCAebA7YoO7GuFX7zKGHmWKgnx3DJDPCkuf32Odi8" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gVZbAvBx--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQEcmbFT5uZi2g/article-inline_image-shrink_1000_1488/0%3Fe%3D1600300800%26v%3Dbeta%26t%3DnzBCAebA7YoO7GuFX7zKGHmWKgnx3DJDPCkuf32Odi8" alt="Programming Language Demand"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Yes, you have to learn at least one programming language so that you can program automation scripts and if you could able to learn multiple demanding languages, it's even better but not all 😉&lt;/p&gt;

&lt;p&gt;My Personal recommendations are: Go, Python, JavaScript (Node.js)&lt;/p&gt;

&lt;p&gt;Good Courses:&lt;/p&gt;

&lt;p&gt;Go:&lt;/p&gt;

&lt;p&gt;Paid: &lt;a href="https://www.udemy.com/course/go-the-complete-developers-guide/"&gt;https://www.udemy.com/course/go-the-complete-developers-guide/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Free: &lt;a href="https://www.youtube.com/watch?v=YS4e4q9oBaU"&gt;https://www.youtube.com/watch?v=YS4e4q9oBaU&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Python:&lt;/p&gt;

&lt;p&gt;Paid: &lt;a href="https://www.udemy.com/course/python-the-complete-python-developer-course/"&gt;https://www.udemy.com/course/python-the-complete-python-developer-course/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Free:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=_uQrJ0TkZlc"&gt;https://www.youtube.com/watch?v=_uQrJ0TkZlc&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=rfscVS0vtbw"&gt;https://www.youtube.com/watch?v=rfscVS0vtbw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=WGJJIrtnfpk"&gt;https://www.youtube.com/watch?v=WGJJIrtnfpk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Node.js&lt;/p&gt;

&lt;p&gt;Paid: &lt;a href="https://www.udemy.com/course/the-complete-nodejs-developer-course-2/"&gt;https://www.udemy.com/course/the-complete-nodejs-developer-course-2/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Free:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=JnvKXcSI7yk"&gt;https://www.youtube.com/watch?v=JnvKXcSI7yk&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=RLtyhwFtXQA"&gt;https://www.youtube.com/watch?v=RLtyhwFtXQA&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  3) Understand Different OS Concepts:
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---CRmbUpy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQFQaHC2uCLc0w/article-inline_image-shrink_1000_1488/0%3Fe%3D1600300800%26v%3Dbeta%26t%3DD6nK7MQddqXvuJ86SWgoncYjX3H-Qw8JeQBn12YPnn0" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---CRmbUpy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQFQaHC2uCLc0w/article-inline_image-shrink_1000_1488/0%3Fe%3D1600300800%26v%3Dbeta%26t%3DD6nK7MQddqXvuJ86SWgoncYjX3H-Qw8JeQBn12YPnn0" alt="OS Concepts"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Essential OS concepts necessary for a DevOps engineer, since as a DevOps engineer ultimately will be working with different OS (Mostly Linux) during development and/or deployment.&lt;/p&gt;

&lt;p&gt;DevOps engineer often has to do system-level OS optimizations to increase performance and/or do other optimizations as per application needs, knowledge of Process Management, Threads and Concurrency, Sockets, I/O Management, Virtualization, Memory storage, and File systems would be very much useful in this process.&lt;/p&gt;

&lt;p&gt;Good Courses:&lt;/p&gt;

&lt;p&gt;Paid:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/operating-system-concepts/"&gt;https://www.udemy.com/course/operating-system-concepts/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Free:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=Snrh580U3tI"&gt;https://www.youtube.com/watch?v=Snrh580U3tI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=mXw9ruZaxzQ"&gt;https://www.youtube.com/watch?v=mXw9ruZaxzQ&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  4) Learn about managing servers:
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N7AYiody--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQFXyxGSz3nn8w/article-inline_image-shrink_1500_2232/0%3Fe%3D1600300800%26v%3Dbeta%26t%3DXMgoKN_eJ284LhViJPQelYOu7u4K3V8O5XCenGfcONw" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N7AYiody--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQFXyxGSz3nn8w/article-inline_image-shrink_1500_2232/0%3Fe%3D1600300800%26v%3Dbeta%26t%3DXMgoKN_eJ284LhViJPQelYOu7u4K3V8O5XCenGfcONw" alt="Managing Servers"&gt;&lt;/a&gt;&lt;br&gt;
As a DevOps engineer, we have to manage all kind of servers, and interesting enough it's not just 1 or 2 but a fleet of servers (sometimes even 100+), mostly consist of Linux instances (and rarely other OS ) and that's why the previous step i.e. basic understanding different OS concepts are needed, and after that deepen your knowledge in Linux Systems, that will make your daily life easier 😉&lt;/p&gt;

&lt;p&gt;As a DevOps Engineer, We should have the knowledge of dynamically scaled up/down the servers, without rewriting the configuration files and make necessary recommendation to developers so that the application itself comply with scalability approach.&lt;/p&gt;

&lt;p&gt;Also, you will definitely have to handle web servers at some point in time if not all the time 😁, so having knowledge and practical experience of Reverse Proxy servers such as Nginx and/or Apache is also necessary as well.&lt;/p&gt;

&lt;p&gt;Good Courses:&lt;/p&gt;

&lt;p&gt;Paid:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/linux-administration-bootcamp/"&gt;https://www.udemy.com/course/linux-administration-bootcamp/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/nginx-fundamentals/"&gt;https://www.udemy.com/course/nginx-fundamentals/&lt;/a&gt; (nginx)&lt;/p&gt;

&lt;p&gt;Free:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=wsh64rjnRas"&gt;https://www.youtube.com/watch?v=wsh64rjnRas&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=v_1zB2WNN14"&gt;https://www.youtube.com/watch?v=v_1zB2WNN14&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=lWjZSgXu5VU"&gt;https://www.youtube.com/watch?v=lWjZSgXu5VU&lt;/a&gt; (nginx)&lt;/p&gt;

&lt;h1&gt;
  
  
  5) Networking, Security, and Protocols
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AVsflDQE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQGlOU8V1iNpgQ/article-inline_image-shrink_1000_1488/0%3Fe%3D1600300800%26v%3Dbeta%26t%3DbStbKX5XYtr_iTCkUZIhFkq-dcJ3yTim3z-__Ml99Go" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AVsflDQE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQGlOU8V1iNpgQ/article-inline_image-shrink_1000_1488/0%3Fe%3D1600300800%26v%3Dbeta%26t%3DbStbKX5XYtr_iTCkUZIhFkq-dcJ3yTim3z-__Ml99Go" alt="Networking"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Knowledge of networking, security, and basic protocols are absolutely necessary, as a DevOps engineer we have to set-up VPC and security groups/firewalls and utilize various protocols such as TCP/IP (Transfer Control Protocol/Internet Protocol), HTTP (Hypertext Transfer Protocol), SSL (Secure Sockets Layer), SSH (Secure Shell), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol) and more.&lt;/p&gt;

&lt;p&gt;In particular to networking concepts, necessary concepts such as DNS record management, routing, firewalls and ports, basic utilities like ping, ssh, netstat, ncr and ip, load balancing, and TLS encryption are also necessary.&lt;/p&gt;

&lt;p&gt;Good Courses:&lt;/p&gt;

&lt;p&gt;Paid:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/introduction-to-computer-networks/"&gt;https://www.udemy.com/course/introduction-to-computer-networks/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/network-security-course/"&gt;https://www.udemy.com/course/network-security-course/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Free:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=QKfk7YFILws"&gt;https://www.youtube.com/watch?v=QKfk7YFILws&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=U_P23SqJaDc"&gt;https://www.youtube.com/watch?v=U_P23SqJaDc&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  6) Learn Infrastructure as Code:
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--JyRujIu6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQF4Ztcmne-QCg/article-inline_image-shrink_1000_1488/0%3Fe%3D1600300800%26v%3Dbeta%26t%3D0W4d5rSQ7S4ZbxyADUjFo7vqtwW9twexwIHzkEZCoi0" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--JyRujIu6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQF4Ztcmne-QCg/article-inline_image-shrink_1000_1488/0%3Fe%3D1600300800%26v%3Dbeta%26t%3D0W4d5rSQ7S4ZbxyADUjFo7vqtwW9twexwIHzkEZCoi0" alt="iac"&gt;&lt;/a&gt;&lt;br&gt;
 "Infrastructure as code is the process of managing and provisioning computer data centers through machine-readable definition files, rather than physical hardware configuration or interactive configuration tools."&lt;/p&gt;

&lt;p&gt;I also like this definition from AWS and Microsoft:&lt;/p&gt;

&lt;p&gt;AWS:&lt;/p&gt;

&lt;p&gt;"Infrastructure as code is a practice in which infrastructure is provisioned and managed using code and software development techniques, such as version control and continuous integration. The cloud’s API-driven model enables developers and system administrators to interact with infrastructure programmatically, and at scale, instead of needing to manually set up and configure resources. Thus, engineers can interface with infrastructure using code-based tools and treat infrastructure in a manner similar to how they treat application code. Because they are defined by code, infrastructure and servers can quickly be deployed using standardized patterns, updated with the latest patches and versions, or duplicated in repeatable ways."&lt;/p&gt;

&lt;p&gt;Microsoft:&lt;/p&gt;

&lt;p&gt;"Infrastructure as Code (IaC) is the management of infrastructure (networks, virtual machines, load balancers, and connection topology) in a descriptive model, using the same versioning as DevOps team uses for source code. Like the principle that the same source code generates the same binary, an IaC model generates the same environment every time it is applied. IaC is a key DevOps practice and is used in conjunction with continuous delivery.&lt;/p&gt;

&lt;p&gt;Infrastructure as Code evolved to solve the problem of environment drift in the release pipeline. Without IaC, teams must maintain the settings of individual deployment environments. Over time, each environment becomes a snowflake, that is, a unique configuration that cannot be reproduced automatically. Inconsistency among environments leads to issues during deployments. With snowflakes, administration and maintenance of infrastructure involves manual processes which were hard to track and contributed to errors."&lt;/p&gt;

&lt;p&gt;All In Simple Words:&lt;/p&gt;

&lt;p&gt;Infrastructure as code (IaC) means to manage your IT infrastructure using configuration files.&lt;/p&gt;

&lt;p&gt;As a DevOps engineer, we should know about containers (Docker), Container Orchestration (Kubernetes, Docker Swarm), Configuration management tools like Ansible, Chef, Salt, and Puppet, Infrastructure Provisionings tools like Terraform and Cloud formation.&lt;/p&gt;

&lt;p&gt;Good Courses:&lt;/p&gt;

&lt;p&gt;Paid:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/docker-mastery/"&gt;https://www.udemy.com/course/docker-mastery/&lt;/a&gt; (Docker)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/learn-kubernetes/"&gt;https://www.udemy.com/course/learn-kubernetes/&lt;/a&gt; (Kubernetes )&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/learn-ansible/"&gt;https://www.udemy.com/course/learn-ansible/&lt;/a&gt; (Ansible)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/chef-fundamentals-a-recipe-for-automating-infrastructure/"&gt;https://www.udemy.com/course/chef-fundamentals-a-recipe-for-automating-infrastructure/&lt;/a&gt; (Chef)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/learning-salt/"&gt;https://www.udemy.com/course/learning-salt/&lt;/a&gt; (Salt)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/learn-puppet/"&gt;https://www.udemy.com/course/learn-puppet/&lt;/a&gt; (Puppet)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/learning-path-automation-with-ansible-puppet-and-salt/"&gt;https://www.udemy.com/course/learning-path-automation-with-ansible-puppet-and-salt/&lt;/a&gt; (Ansible, Puppet and salt)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/learn-devops-infrastructure-automation-with-terraform/"&gt;https://www.udemy.com/course/learn-devops-infrastructure-automation-with-terraform/&lt;/a&gt; (Terraform)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/aws-cloudformation-master-class/"&gt;https://www.udemy.com/course/aws-cloudformation-master-class/&lt;/a&gt; (Cloud Formation)&lt;/p&gt;

&lt;p&gt;Free:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=RSIstPUiEjY"&gt;https://www.youtube.com/watch?v=RSIstPUiEjY&lt;/a&gt; (Docker)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=Mi3Lx7yk3Hg"&gt;https://www.youtube.com/watch?v=Mi3Lx7yk3Hg&lt;/a&gt; (Kubernetes)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=EcnqJbxBcM0"&gt;https://www.youtube.com/watch?v=EcnqJbxBcM0&lt;/a&gt; (Ansible)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=LTIjUJEehDA"&gt;https://www.youtube.com/watch?v=LTIjUJEehDA&lt;/a&gt; (Chef)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=XovHdJZp1X4&amp;amp;list=PLgGQIE0cGrkiDRmJ3YWBKlI2KuYfFvfzV"&gt;https://www.youtube.com/watch?v=XovHdJZp1X4&amp;amp;list=PLgGQIE0cGrkiDRmJ3YWBKlI2KuYfFvfzV&lt;/a&gt; (Salt)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=kHD4KQKKP5Y"&gt;https://www.youtube.com/watch?v=kHD4KQKKP5Y&lt;/a&gt; (Puppet)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=0-z1G0BFZSU"&gt;https://www.youtube.com/watch?v=0-z1G0BFZSU&lt;/a&gt; (Terraform)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=6R44BADNJA8"&gt;https://www.youtube.com/watch?v=6R44BADNJA8&lt;/a&gt; (Cloud Formation)&lt;/p&gt;

&lt;h1&gt;
  
  
  7) Learn Some CI/CD Tools:
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Di8KYAIB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQE3pL4DSICHGg/article-inline_image-shrink_1000_1488/0%3Fe%3D1600300800%26v%3Dbeta%26t%3DmPFJc7gsOhZlsVyPpf-E7vNy9AoX-7xseW90hLzPqCU" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Di8KYAIB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQE3pL4DSICHGg/article-inline_image-shrink_1000_1488/0%3Fe%3D1600300800%26v%3Dbeta%26t%3DmPFJc7gsOhZlsVyPpf-E7vNy9AoX-7xseW90hLzPqCU" alt="ci/cd tools"&gt;&lt;/a&gt;&lt;br&gt;
Continuous Integration (CI):&lt;br&gt;
Continuous Integration (CI) is a development practice where developers integrate code into a shared repository frequently, preferably several times a day. Each integration can then be verified by an automated build and automated tests. While automated testing is not strictly part of CI it is typically implied.&lt;/p&gt;

&lt;p&gt;Continuous Delivery(CD):&lt;/p&gt;

&lt;p&gt;Continuous Delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be reliably released at any time and, when releasing the software, doing so manually. It aims at building, testing, and releasing software with greater speed and frequency.&lt;/p&gt;

&lt;p&gt;As a DevOps Engineer, widely used tool you should be aware of, learn, and utilize:&lt;/p&gt;

&lt;p&gt;Jenkins , GitLab CI, CircleCI , Microsoft VSTS, CodeShip, Bamboo, GitHub Actions&lt;/p&gt;

&lt;p&gt;Good Courses:&lt;/p&gt;

&lt;p&gt;Paid:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/jenkins-from-zero-to-hero/"&gt;https://www.udemy.com/course/jenkins-from-zero-to-hero/&lt;/a&gt; (Jenkins)&lt;/p&gt;

&lt;p&gt;Free:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=FX322RVNGj4"&gt;https://www.youtube.com/watch?v=FX322RVNGj4&lt;/a&gt; (Jenkins)&lt;/p&gt;

&lt;h1&gt;
  
  
  8. Learn to monitor software and infrastructure:
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--aeb4V-QA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQFqGMY_AhfwjQ/article-inline_image-shrink_1000_1488/0%3Fe%3D1600300800%26v%3Dbeta%26t%3D5Od1e8n6yFnompBXLSuE1si9T1Im57-Q_GRf78MLaQQ" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--aeb4V-QA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQFqGMY_AhfwjQ/article-inline_image-shrink_1000_1488/0%3Fe%3D1600300800%26v%3Dbeta%26t%3D5Od1e8n6yFnompBXLSuE1si9T1Im57-Q_GRf78MLaQQ" alt="Infrastructure Monitoring"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Organizations monitor metrics and logs to see how application and infrastructure performance impacts the experience of their product’s end user. By capturing, categorizing, and then analyzing data and logs generated by applications and infrastructure, organizations understand how changes or updates impact users, shedding insights into the root causes of problems or unexpected changes. Active monitoring becomes increasingly important as services must be available 24/7 and as application and infrastructure update frequency increases. Creating alerts or performing real-time analysis of this data also helps organizations more proactively monitor their services.&lt;/p&gt;

&lt;p&gt;It's very important for a DevOps Engineer to collect feedback and implement the changes quickly, for that you should have knowledge of monitoring tools like: Nagios, Prometheus, Grafana&lt;/p&gt;

&lt;p&gt;Good courses:&lt;/p&gt;

&lt;p&gt;Paid:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/setting-up-nagios-4/"&gt;https://www.udemy.com/course/setting-up-nagios-4/&lt;/a&gt; (Nagios)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/monitoring-and-alerting-with-prometheus/"&gt;https://www.udemy.com/course/monitoring-and-alerting-with-prometheus/&lt;/a&gt; (Prometheus)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/grafana-graphite-and-statsd-visualize-metrics/"&gt;https://www.udemy.com/course/grafana-graphite-and-statsd-visualize-metrics/&lt;/a&gt; (Grafana)&lt;/p&gt;

&lt;p&gt;Free:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=knCO6wzCW3w"&gt;https://www.youtube.com/watch?v=knCO6wzCW3w&lt;/a&gt; (Negios)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=9GMWvFcQjYI"&gt;https://www.youtube.com/watch?v=9GMWvFcQjYI&lt;/a&gt; (Prometheus)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=sTP7yzXmdFk&amp;amp;list=PLyJqGMYm0vnO9osZ-EBV6iu2l10muE2A-"&gt;https://www.youtube.com/watch?v=sTP7yzXmdFk&amp;amp;list=PLyJqGMYm0vnO9osZ-EBV6iu2l10muE2A-&lt;/a&gt; (Grafana)&lt;/p&gt;

&lt;h1&gt;
  
  
  9) Cloud Providers:
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--cd3FJ9mY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQEUp2iW64MF6A/article-inline_image-shrink_1500_2232/0%3Fe%3D1600300800%26v%3Dbeta%26t%3D0CONmmRk3hDLcV7dv5jXTbonPWoXG3PMMMH-ykkvqNw" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--cd3FJ9mY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQEUp2iW64MF6A/article-inline_image-shrink_1500_2232/0%3Fe%3D1600300800%26v%3Dbeta%26t%3D0CONmmRk3hDLcV7dv5jXTbonPWoXG3PMMMH-ykkvqNw" alt="Cloud Service Providers"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I always say:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;There is NO DevOps Without Cloud&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's actually self-explanatory but still, let me simplify a bit, for that let me ask you a question?&lt;/p&gt;

&lt;p&gt;Would you think about doing DevOps for your local machine?&lt;/p&gt;

&lt;p&gt;The answer is straight cut no, isn't it!! yes, we don't bother DevOps for local development environments but we do care when we are thinking about hosting applications in the Cloud, managing multiple applications &amp;amp; servers, and monitoring both application as well as Infrastructure for staging and production environments.&lt;/p&gt;

&lt;p&gt;Currently, there are multiple cloud service provider out there out which 3 are holing top market share, they are AWS, Azure, and GCP, let me tell you what tools for each cloud provider you should learn:&lt;/p&gt;

&lt;p&gt;AWS: The Cloud Leader&lt;br&gt;
CI &amp;amp; CD: AWS CodePipeline, AWS CodeBuild, AWS CodeDeploy, AWS CodeStar&lt;/p&gt;

&lt;p&gt;Microservices: Amazon Elastic Container Service (ECS), AWS Lambda,&lt;/p&gt;

&lt;p&gt;Infrastructure as Code: Cloud Formation, AWS OpsWorks  &lt;/p&gt;

&lt;p&gt;Configuration Management: AWS System Manager&lt;/p&gt;

&lt;p&gt;Policy as Code: AWS Config&lt;/p&gt;

&lt;p&gt;Monitoring and Logging: Amazon CloudWatch, X-Ray AWS CloudTrail&lt;/p&gt;

&lt;p&gt;Platform as a Service: AWS Elastic Beanstalk&lt;/p&gt;

&lt;p&gt;Version Control: AWS CodeCommit&lt;/p&gt;

&lt;p&gt;Microsoft Azure:&lt;br&gt;
CI &amp;amp; CD: Azure Pipelines, Azure Test Plans, Azure Artifacts&lt;/p&gt;

&lt;p&gt;Version Control: Azure Repos&lt;/p&gt;

&lt;p&gt;GCP:&lt;br&gt;
CI/CD: Cloud Build, Tekton, Artifact Registry, Deployment Manager&lt;/p&gt;

&lt;p&gt;Good Courses:&lt;/p&gt;

&lt;p&gt;Paid:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/aws-certified-developer-associate/"&gt;https://www.udemy.com/course/aws-certified-developer-associate/&lt;/a&gt; (AWS)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/aws-certified-developer-associate-dva-c01/"&gt;https://www.udemy.com/course/aws-certified-developer-associate-dva-c01/&lt;/a&gt; (AWS)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/aws-certified-devops-engineer-professional-hands-on/"&gt;https://www.udemy.com/course/aws-certified-devops-engineer-professional-hands-on/&lt;/a&gt; (AWS)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/azure-devops-for-beginners/"&gt;https://www.udemy.com/course/azure-devops-for-beginners/&lt;/a&gt; (Azure)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/azure-devops-ci-cd-pipelines/"&gt;https://www.udemy.com/course/azure-devops-ci-cd-pipelines/&lt;/a&gt; (Azure)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/microsoft-azure-devops/"&gt;https://www.udemy.com/course/microsoft-azure-devops/&lt;/a&gt; (Azure)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.udemy.com/course/google-certified-architect-developer-engineer-data-devops/"&gt;https://www.udemy.com/course/google-certified-architect-developer-engineer-data-devops/&lt;/a&gt; (GCP)&lt;/p&gt;

&lt;p&gt;Free:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=RrKRN9zRBWs"&gt;https://www.youtube.com/watch?v=RrKRN9zRBWs&lt;/a&gt; (AWS)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=PxGGeNEdb3E"&gt;https://www.youtube.com/watch?v=PxGGeNEdb3E&lt;/a&gt; (AWS)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=k1RI5locZE4"&gt;https://www.youtube.com/watch?v=k1RI5locZE4&lt;/a&gt; (AWS)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=tDuruX7XSac"&gt;https://www.youtube.com/watch?v=tDuruX7XSac&lt;/a&gt; (Azure)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=QmvAYDc4UUw"&gt;https://www.youtube.com/watch?v=QmvAYDc4UUw&lt;/a&gt; (Azure)&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=RfbXgK-T0dM"&gt;https://www.youtube.com/watch?v=RfbXgK-T0dM&lt;/a&gt; (GCP)&lt;/p&gt;

&lt;h1&gt;
  
  
  Summary:
&lt;/h1&gt;

&lt;p&gt;I would say it's a long and never-ending journey, keep learning, keep improving, don't try to learn everything at once, instead of one at a time and related topic together to make the learning process a bit faster. Don't just learn, do hands-on, that's what important and will help you get quality jobs afterward.&lt;/p&gt;

&lt;p&gt;I wish you good luck on your DevOps journey 😊&lt;/p&gt;

&lt;h1&gt;
  
  
  About the Author:
&lt;/h1&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--0KdaqfUr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQHynReBQHW5zA/article-inline_image-shrink_1500_2232/0%3Fe%3D1600300800%26v%3Dbeta%26t%3D5cCnyvxg-Q-4qluBwpcVQ0s5zwszR7KhHozaH_dfE-M" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--0KdaqfUr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://media-exp1.licdn.com/dms/image/C4D12AQHynReBQHW5zA/article-inline_image-shrink_1500_2232/0%3Fe%3D1600300800%26v%3Dbeta%26t%3D5cCnyvxg-Q-4qluBwpcVQ0s5zwszR7KhHozaH_dfE-M" alt="Sandip Das"&gt;&lt;/a&gt;&lt;br&gt;
Sandip Das works as a Sr. Cloud Solutions Architect &amp;amp; DevOps Engineer for multiple tech product companies/start-ups, also holding the title of "&lt;a href="https://aws.amazon.com/developer/community/heroes/sandip-das/?did=dh_card&amp;amp;trk=dh_card"&gt;AWS Container Hero&lt;/a&gt;".&lt;/p&gt;

&lt;p&gt;He is always in "keep on learning" mode, enjoys sharing knowledge with others, and currently holds 4 AWS Certifications. Sandip finds blogging as a great way to share knowledge: he writes articles on &lt;a href="https://www.linkedin.com/in/sandip-das-developer/detail/recent-activity/posts/"&gt;Linkedin&lt;/a&gt; about Cloud, DevOps, Programming, and more. He also creates video tutorials on his &lt;a href="https://www.youtube.com/c/SandipDas-official"&gt;YouTube channel&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cloud</category>
      <category>career</category>
    </item>
    <item>
      <title>Scams That Software Developers Need To Be Aware of</title>
      <dc:creator>Sandip Das</dc:creator>
      <pubDate>Thu, 20 Jun 2019 09:30:51 +0000</pubDate>
      <link>https://dev.to/sd031/scams-that-software-developers-need-to-be-aware-of-5ckp</link>
      <guid>https://dev.to/sd031/scams-that-software-developers-need-to-be-aware-of-5ckp</guid>
      <description>&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%2Fu5znx3tccxe53acrg9kk.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%2Fu5znx3tccxe53acrg9kk.png"&gt;&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Scam 1 - Technical Help Scam:&lt;/strong&gt;&lt;br&gt;
In this scam some fake and very intelligent profit seeking person will say that someone is in very big technical trouble and need your help, after that you reply with your charges, those persons will agree, then those persons will give a huge technical issue which normally takes days to solve but will ask to solve within few hours, now if you can't do the work within few hours then even though they have promised per hour charges , they will not pay you anything, they will block your number and stop all the communication, and if even if you solve the technical issue, these persons will take money from the main client and will not pay you a single rupee and block all kind of communication.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam 1 Solution:&lt;/strong&gt; Only trust if this opportunity comes from a person you personally know from long time or before you have worked in any other projects with same person and got the money, or use escrow account like - ask the person to open that as an opportunity in any well-known freelancing site (but they will also charge a certain percentage, which hated by everyone the most), if any moment you feel this is a scam then halt immediately, that will save your time and effort.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam 2 - US / UK /EU / International Work Visa Scam:&lt;/strong&gt;&lt;br&gt;
This is "The Games Of Greed", the more greedy you are the more the chances that you are gonna fall for it.&lt;/p&gt;

&lt;p&gt;There are people, who use people's greed to make money, yes, they have no other skills than to con greedy people, they will say there is an opportunity available for Software Engineers with more than $100000 USD per annum , and you want money right ? but to work there you will need visa as well, oh , they are very good visa consultant just pay $5000 (even more sometime), they will arrange everything .&lt;/p&gt;

&lt;p&gt;You arrange the amount by any means (even selling own bike, own savings money, ask parents for the amount etc) to get the visa, and pay to that fake Visa consultant and that's it, they will block you in LinkedIn, in phone and every where possible. You lose your $5000.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam 2 Solutions:&lt;/strong&gt; Apply for proper international jobs or acquire international clients, if you are skilled, and a valuable asset to team and company , they will fund your visa, your relocation charges, and of course you will get salary too, you need to work hard and smart way, there is no shortcut.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam 3- Training Requirement Scam:&lt;/strong&gt;&lt;br&gt;
If you are experienced software developer then you might be getting training requirements from many unknown person.&lt;/p&gt;

&lt;p&gt;Your time is precious , you work day / night , you get very low time for your own, even that time if you agree to give commercial training to a company, and expect the payment will come in time.&lt;/p&gt;

&lt;p&gt;But the twist, days after days passed but you don't get the money in account, you call the company but no one picking your call, you whatsapp but not seen (probably blocked), that's not a good experience, but common these days, have seen and talked with many other professionals who faced it and shared their experience with me, even faced same issue, that's why stopped giving training to training specific companies, because they are scammers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam 3 Solution&lt;/strong&gt;: Don't respond to or agree to these training companies, instead if a normal company directly contact you then you can take advance and you think they are seems genuine then only agree else don't.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam 4: Angry Client Scam:&lt;/strong&gt;&lt;br&gt;
In your career you will at least once will face this kind of scam.&lt;/p&gt;

&lt;p&gt;Normally all of clients make contracts that's most favourable to them, of course they want win situation even it means you lose, until you are a big deal they will impose all the conditions possible, you are their target if you are a mid level developer and not senior developers as they probably already know about this.&lt;/p&gt;

&lt;p&gt;Now comes, the main part, you need money, to have money, you need client, you are desperate to get the client, you agree to have any contract as you just need the money, here comes the angry client scam, these are the people who will come to you as client and will give you normal work, and you are super happy then they will give tremendous work pressure that you can't possible handle, and if it's a 1 month work they will want you to do that within a week or less, and if you can't they will blame you, threat you by saying that since you didn't able to deliver the work within the mentioned dates they lost more than USD $ 10,000 or more and now you will have to pay that amount by any means possible, they will start deliver threat by using lawyers and try to pressurize you to pay the money. Sometime their motto is that, they will pay the first month, then you will work for next 1 month, but they will have some financial problem so they will pay next month all together, and when the next month come, they will repeat their works again, then when it's start crossing limit to you and you complain they will give some impossible job to create this situation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam 4 Solution:&lt;/strong&gt; If you are a very rich, then pay the amount so that you get rid of issue. If you are intelligent, you will stay strong, ask for all the dues if they didn't pay yet, threat them back that you will reverse case against them for mentally pressuring you or not paying the due money. No matter what stay strong and don't pay them single rupee, they will bark and then will stop barking within few weeks. This is their strategy. What you should do is, if you understand or doubt this can happen, step out of the client as soon as possible. If legal email they send, ask them to come to India and have legal flight, they will not bother you anymore. It's an experience that will stay with you and make you strong if it ever happened to you and happen in future.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam 5 - International Opportunity Scam:&lt;/strong&gt;&lt;br&gt;
This scam are two type,&lt;/p&gt;

&lt;p&gt;A) Work At Low Rate:&lt;/p&gt;

&lt;p&gt;IN this method they will ask you to work in very low rate, so that within 1 year they will arrange a job in US / UK etc and you will get huge money once such happen, and you work for 1 year and you remind them their words they will say your work is not that impressive and they don't want to work with you anymore.&lt;/p&gt;

&lt;p&gt;B) Pay $2500 or more or less To get International Job Scam:&lt;/p&gt;

&lt;p&gt;Now this is a straight forward scam, they will ask you to pay $2500 or more or less than that and will guarantee a international job opportunity, and if you are greedy, lazy, rich and pay for it, then say bye bye to the money and bye bye to the person to whom you have paid it, as both not going to come back to you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam 5 Solution:&lt;/strong&gt; Just don't fall far it, all this scammers uses the same pattern, same words, easily identifiable. Never lower the rate that you are currently getting and aim for higher as you get more experienced. Never pay anyone to get job, instead invest that money in self development, learn new skills, join new courses , be a better version of yourself, upskill, reskill and never fall for scams.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam 6- Type "Interested" , "Yes", "I am In", "Email", "Phone number" scam:&lt;/strong&gt;&lt;br&gt;
This is quite normal in linkedin.&lt;/p&gt;

&lt;p&gt;This is just plain and simple marketing skills they are applying, they are trying to fool you, they either want your email id or phone number for scamming you or marketing purposes, no proper recruiter will want you to type "interested" or mobile number instead of sending your resume. And do you really think a person can read or view your profile if there is more than 100's of comments , it's not possible, generally they want more profile views or want that post to go viral that's it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam 6 Solution:&lt;/strong&gt; Don't fall for it, think logically, use your engineer brain and if you are looking for job then apply from proper medium, or reach out to the recruiter or entrepreniour directly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam 7 - Free Internship Scam:&lt;/strong&gt;&lt;br&gt;
The target's are mostly freshers who are not from IIT, NIT or such top tier college.&lt;/p&gt;

&lt;p&gt;The first phase or say most challenging phase in life of a software developer is to get first job and if you are mediocre then that's a hell for you.&lt;/p&gt;

&lt;p&gt;Here comes the evils, the already broke people who seeking the innocency of these freshers and utilizing them as workforce without paying anything, they will even try to make fun of your knowledge in order to break you and indirectly force you to do job for free.&lt;/p&gt;

&lt;p&gt;Pattern as follow:&lt;br&gt;
"Oh, you don't have much knowledge, learn work here for 6 months, if you learn well then we will start paying salary"&lt;/p&gt;

&lt;p&gt;If you stay there for the whatever agreed period, you may or may not get salary, if they don't want to give you salary and not willing to continue, they will say that you learn nothing and they don't want you in team anymore. Even if they start you paying, that will be very less so you will leave anyway, in this process you just lost that many months.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam 7 Solution:&lt;/strong&gt; Never ever join this kind of greedy, evil peoples, they are just trying to use you and after that they will throw you away, instead join product development companies if you like their idea, be it start-ups or established companies, see no one will hire you if you lack skills, and they will hire you if you have skills and potential. Learn new demanding skills, ready yourselves, work hard (if you are mediocre then work even harder ), work smart, try to give interviews as much as possible, soon you will be get selected for paid job and not fake free jobs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam 8 - Income Guarantee Schemes Scam:&lt;/strong&gt;&lt;br&gt;
This one is on latest trend. Target is rich and middle class candidates.&lt;/p&gt;

&lt;p&gt;Pattern: Simple yet not so simple pattern. These scammers knows marketing tricks very well, they have the perfect convincing power unless you are the clever one. They will say they can guarantee your income at least more than Rs. 10 Lakh per year but you will have to pay around just Rs. 1 -2 Lakh to join their course, and how good people they are , they will refund the money back if you don't able to gain at least Rs. 10 lakh per year.&lt;/p&gt;

&lt;p&gt;Wait!! here's the twist, their goodness comes with few conditions:&lt;/p&gt;

&lt;p&gt;1) Your attendance should be more than 96% in a online course 🤣&lt;/p&gt;

&lt;p&gt;2) Your marks at the end of course should be more than 95% 😅&lt;/p&gt;

&lt;p&gt;and few more bunch of conditions that you can never will be able to achieve and say goodbye to refund and say hi to regret.&lt;/p&gt;

&lt;p&gt;Wow!! talk about some unique way to scam, and more interestingly their posts goes viral just like anything (Greed wins over common sense)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam 8 Solution:&lt;/strong&gt; Use common sense and brain a little bit, use the money for good online technical courses, learn more on new technologies, make yourself market ready, and try interview in companies to get job, don't assume that they will come and invite you to job unless you are a big deal, so become a big deal instead by improving yourself, that will go very long.&lt;/p&gt;

&lt;p&gt;Some good online training sites are below:&lt;/p&gt;

&lt;p&gt;A Cloud Guru&lt;/p&gt;

&lt;p&gt;Linux Academy&lt;/p&gt;

&lt;p&gt;Linkedin Learning&lt;/p&gt;

&lt;p&gt;Udemy&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Don't take action without giving detailed thought.&lt;/p&gt;

&lt;p&gt;Normally scammers pressurize you to take action quickly so that you can't get enough time to think. Reach out to more senior persons to get their suggestions or friends to take action and never fall for such scams.&lt;/p&gt;

&lt;p&gt;Thanks for reading this post till the end!&lt;/p&gt;

</description>
      <category>dev</category>
      <category>career</category>
      <category>engineers</category>
    </item>
  </channel>
</rss>
