<?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: sandyonmars</title>
    <description>The latest articles on DEV Community by sandyonmars (@sandyonmars).</description>
    <link>https://dev.to/sandyonmars</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%2F1022479%2F371da592-2104-4140-b332-d611b030dca4.jpeg</url>
      <title>DEV Community: sandyonmars</title>
      <link>https://dev.to/sandyonmars</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sandyonmars"/>
    <language>en</language>
    <item>
      <title>Diagram as a code</title>
      <dc:creator>sandyonmars</dc:creator>
      <pubDate>Thu, 21 Nov 2024 04:14:48 +0000</pubDate>
      <link>https://dev.to/sandyonmars/diagram-as-a-code-14nl</link>
      <guid>https://dev.to/sandyonmars/diagram-as-a-code-14nl</guid>
      <description></description>
      <category>software</category>
    </item>
    <item>
      <title>Google Cloud Certification Free Voucher and $1000-$1300 Credit using Google Cloud Innovator Plus Subscription</title>
      <dc:creator>sandyonmars</dc:creator>
      <pubDate>Sun, 02 Apr 2023 14:42:23 +0000</pubDate>
      <link>https://dev.to/sandyonmars/google-cloud-certification-free-voucher-and-1000-1300-credit-using-google-cloud-innovator-plus-subscription-19oo</link>
      <guid>https://dev.to/sandyonmars/google-cloud-certification-free-voucher-and-1000-1300-credit-using-google-cloud-innovator-plus-subscription-19oo</guid>
      <description>&lt;p&gt;Recently, I was looking for getting certified in Google cloud architect professional exam, and I was preparing for the same. I saw the price to attend the exam was around $200 + Taxes. Almost any exam on Google Cloud is around that price, so I started looking for offers or programs that will give me a chance to attend exam with other benefits.&lt;/p&gt;

&lt;p&gt;And then I stumbled upon a program that allowed me to get certified in Google Cloud Architect Professional for FREE! Can I say that… No , this isn’t any clickbait 👊 !!! You will need to pay for the subscription amount.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🚀 Introducing: Google Cloud Innovators Plus Program 🚀 :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Google has rolled out an amazing new program in 2022 that gives you MAXIMUM benefits!&lt;/p&gt;

&lt;p&gt;Get access to their 700+ hand-on labs, skills, badges, credits and courses tailored to each certification program, and even attend one Google Cloud exam per year — all on the house!&lt;/p&gt;

&lt;p&gt;To access this deal, simply convert your Google profile into a developer profile and signup for the program. I signed up the Google Cloud Innovator Plus Program by subscribing to $299 yearly plan and BOOM!. You will receive an email from Google Cloud Skill Boost about your inclusion in the program and you will get access to ALL courses of Google Cloud Skills Boost, including Qwik Labs, all Google Cloud Services, Live events hosted by Google cloud and 1:1 expert advice from Google. Plus, I received a coupon code to attend any exam from the the Google Cloud Exam list — no strings attached! Note that for getting your FREE coupon you will need to go to &lt;a href="https://cloud.google.com/innovators"&gt;https://cloud.google.com/innovators&lt;/a&gt; and access all your benefits. In some cases it might take couple to days to load your benefits. So have patience!!!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💥 Tons of Advantages 💥&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Unlock full access to Qwik Labs — usually a paid option — to prepare for your exam like a pro!&lt;/li&gt;
&lt;li&gt;Get a massive $500 Google Cloud credit! (Pro-tip: If you’re a new user, create a new account for an EXTRA $300 credit — that’s a whopping $800 total!)&lt;/li&gt;
&lt;li&gt;Attend one Google Cloud exam every year with this subscription — it’s a renewable deal that keeps on giving! (Pro-tip: You will get additional $500 after you clear your exam)&lt;/li&gt;
&lt;li&gt;Apply for Google badges and become an “Avenger-level” Google Cloud expert!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With point 2 and 3, you get a whooping $1000-$1300 credit + Exam voucher!!!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🙅 Who should not consider this: 🙅&lt;/strong&gt;&lt;br&gt;
If you are just looking for the exam and if the extra credits are off no use then you should not buy it.&lt;/p&gt;

&lt;p&gt;Another Tip — If you just need access to Qwik labs for your exam preparation, you can opt for Monthly subscription and cancel it when your are done. Note that with monthly subscription, you will not get all benefits of Innovator plus program.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;br&gt;
So I have given you information on the program, its benefits, who should not buy it and who should. If you are looking to get certified and keep Google cloud console access to keep practising using the credits, its one of the bext option out there!!! Enjoy !!!&lt;/p&gt;

&lt;p&gt;This article was originally published on Medium here : &lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag__link"&gt;
  &lt;a href="https://medium.com/@sandyonmars/how-to-get-google-cloud-certification-free-voucher-and-1000-1300-credit-using-google-cloud-2c5629c10145" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KCsfsUzq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/v2/resize:fill:96:96/1%2A1YBZPhLhdpLx1lyK8mXokw.jpeg" alt="Sandeep More"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="https://medium.com/@sandyonmars/how-to-get-google-cloud-certification-free-voucher-and-1000-1300-credit-using-google-cloud-2c5629c10145" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;🔥 How to get Google Cloud Certification Free Voucher and $1000-$1300 Credit using Google Cloud Innovator Plus Subscription 🔥 | by Sandeep More | Apr, 2023 | Medium&lt;/h2&gt;
      &lt;h3&gt;Sandeep More ・ &lt;time&gt;Apr 2, 2023&lt;/time&gt; ・ 
      &lt;div class="ltag__link__servicename"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hnDHPsJs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/medium-f709f79cf29704f9f4c2a83f950b2964e95007a3e311b77f686915c71574fef2.svg" alt="Medium Logo"&gt;
        Medium
      &lt;/div&gt;
    &lt;/h3&gt;
&lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


</description>
      <category>googlecloud</category>
      <category>certification</category>
      <category>cloudarchitect</category>
      <category>voucher</category>
    </item>
    <item>
      <title>System Design Concepts: Quick recap of core principles</title>
      <dc:creator>sandyonmars</dc:creator>
      <pubDate>Fri, 31 Mar 2023 21:15:37 +0000</pubDate>
      <link>https://dev.to/sandyonmars/system-design-concepts-quick-recap-of-core-principles-3898</link>
      <guid>https://dev.to/sandyonmars/system-design-concepts-quick-recap-of-core-principles-3898</guid>
      <description>&lt;p&gt;Hello, Lets have a quick recap at some core principles of System Designs for designing efficient and reliable systems with some analogy. &lt;/p&gt;

&lt;h2&gt;
  
  
  The Art of Scalability
&lt;/h2&gt;

&lt;p&gt;Scalability, the magical ingredient that allows your system to gracefully handle increasing loads, comes in two delicious flavors: vertical and horizontal scaling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Vertical Scaling:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Imagine you're trying to create more space in your bedroom. You buy a bunk bed, effectively stacking one bed on top of the other. This is the essence of vertical scaling – increasing the resources (CPU, RAM, etc.) of a single machine to handle more load.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Horizontal Scaling:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now picture your bedroom transforming into a mansion, with each room containing a bed. This is horizontal scaling – adding more machines to your system to share the workload&lt;/p&gt;

&lt;h2&gt;
  
  
  Mastering Load Balancing
&lt;/h2&gt;

&lt;p&gt;Load balancing is the essential act of distributing incoming requests across multiple servers to prevent bottlenecks and crashes. Think of load balancing as an air traffic controller, guiding requests to the right servers for efficient processing.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Power of Caching
&lt;/h2&gt;

&lt;p&gt;Caching is the clever practice of storing frequently accessed data in a fast and easily accessible location, reducing the need for repetitive and resource-intensive operations. Visualize caching as a handy notepad, keeping essential information at your fingertips.&lt;/p&gt;

&lt;h2&gt;
  
  
  Embracing Microservices
&lt;/h2&gt;

&lt;p&gt;Microservices are the perfect antidote to the monolithic application's woes. By breaking your system into smaller, independent services, you promote maintainability, scalability, and easier debugging. It's like assembling a versatile toolbox, where each tool has its own unique function, working together to solve complex problems.&lt;/p&gt;

&lt;h2&gt;
  
  
  Database Design Delights
&lt;/h2&gt;

&lt;p&gt;Database design is the backbone of efficient and reliable data storage and retrieval. The choice between relational and non-relational databases depends on your application's requirements and the nature of the data you're working with. Let's compare these two database types side by side:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Relational (SQL)          Non-Relational (NoSQL)
- Tables                  - Key-Value, Document, Columnar, Graph
- Schema enforced         - Flexible schema
- ACID compliant          - Varying levels of consistency
- Great for complex       - Better for horizontal scaling
  relationships and         and large volumes of
  transactions              unstructured data
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  API Design Aesthetics
&lt;/h2&gt;

&lt;p&gt;Application Programming Interfaces (APIs) serve as the glue that connects different components of a system, allowing them to interact and share data. Designing clear, consistent, and intuitive APIs is crucial to creating maintainable and scalable systems. Here are a few API design best practices to consider:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use clear and consistent naming conventions&lt;/li&gt;
&lt;li&gt;Leverage versioning to manage changes and updates&lt;/li&gt;
&lt;li&gt;Utilize proper HTTP methods and status codes&lt;/li&gt;
&lt;li&gt;Prioritize security with authentication and authorization&lt;/li&gt;
&lt;li&gt;Provide comprehensive documentation for users&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Grace of Graceful Degradation
&lt;/h2&gt;

&lt;p&gt;In the ever-changing world of technology, systems are bound to encounter unforeseen issues. Designing your system to degrade gracefully under stress, rather than crashing or freezing, is a critical aspect of system design. Some strategies for achieving graceful degradation include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implementing circuit breakers to prevent cascading failures&lt;/li&gt;
&lt;li&gt;Utilizing timeouts and retries to handle transient errors&lt;/li&gt;
&lt;li&gt;Designing fallback mechanisms to offer alternative functionality during failures&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Message Queues and Asynchronous Processing
&lt;/h2&gt;

&lt;p&gt;Message queues are the secret ingredient for decoupling components and smoothing out communication between them, enabling asynchronous processing. Envision message queues as a conveyor belt, transporting tasks and data between services while preventing bottlenecks and crashes.&lt;/p&gt;

&lt;p&gt;Some popular message queue systems include RabbitMQ, Apache Kafka, and Amazon SQS. Implementing message queues in your system design can improve fault tolerance, scalability, and overall performance.&lt;/p&gt;

</description>
      <category>systemdesign</category>
      <category>design</category>
      <category>architecture</category>
      <category>designpatterns</category>
    </item>
    <item>
      <title>Roadmap to learn Kubernetes</title>
      <dc:creator>sandyonmars</dc:creator>
      <pubDate>Thu, 16 Mar 2023 04:26:56 +0000</pubDate>
      <link>https://dev.to/sandyonmars/roadmap-to-learn-kubernetes-1fa5</link>
      <guid>https://dev.to/sandyonmars/roadmap-to-learn-kubernetes-1fa5</guid>
      <description>&lt;p&gt;Kubernetes is a hot topic and if you are beginner you can follow below path to start your journey to learn Kubernetes:&lt;/p&gt;

&lt;h2&gt;
  
  
  Understand the basics of containers:
&lt;/h2&gt;

&lt;p&gt;Before diving into Kubernetes, it's important to have a strong understanding of containers and how they work. Learn about containerization technologies like Docker and how they are used to package applications and dependencies.&lt;/p&gt;

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

&lt;p&gt;Kubernetes is built on top of Linux, so it's important to have a good understanding of Linux. Learn about the command line, file systems, and basic networking.&lt;/p&gt;

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

&lt;p&gt;Kubernetes is a complex system with many moving parts. It's important to understand the architecture and how all the components fit together. Learn about Kubernetes objects, control plane, worker nodes, and networking.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set up a Kubernetes cluster:
&lt;/h2&gt;

&lt;p&gt;The best way to learn Kubernetes is to set up your own cluster. This will allow you to experiment with different configurations and get a feel for how the system works in practice. You can use Kubernetes on local machines, or on cloud providers like AWS or Google Cloud.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deploy and manage applications:
&lt;/h2&gt;

&lt;p&gt;Kubernetes is primarily used to deploy and manage applications. Learn how to create Kubernetes manifests and use them to deploy and manage applications. This includes tasks like scaling, rolling updates, and load balancing.&lt;/p&gt;

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

&lt;p&gt;The Kubernetes API is a powerful tool for interacting with the Kubernetes control plane. Learn how to use the API to create and manage Kubernetes resources.&lt;/p&gt;

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

&lt;p&gt;Kubernetes networking is complex, but it's crucial to understand how it works. Learn about Kubernetes networking models, service discovery, and ingress.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practice troubleshooting:
&lt;/h2&gt;

&lt;p&gt;Like any complex system, Kubernetes can run into issues. Learn how to troubleshoot common issues like networking problems, resource constraints, and configuration errors. This will help you become a proficient Kubernetes administrator and allow you to handle issues when they arise.&lt;/p&gt;

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

&lt;p&gt;Kubernetes security is an important topic. Learn about Kubernetes RBAC, network policies, and pod security policies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Stay up-to-date with new developments:
&lt;/h2&gt;

&lt;p&gt;The Kubernetes ecosystem is constantly evolving, with new features and tools being developed all the time. Stay up-to-date with the latest developments to stay on the cutting edge. Attend Kubernetes conferences, read Kubernetes blogs, and contribute to the Kubernetes community.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>containers</category>
      <category>docker</category>
      <category>devops</category>
    </item>
    <item>
      <title>Difference between Imperative and Declarative management in Kubernetes</title>
      <dc:creator>sandyonmars</dc:creator>
      <pubDate>Tue, 14 Mar 2023 04:44:34 +0000</pubDate>
      <link>https://dev.to/sandyonmars/difference-between-imperative-and-declarative-management-in-kubernetes-5ak9</link>
      <guid>https://dev.to/sandyonmars/difference-between-imperative-and-declarative-management-in-kubernetes-5ak9</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--TxoSU2RY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7hfgxd7qkxirv41tmij0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TxoSU2RY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7hfgxd7qkxirv41tmij0.jpg" alt="Image description" width="640" height="427"&gt;&lt;/a&gt;&lt;br&gt;
Photo by : &lt;a href="Photo%20by%20&amp;lt;a%20href="&gt;Alexandru Acea&lt;/a&gt; on &lt;a href="https://unsplash.com/photos/XEB8y0nRRP4?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In Kubernetes, there are two approaches to managing resources: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Imperative&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Declarative&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  Imperative Management
&lt;/h2&gt;

&lt;p&gt;In the imperative approach, the user specifies exactly what needs to happen to the Kubernetes resources. This means that each command tells Kubernetes to perform a specific action, such as creating a pod, scaling a deployment, or updating a service. In other words, imperative management involves telling Kubernetes how to make a change happen.&lt;br&gt;
Here's an example of an imperative command that creates a pod with a specific name and image:&lt;br&gt;
css&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl run my-pod --image=nginx
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above command tells Kubernetes to create a pod named my-pod with the nginx image.&lt;/p&gt;

&lt;h2&gt;
  
  
  Declarative Management
&lt;/h2&gt;

&lt;p&gt;In the declarative approach, the user specifies the desired state of the Kubernetes resources, and Kubernetes figures out how to make it happen. This means that the user declares the desired configuration of the resources, and Kubernetes takes care of the details required to bring the resources to the desired state. In other words, declarative management involves telling Kubernetes what you want to happen.&lt;br&gt;
Here's an example of a declarative YAML file that creates a deployment with two replicas and a specific image:&lt;br&gt;
yaml&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: my-app
  template:
    metadata:
      labels:
        app: my-app
    spec:
      containers:
        - name: my-container
          image: nginx:1.16
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The above YAML file specifies the desired state of a deployment named my-deployment with two replicas and the nginx:1.16 image.&lt;/p&gt;

&lt;p&gt;One of the benefits of declarative management is that Kubernetes can continuously monitor the state of the resources and ensure that they stay in the desired state, even if some other process or user makes a change to the resources.&lt;/p&gt;

&lt;p&gt;The imperative approach tells Kubernetes how to make a change happen, while the declarative approach tells Kubernetes what the desired state should be, and Kubernetes figures out how to make it happen. Declarative management is the recommended approach for managing Kubernetes resources because it provides a clearer and more maintainable way of describing the desired state of the system.&lt;/p&gt;

&lt;p&gt;Lets take another example, suppose we want to create a deployment with three replicas using the kubectl create command. We would issue the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl create deployment my-deployment --image=nginx --replicas=3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command creates a new deployment with three replicas and the nginx image. If we later want to update the number of replicas to five, we would issue the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;kubectl scale deployment my-deployment --replicas=5
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command explicitly sets the number of replicas to five, without relying on any desired state configuration.&lt;/p&gt;

&lt;p&gt;In summary, declarative management is a more automated and hands-off way to manage resources in Kubernetes, while imperative management provides more direct control over the operations performed on resources. Both approaches have their advantages and disadvantages, and the choice between them will depend on the specific use case and management requirements.&lt;/p&gt;

</description>
      <category>kubernetes</category>
      <category>declarative</category>
      <category>imperative</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
