<?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: jaeyow</title>
    <description>The latest articles on DEV Community by jaeyow (@jaeyow).</description>
    <link>https://dev.to/jaeyow</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%2F839666%2F8bba6799-7578-454d-9126-cf23f7f37ec3.jpeg</url>
      <title>DEV Community: jaeyow</title>
      <link>https://dev.to/jaeyow</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jaeyow"/>
    <language>en</language>
    <item>
      <title>Going to Production with Github Actions, Metaflow and AWS SageMaker</title>
      <dc:creator>jaeyow</dc:creator>
      <pubDate>Sun, 14 Aug 2022 04:38:00 +0000</pubDate>
      <link>https://dev.to/aws-builders/going-to-production-with-github-actions-metaflow-and-aws-sagemaker-13oe</link>
      <guid>https://dev.to/aws-builders/going-to-production-with-github-actions-metaflow-and-aws-sagemaker-13oe</guid>
      <description>&lt;p&gt;&lt;strong&gt;A scalable (and cost-effective) strategy to transition your Machine Learning project from prototype to production&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Fully working source code is freely &lt;a href="https://github.com/jaeyow/sagemaker-linear-learner" rel="noopener noreferrer"&gt;available here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Three is a crowd
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/features/actions" rel="noopener noreferrer"&gt;Github Actions&lt;/a&gt;, &lt;a href="https://metaflow.org/" rel="noopener noreferrer"&gt;Metaflow&lt;/a&gt; and &lt;a href="https://aws.amazon.com/pm/sagemaker/" rel="noopener noreferrer"&gt;AWS SageMaker&lt;/a&gt; are awesome technologies by themselves however they are seldom used together in the same sentence, even less so in the same Machine Learning project.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsxnpgykvtbj8s9hm88c5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsxnpgykvtbj8s9hm88c5.png" alt="Github Actions, Metaflow and AWS SageMaker"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Github Actions is every software developer's favorite CI/CD tool, from the makers of Github. It is used by millions of developers around the globe, and is very popular among the Open Source community and is mostly free.&lt;/p&gt;

&lt;p&gt;Metaflow, the Data Science framework developed in Netflix, is a very attractive proposition as it allows one to easily move from prototype stage to production, without the need for a separate specialist team of platform engineers, enabling your data science team to be more productive.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcehuf8noxc1k9hgn7epg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcehuf8noxc1k9hgn7epg.png" alt="Metaflow by Netflix"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And lastly, AWS SageMaker has been in the ML game for a while, and AWS is still the leading Cloud provider (for Cloud services and ML workloads) in the world.&lt;/p&gt;

&lt;h2&gt;
  
  
  But why use the three together?
&lt;/h2&gt;

&lt;p&gt;It all boils down to the use of Metaflow and its inherent scalability. You can start using Metaflow even when you are still running your experiments on your laptop.&lt;/p&gt;

&lt;p&gt;But when you want to move to the cloud, you will need a basic (and free/cheap) scheduler/orchestrator to kick-off your workflows - enter Github Actions. There are some limitations with using Github Actions as your workflow scheduler/orchestrator, but for simple projects, or in the case when you're leaning on SageMaker for your training and deployment workloads, it is more than sufficient.&lt;/p&gt;

&lt;p&gt;And as to AWS SageMaker, teams that are already on the AWS ecosystem will appreciate the almost unlimited deployment possibilities in their fingertips. Typically SageMaker workflows are created and controlled through the AWS console, but to enable us to go to Production in this article, we will be using the AWS Python SDK, through Metaflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does &lt;em&gt;Going to Production&lt;/em&gt; mean?
&lt;/h2&gt;

&lt;p&gt;A typical Data Science project starts with the Prototyping stage, and the tool which is the perennial favorite among data professionals is &lt;strong&gt;&lt;a href="https://jupyter.org/" rel="noopener noreferrer"&gt;Jupyter Notebooks&lt;/a&gt;&lt;/strong&gt;. And this is also my personal playground when I start looking at DS and ML problems, and it's awesome for quick iterations.&lt;/p&gt;

&lt;p&gt;It allows me to quickly play with the data, create visualizations, transform data, train and deploy them to an extent. It is awesome, and it has become my favorite too. However, when and if the project needs to progress to production, we need a better tool and work practice. Many teams still deploy to production with their laptop and Jupyter Notebook setup, and though you can, you really shouldn't.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The main characteristic of production workflows is that they should run without a human operator: they should start, execute, and output results automatically. Note that automation doesn’t imply that they work in isolation. They can start as a result of some external event, such as new data becoming available. --Ville Tuulos, &lt;a href="https://www.manning.com/books/effective-data-science-infrastructure" rel="noopener noreferrer"&gt;Effective Data Science Infrastructure&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Because my background is in Software Engineering, I've been honed to the process of &lt;strong&gt;continuous integration and deployment&lt;/strong&gt; for virtually all my software projects. That all projects should have the ability to be built and deployed at a click of a button, or as a result of a schedule or event, even multiple times a day if required.&lt;/p&gt;

&lt;p&gt;Everything &lt;strong&gt;automated&lt;/strong&gt;, everything typically &lt;strong&gt;stress-free unremarkable events&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This is exactly what we want to happen when we want to push ML projects to Production. We want it to be automated, and we want it to be a stress-free unremarkable process. &lt;/p&gt;

&lt;h2&gt;
  
  
  The Sample Project
&lt;/h2&gt;

&lt;p&gt;As I'm currently studying towards the AWS ML Specialty certification, I wanted to play a bit more with the built-in algorithms that SageMaker has in its portfolio. One of the first algorithms I checked out was &lt;a href="https://docs.aws.amazon.com/sagemaker/latest/dg/linear-learner.html" rel="noopener noreferrer"&gt;Linear Learner&lt;/a&gt;. It's a type of supervised learning algorithm for solving classification and regression problems.&lt;/p&gt;

&lt;p&gt;I did not create the notebook from scratch by myself, however I based it from the examples in AWS SageMaker - &lt;a href="https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/linear_learner_mnist/linear_learner_mnist.html" rel="noopener noreferrer"&gt;An Introduction to Linear Learner with MNIST&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;I basically ported it into Metaflow DAGs as seen in the flow image below:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbtdrunm43sdqa8vfflz5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbtdrunm43sdqa8vfflz5.png" alt="SageMaker Linear Learner with Metaflow"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I've leaned on Python for all my ML work, and Metaflow is based on Python (you can use R too), and AWS SageMaker has an extensive &lt;a href="https://sagemaker.readthedocs.io/en/stable/" rel="noopener noreferrer"&gt;SageMaker Python SDK&lt;/a&gt; at your disposal.&lt;/p&gt;

&lt;p&gt;Looking at the above flow, we are able to do an end to end ML workflow including model training on AWS SageMaker, leveraging on AWS ML instances for ML training workloads, to endpoint creation with your required AWS instance type.&lt;/p&gt;

&lt;p&gt;For brevity, I have skipped the part of serving that endpoint to the public, but this can easily be done by serving the endpoint behind an API Gateway and a Lambda. Perhaps we can do this operation in a separate article. Also take note that we have deleted the endpoint, before we end the flow to avoid the dreaded AWS bill specially now as we are just checking out the service.&lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;In this sample project, I have also leveraged on Github Actions as our workflow scheduler/orchestrator, this is really to prove that Github Actions, even in the free tier can really be used in 'production', albeit in a very simple flow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fklkf9mjjjs5i29n1e2q5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fklkf9mjjjs5i29n1e2q5.png" alt="Github Actions, in action with Metaflow"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Although it's worth mentioning that &lt;a href="https://aws.amazon.com/step-functions/" rel="noopener noreferrer"&gt;AWS Step Functions&lt;/a&gt; is being pushed by Metaflow as the workflow orchestrator of choice if we really want one that that is robust and easy to use. &lt;a href="https://docs.metaflow.org/going-to-production-with-metaflow/scheduling-metaflow-flows/scheduling-with-aws-step-functions" rel="noopener noreferrer"&gt;Metaflow has an official Step Functions integration available&lt;/a&gt;. Yes this is also a topic that I'd like to cover in a future post. &lt;/p&gt;

&lt;p&gt;Metaflow performs the SageMaker operations - from model training, to model creation, to creating and testing the endpoint, all through the Python SDK, where we really have the power of SageMaker in our fingertips. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3qp2a2d6gjsfe779yxv7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3qp2a2d6gjsfe779yxv7.png" alt="SageMaker Endpoint deployed to production"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;In this article we've ported the Python code from &lt;a href="https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/linear_learner_mnist/linear_learner_mnist.html" rel="noopener noreferrer"&gt;the MNIST AWS example&lt;/a&gt;, trained our ML model in AWS SageMaker, built, and deployed the model in a SageMaker endpoint in production. This is all automated by Github Actions (in this example the workflow gets triggered by a repository push), and brought all together and made possible by the awesome Metaflow.  &lt;/p&gt;

&lt;p&gt;Thanks, I've made the source code freely &lt;a href="https://github.com/jaeyow/sagemaker-linear-learner" rel="noopener noreferrer"&gt;available here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Let me know if you have any concerns, or any questions, or if you want to collaborate!&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.manning.com/books/effective-data-science-infrastructure" rel="noopener noreferrer"&gt;Effective Data Science Infrastructure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sagemaker.readthedocs.io/en/stable/algorithms/linear_learner.html" rel="noopener noreferrer"&gt;LinearLearner&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://sagemaker-examples.readthedocs.io/en/latest/introduction_to_amazon_algorithms/linear_learner_mnist/linear_learner_mnist.html" rel="noopener noreferrer"&gt;An Introduction to Linear Learner with MNIST&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://medium.com/towards-data-science/deploying-a-pre-trained-sklearn-model-on-amazon-sagemaker-826a2b5ac0b6" rel="noopener noreferrer"&gt;Deploying A Pre-Trained Sklearn Model on Amazon SageMaker&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.aws.amazon.com/sagemaker/index.html" rel="noopener noreferrer"&gt;Amazon SageMaker Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://medium.com/geekculture/84af8989d065" rel="noopener noreferrer"&gt;Deploy A Locally Trained ML Model In Cloud Using AWS SageMaker&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>machinelearning</category>
      <category>mlops</category>
      <category>datascience</category>
      <category>python</category>
    </item>
    <item>
      <title>Small to Reasonable Scale MLOps - An Approach to Effective and Scalable MLOps when you're not a Giant like Google</title>
      <dc:creator>jaeyow</dc:creator>
      <pubDate>Thu, 28 Jul 2022 09:56:00 +0000</pubDate>
      <link>https://dev.to/aws-builders/small-to-reasonable-scale-mlops-an-approach-to-effective-and-scalable-mlops-when-youre-not-a-giant-like-google-2fg0</link>
      <guid>https://dev.to/aws-builders/small-to-reasonable-scale-mlops-an-approach-to-effective-and-scalable-mlops-when-youre-not-a-giant-like-google-2fg0</guid>
      <description>&lt;h2&gt;
  
  
  Quick recap of the AWS Summit ANZ
&lt;/h2&gt;

&lt;p&gt;For me, one of the more memorable presentations in the recently concluded AWS Summit 2022 ANZ was the one where &lt;a href="https://fullstackdeveloper.tips/day-2-aws-summit-2022" rel="noopener noreferrer"&gt;Carsales described their strategy&lt;/a&gt; in scaling their AI/ML Operations. They did not have a large Data Science team, but as they had more and more Data Science projects, they needed an effective strategy for scaling their AI operations.  &lt;/p&gt;

&lt;p&gt;It's undeniable that leadership is instrumental in any company and project success, however I was intrigued with one of their ML tool choices that helped them reach their goal. I was so curious about this choice that I just had to learn more about it, so in this article will be talking about a sound strategy of effectively scaling your AI/ML undertaking and a tool that makes this possible - &lt;a href="https://github.com/Netflix/metaflow" rel="noopener noreferrer"&gt;Metaflow&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Metaflow
&lt;/h2&gt;

&lt;p&gt;Metaflow was created in Netflix where they used it internally in demanding real-life data science projects and &lt;a href="https://github.com/Netflix/metaflow" rel="noopener noreferrer"&gt;was open-sourced&lt;/a&gt; in 2019. And because of its tight experience with AWS, it plays really well with many AWS services, in fact these are all &lt;a href="https://docs.metaflow.org/metaflow-on-aws" rel="noopener noreferrer"&gt;described in detail here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffjt5u1xgo1wj6ojoxwli.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffjt5u1xgo1wj6ojoxwli.png" alt="Metaflow logo"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;As I researched about it and used it in a project, I came to the realization that its secret I think is in its simplicity. But don't let this simplicity fool you. &lt;/p&gt;

&lt;p&gt;In a nutshell, Metaflow allows you to create DAGs (&lt;a href="https://en.wikipedia.org/wiki/Directed_acyclic_graph" rel="noopener noreferrer"&gt;Directed Acyclic Graph&lt;/a&gt;), so we are now touching graph theory here, but in the end it is really just a fancy term for a workflow, but one that doesn't form a closed loop.&lt;/p&gt;

&lt;p&gt;These DAGs, combined with Python, Serverless and the Open stack, is a very powerful combination. This results in the democratization of the Machine Learning function, making it easier than ever to kick off that personal ML project, or scale your company's capability in the ML Space.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scalability
&lt;/h2&gt;

&lt;p&gt;The typical machine learning process starts with simple experiments, mostly done on laptops or PCs, and this can easily be done with Metaflow. The realization of being resource constrained will come pretty quickly as soon as more complex algorithms or gigantic volumes of data come into the picture.&lt;/p&gt;

&lt;p&gt;However, using the same Metaflow Python scripts (oh yeah you can use R too), plus a &lt;a href="https://docs.metaflow.org/metaflow/scaling-out-and-up" rel="noopener noreferrer"&gt;sprinkling of decorators&lt;/a&gt;, you will have the ability to leverage almost infinite cloud compute (both GPU and CPU), gigabytes of memory, and a long list of mostly open source SAAS/PAAS tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  Analysis Paralysis
&lt;/h2&gt;

&lt;p&gt;Remember the feeling of trying to select a tool, but feel paralyzed of picking one for fear of being stuck with it forever? Metaflow will not only enable you to easily pick and integrate an ML tool to your project, it will also allow you to abandon that choice relatively easily once a better one comes along, and be rest assured that you are using a tool that was battle tested in Netflix.&lt;/p&gt;

&lt;p&gt;This article comes with a simple &lt;a href="https://github.com/jaeyow/metaflow-f1-predictor" rel="noopener noreferrer"&gt;example project&lt;/a&gt; and although the algorithms it needs don't require the resources that a more complicated model requires, it represents real world data, and was originally created when I started following Formula 1 more regularly and was looking for something that I can learn Data Science and ML with, and wouldn't mind spending countless of hours with.&lt;/p&gt;

&lt;p&gt;However, if you want a more realistic problem, more worked-out open source examples are found &lt;a href="https://github.com/jacopotagliabue/you-dont-need-a-bigger-boat" rel="noopener noreferrer"&gt;here&lt;/a&gt;, and &lt;a href="https://github.com/jacopotagliabue/you-dont-need-a-bigger-boat" rel="noopener noreferrer"&gt;here&lt;/a&gt;, and hopefully you will believe me that you don't need to be the size of Google to be able to tackle these types of Data Science problems. &lt;/p&gt;

&lt;h2&gt;
  
  
  Example ML project with Metaflow
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/jaeyow/metaflow-f1-predictor" rel="noopener noreferrer"&gt;The example project&lt;/a&gt; I have here is a very simple workflow that although consumes real-world dataset, was really only created for learning purposes. Following image shows some of the technologies I used to get it working. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnxipuj0kn4wopuet3dm8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnxipuj0kn4wopuet3dm8.png" alt="Example project with Metaflow"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most of the code is from my &lt;a href="https://fullstackdeveloper.tips/general-assembly-data-science-bootcamp-week-10/#" rel="noopener noreferrer"&gt;General Assembly capstone project&lt;/a&gt; - where I go through the process of consuming data I have pulled from a public API, do a bit of feature engineering, integration with another popular Machine Learning tool called &lt;a href="https://www.comet.com/" rel="noopener noreferrer"&gt;Comet ML&lt;/a&gt; and &lt;a href="https://github.com/features/actions" rel="noopener noreferrer"&gt;Github Actions&lt;/a&gt;, then train multiple algorithms in parallel, all repeatable since Metaflow keeps track of all experiment metadata. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk0xdd6sbixl675e842s8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk0xdd6sbixl675e842s8.png" alt="Simple Model Training Pipeline using Metaflow"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The intention is to show how easy it is to leverage Metaflow not just for orchestrating the parallel workflow, but also for enabling the repeatability of your experiments. It finishes after the parallel training and testing of models, however in reality you could do a myriad of tasks after this, such as model selection, model deployment or even scheduling for retraining.&lt;/p&gt;

&lt;p&gt;Code is freely &lt;a href="https://github.com/jaeyow/metaflow-f1-predictor" rel="noopener noreferrer"&gt;available here&lt;/a&gt;. &lt;/p&gt;

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

&lt;p&gt;The main disconnect with many new to Data Science and Machine Learning is the difficulty of shipping models to production. Many Data Science courses may teach you the basics of the whys and hows of using algorithms and model building, however, throw you to the wolves with deployment and scalability. With Metaflow, it is easy to create ML pipelines for development when you're working on your laptop, and when it is time to push it to production, there will be minimal work involved in moving that workload on the AWS cloud.&lt;/p&gt;

&lt;p&gt;The example project shows that it was easy to create a workflow that performs feature engineering, model training and testing in parallel, and easily integrate 3rd party tools. This is only the tip of the iceberg, it really does enable one to have the ability to do ML using the open stack, 3rd party SAAS offerings, many free tools, and do ML at par with the big boys.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=Ndxpo4PeEms" rel="noopener noreferrer"&gt;MLOps at Reasonable Scale&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jacopotagliabue/you-dont-need-a-bigger-boat" rel="noopener noreferrer"&gt;You Don't Need a Bigger Boat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gradientflow.com/machine-learning-trends-you-need-to-know/" rel="noopener noreferrer"&gt;Machine Learning Trends You Need to Know&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jacopotagliabue/post-modern-stack" rel="noopener noreferrer"&gt;Post Modern Stack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.manning.com/books/effective-data-science-infrastructure" rel="noopener noreferrer"&gt;Effective Data Science Infrastructure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.arxiv-vanity.com/papers/2107.07346/" rel="noopener noreferrer"&gt;You Do Not Need a Bigger Boat - Recommendations at Reasonable Scale in a (Mostly) Serverless and Open Stack&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Netflix/metaflow" rel="noopener noreferrer"&gt;Metaflow&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>machinelearning</category>
      <category>metaflow</category>
      <category>mlops</category>
      <category>aws</category>
    </item>
    <item>
      <title>AWS Summit 2022 Australia and New Zealand - Day 2, AI/ML Edition</title>
      <dc:creator>jaeyow</dc:creator>
      <pubDate>Fri, 20 May 2022 08:57:55 +0000</pubDate>
      <link>https://dev.to/aws-builders/aws-summit-2022-australia-and-new-zealand-day-2-aiml-edition-1j3h</link>
      <guid>https://dev.to/aws-builders/aws-summit-2022-australia-and-new-zealand-day-2-aiml-edition-1j3h</guid>
      <description>&lt;h2&gt;
  
  
  AWS Summit 2022 - AI/ML Edition
&lt;/h2&gt;

&lt;p&gt;This is my Day 2 report for the AWS Summit 2022 AU and NZ.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--I8fmf743--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ta9e2yg63l88lg6xxk7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--I8fmf743--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2ta9e2yg63l88lg6xxk7.png" alt="AWS Summit 2022" width="880" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I make no secret that my goal in the next 12 months is to build up Machine Learning skills and find projects that will exploit these newfound skills. So many of my learning activities this past year have been about this field, and the effort is still continuing. Imagine my surprise when I found out that the AWS Summit has a good chunk of sessions focusing solely on AI/ML!&lt;/p&gt;

&lt;h2&gt;
  
  
  Day 2 AI/ML Sessions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Day 2 Keynote&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In the Day 2 Keynote, Simon Elisha - ANZ Chief Technologist, was talking excitedly about a few cloud advancements but it was these AWS Partner's presentations that attracted my attention:&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Franky - the stroke rehabilitation robot&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/blogs/iot/how-the-university-of-technology-sydney-is-transforming-stroke-rehabilitation-with-biomedical-robots-and-aws-iot/"&gt;Franky&lt;/a&gt; is an at-home rehabilitation robot for stroke patients that uses AWS IOT and Machine Learning among other technologies.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--iLoMDTb---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mgw2ooo623kg6rvcd5aa.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--iLoMDTb---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mgw2ooo623kg6rvcd5aa.png" alt="Franky the robot" width="345" height="584"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In early trials, Franky is showing the benefits of using AWS IoT by saving patients travelling time, improving data collection, and avoiding physical contact with patients during the pandemic.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;em&gt;Swoop Aero - making access to the skies seamless&lt;/em&gt;
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9KP_17pC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2f6oxxlxnkrn3xx3i9ix.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9KP_17pC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2f6oxxlxnkrn3xx3i9ix.png" alt="Swoop Aero" width="768" height="768"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://swoop.aero/"&gt;Swoop Aero&lt;/a&gt; is one cool company, using cool technology. It has been used all around the world to as a world-leading drone logistics service, delivering anywhere on the planet, all from there operation HQ in Melbourne!&lt;/p&gt;

&lt;p&gt;All made possible by &lt;a href="https://swoop.aero/kite"&gt;proprietary drone aircraft - Kite&lt;/a&gt;, AI technology and digital twin based on AWS.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Reduce bushfire risk with machine learning at scale&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The damage and loss caused by bushfires every year is in the excess of tens of millions of hectares and would have cost billions of dollars to the economy. It has been identified that one of leading cause of bushfires originate from the energy supply network, ie. the millions of kilometers of power lines all around the country. &lt;/p&gt;

&lt;p&gt;To improve the process of asset inspection of these power poles nationwide, Machine Learning was used to replace the current method to ensure that the operation gets completed quicker and cheaper. The current method was very labor intensive and can't possibly scale easily nationwide. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VIgzD_tz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/thw7rwmufdtmztz49wyu.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VIgzD_tz--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/thw7rwmufdtmztz49wyu.png" alt="Reduce bushfire risks" width="880" height="493"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Sepsis detection using model ensembles on Amazon SageMaker&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Through a project collaboration between the &lt;a href="https://www.health.nsw.gov.au/"&gt;NSW Government&lt;/a&gt; and &lt;a href="https://www.sydney.edu.au/"&gt;University of Sydney&lt;/a&gt; a project was undertaken to tackle the problem of diagnosing Sepsis in the emergency room. Sepsis is a leading cause of death in Australia, greater than the annual national road toll, breast cancer, prostate cancer, or colon cancer.&lt;/p&gt;

&lt;p&gt;However if it can be diagnosed early enough, then most of these deaths will have been avoided. This session demonstrated the use of model ensembles (in this case 3 models - XGBoost, Linear Learner and Logistic Regression), and &lt;a href="https://aws.amazon.com/pm/sagemaker/"&gt;AWS SageMaker&lt;/a&gt;, Amazon's machine learning platform. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--wX54jqON--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rzqalqfeagcvv6w5npzi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wX54jqON--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rzqalqfeagcvv6w5npzi.png" alt="Sepsis detaction" width="880" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Traffic signal optimization with Machine Learning on AWS&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This next session was quite interesting as it combines IOT, Edge, reinforcement learning and computer vision all in the same project,  aiming to replace the current decades old technology being used in our roads.  &lt;/p&gt;

&lt;p&gt;There is a need to optimize the current state of things because our city's livability has now been affected. Pollution, Noise, accidents, and congestion, there has to be something that can be done with these.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://aws.amazon.com/greengrass/"&gt;AWS IoT Greengrass&lt;/a&gt; allows one to manage their IOT Edge devices, download ML models locally, so that inference can then be also be done locally.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--AUHQECPh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hderh75z2rs6apjs6q6p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--AUHQECPh--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hderh75z2rs6apjs6q6p.png" alt="Traffic optimization" width="880" height="494"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;MLOps with Amazon SageMaker: Carsales journey to scale AI&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The last (and definitely not the least), is the talk from Carsales on how they scaled their Data Science/ML capability. As they don't have a large DS team but their projects that required Data Science were on the rise, they have demonstrated how they were able to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;democratize the Data Science skill&lt;/li&gt;
&lt;li&gt;democratize the ML Engineer skill&lt;/li&gt;
&lt;li&gt;allow them to experiment at scale&lt;/li&gt;
&lt;li&gt;allow them to do flexible model deployment&lt;/li&gt;
&lt;li&gt;allow the reusability of models across teams&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As a result of their new DS framework (based on a &lt;a href="https://metaflow.org/"&gt;Metaflow - a DS framework built at Netflix&lt;/a&gt; and &lt;a href="https://aws.amazon.com/sagemaker/pipelines/"&gt;AWS SageMaker Pipelines&lt;/a&gt;), they were able to free up their DS resources so that Software Developers were now trained and equipped to tackle their normal DS projects, at a ratio of &lt;strong&gt;70%&lt;/strong&gt; DS/ML work was now completed by developers. This leaves the &lt;strong&gt;30%&lt;/strong&gt; meatier and more difficult problems for the Data Scientists to tackle. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rzSoftwa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dp95ciy05oka4f4bohsi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rzSoftwa--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dp95ciy05oka4f4bohsi.png" alt="MLOps at Carsales" width="880" height="492"&gt;&lt;/a&gt;&lt;/p&gt;

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

&lt;p&gt;A couple of highlights for today, first was the demo from the team at &lt;a href="https://swoop.aero/"&gt;Swoop Aero&lt;/a&gt;, and to think that they do all their world operations from their Melbourne HQ is just mind boggling.&lt;/p&gt;

&lt;p&gt;And next is &lt;a href="https://www.carsales.com.au/"&gt;Carsales&lt;/a&gt; as they were able to democratize the Data Science and Machine Learning, they magically enabled their developer team to tackle Data Science and Machine Learning projects. They developed a Data Science framework that enabled normal developers to work on DS/ML projects with little input from the DS team, which frees up the Data Scientists to work on the more difficult problems facing the business.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://summit-anz22.virtual.awsevents.com/"&gt;AWS Summit 2022 - Australia and New Zealand&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>ai</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>AWS Summit 2022 Australia and New Zealand - Day 1, AI/ML Edition</title>
      <dc:creator>jaeyow</dc:creator>
      <pubDate>Thu, 19 May 2022 06:59:00 +0000</pubDate>
      <link>https://dev.to/aws-builders/aws-summit-2022-australia-and-new-zealand-day-1-aiml-edition-1dj8</link>
      <guid>https://dev.to/aws-builders/aws-summit-2022-australia-and-new-zealand-day-1-aiml-edition-1dj8</guid>
      <description>&lt;h2&gt;
  
  
  AWS Summit 2022 - AI/ML Edition
&lt;/h2&gt;

&lt;p&gt;This is my Day 1 report for the AWS Summit which is an all Online event this year.&lt;/p&gt;

&lt;p&gt;Even if the event was a real face-to-face conference, I would still have been attending the sessions online, since coincidentally, I've very recently contracted Covid, and I am still recovering as I'm typing this report.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ZsxS8EqP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9nd3sjgveoh7nj24byg6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZsxS8EqP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9nd3sjgveoh7nj24byg6.png" alt="AWS Summit 2022 Australia and New Zealand" width="880" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I make no secret that my goal in the next 12 months is to build up Machine Learning skills and find projects that will exploit these newfound skills. So many of my learning activities this past year have been about this field, and the effort is still continuing. Imagine my surprise when I found out that the AWS Summit has a good chunk of sessions focusing solely on AI/ML!&lt;/p&gt;

&lt;p&gt;Out of about 104 sessions, 28 are about AI/ML, I thought that was great, so this for year's AWS Summit, that's where my focus will be. Obviously I could not have attended all 28 sessions, just the ones that I fancied and handpicked from the agenda. &lt;/p&gt;

&lt;h2&gt;
  
  
  Day 1 AI/ML Sessions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Jumpstart the machine learning journey with Canva&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;The first session is a peek into how Canva approached scaling ML in their company.&lt;/p&gt;

&lt;p&gt;This can be summarized into 5 main points, please see image below. When the AWS Summit videos are made available, I will post their links here. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Team Enablement&lt;/strong&gt; - involves defining culture, team training (and hackathon), and tools&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Data Strategy&lt;/strong&gt; - involves training, best (data) practice&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Proof of Concept&lt;/strong&gt; - involves training, business alignment, cross functional teams&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Repeatability&lt;/strong&gt; - involves training, tools, cloud enablement, MLOps&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Scale&lt;/strong&gt; - involves training, Center of Excellence, optimization&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zU8J60l4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4g4s0ftn6dgarripumw5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zU8J60l4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4g4s0ftn6dgarripumw5.png" alt="Best Practice in Scaling ML in Canva" width="880" height="496"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Solving business challenges with AI - powered by Intel on AWS&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;AWS and Intel have a deep partnership and together provide solutions to real world customer problems. Many of the these are related to AI and ML, such as in the development of hardware chips that provide faster, more powerful performance that is cheaper and more sustainable to run. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--UggrbfmX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0ed1lmfn3t13nwd9q8y3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UggrbfmX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0ed1lmfn3t13nwd9q8y3.png" alt="AWS and Intel Partnership" width="880" height="495"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;End-to-end MLOps for architects&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This session introduces the concept of Machine Learning Operations (MLOps) in Data Science/Machine Learning teams. As the team's AI maturity improves, it becomes more and more important to integrate MLOps practices into your workflow to avoid the problems of POCs not making it into production.&lt;/p&gt;

&lt;p&gt;Issues like manual intervention for changes, work stuck in Jupyter notebooks, not enabling autoscaling, or having no feedback on model performance are only some of the issues that contribute to the failure of your ML system. &lt;/p&gt;

&lt;p&gt;We were then presented with 3 MLOps architectures, from Small, Medium and Large, which represents architectures that one would adopt, depending on your team's AI maturity, and budget. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--KwDwqAVO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g5fqmhiztqbgztkn406s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--KwDwqAVO--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/g5fqmhiztqbgztkn406s.png" alt="End to End MLOps for Architects" width="880" height="491"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Sustainability powered by AI and machine learning&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;In re:Invent 2021, AWS announced that &lt;a href="https://aws.amazon.com/blogs/aws/sustainability-pillar-well-architected-framework/"&gt;Sustainability&lt;/a&gt; as the latest pillar added to the 5 existing: Operational Excellence, Security, Reliability, Performance Efficiency and Cost Optimization. It was nice to see sustainability being more and more involved in presentations, so it was one that I was looking forward to hear. &lt;/p&gt;

&lt;p&gt;Leadership is crucial if sustainability initiatives are to succeed. To adopt a sustainability mindset, direction from leaders is a requirement. From there the company can enable teams, adopt a powerful data platform such as AWS, and finally choosing the right first project. &lt;/p&gt;

&lt;p&gt;The session also showed an example in an industrial setting of one Amazon.com's buildings. The problem was to improve the current system's power consumption by 8% and achieved that by creating a model based on Reinforcement learning and Amazon SageMaker suite of tools. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--P8esFlYw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6m9ieg77c10h7nhwfs6p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P8esFlYw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6m9ieg77c10h7nhwfs6p.png" alt="Sustainability in AWS" width="880" height="490"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Kick-start your ML journey: Get hands-on with AWS DeepRacer&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Not everyday does one have the chance to develop systems used in autonomous vehicles and AWS have just given every developer the ability to do so in &lt;a href="https://aws.amazon.com/deepracer/"&gt;DeepRacer&lt;/a&gt;! Using &lt;a href="https://aws.amazon.com/pm/sagemaker/"&gt;Amazon SageMaker&lt;/a&gt; and Intel's &lt;a href="https://docs.openvino.ai/latest/index.html"&gt;OpenVINO&lt;/a&gt; toolkit, Reinforcement learning can be used to train your models, after which it can be run in the DeepRacer 3D racing simulator.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qUt4u48F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q7cy1an78ym2pde8kzyt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qUt4u48F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/q7cy1an78ym2pde8kzyt.png" alt="AWS DeepRacer League" width="588" height="675"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Also, AWS has purpose-built a real 1/18th scale race car, so that you can use it to download your models to, and race against the autonomous racing league. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--c3XOGkCw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0d8fqcnhimom0pyxzv4i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--c3XOGkCw--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0d8fqcnhimom0pyxzv4i.png" alt="Hands-on with AWS DeepRacer" width="880" height="492"&gt;&lt;/a&gt; &lt;/p&gt;

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

&lt;p&gt;That's a wrap for Day 1 of the AWS Summit 2022 Australia and New Zealand. I've got two highlights for today.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First&lt;/strong&gt; is seeing how AWS SageMaker is being positioned by Amazon at the center of their AI/Machine Learning story - as an end to end MLOps framework. When I learned about &lt;a href="https://fullstackdeveloper.tips/tags/#"&gt;Data Science in a course&lt;/a&gt; I completed towards the end of 2021, I was not made aware of such tool available, and rightly so. It would have made the course more difficult than it was.&lt;/p&gt;

&lt;p&gt;And &lt;strong&gt;next&lt;/strong&gt; was seeing DeepRacer - truly making Machine Learning (Reinforcement Learning) accessible to developers the world over.&lt;/p&gt;

&lt;p&gt;Keep an eye out for my Day 2 wrap later!&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://summit-anz22.virtual.awsevents.com/"&gt;AWS Summit 2022 - Australia and New Zealand&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>aws</category>
      <category>ai</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Micro-frontends building blocks: Webpack Module Federation</title>
      <dc:creator>jaeyow</dc:creator>
      <pubDate>Sat, 23 Apr 2022 06:41:17 +0000</pubDate>
      <link>https://dev.to/aws-builders/micro-frontends-building-blocks-webpack-module-federation-360a</link>
      <guid>https://dev.to/aws-builders/micro-frontends-building-blocks-webpack-module-federation-360a</guid>
      <description>&lt;h2&gt;
  
  
  Meet Module Federation
&lt;/h2&gt;

&lt;p&gt;The next &lt;a href="https://micro-frontends.org/" rel="noopener noreferrer"&gt;micro-frontends&lt;/a&gt; building block we will cover is &lt;a href="https://webpack.js.org/concepts/module-federation/" rel="noopener noreferrer"&gt;Module Federation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It was initially created to enable asynchronous loading of Javascript bundles, so one can easily share and consume code in the Javascript ecosystem, ie. any Javascript project, think browser, &lt;a href="https://nodejs.org/en/" rel="noopener noreferrer"&gt;Node.js&lt;/a&gt; or &lt;a href="https://www.electronjs.org/" rel="noopener noreferrer"&gt;Electron&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Later on, it was extended to support server-side rendering scenarios. Since the method I'm going to explore in building my micro-frontends is client-side composition using &lt;a href="https://reactjs.org/" rel="noopener noreferrer"&gt;React.js&lt;/a&gt;, I've identified Module Federation as the perfect technology to use. &lt;/p&gt;

&lt;p&gt;Module Federation was created by &lt;a href="https://twitter.com/ScriptedAlchemy?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor" rel="noopener noreferrer"&gt;Zack Jackson&lt;/a&gt;, a &lt;a href="https://webpack.js.org/" rel="noopener noreferrer"&gt;Webpack&lt;/a&gt; core maintainer himself, and was integrated as a flagship feature of Webpack 5 in &lt;a href="https://webpack.js.org/blog/2020-10-10-webpack-5-release/#major-changes-development-support" rel="noopener noreferrer"&gt;October 2020&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F10jlt6qct0cua72nl3hd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F10jlt6qct0cua72nl3hd.png" alt="Webpack Module Federation"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  But, what seems to be the problem?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Scalability&lt;/strong&gt; - its the problem that Module Federation tries to solve.&lt;/p&gt;

&lt;p&gt;So that &lt;strong&gt;large applications&lt;/strong&gt; can be split easily where each part can then be shared among other parts and may be developed by &lt;strong&gt;separate teams&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Module Federation is a game-changer in Javascript Architecture because before this, sharing code was clunky and just didn't feel smooth enough. The usual module sharing method that we have been using for years is using NPM packages, enabling developers to create build-time dependencies. Although &lt;a href="https://www.npmjs.com/" rel="noopener noreferrer"&gt;NPM&lt;/a&gt; works, it cannot help us when we need to load dependencies at run-time.&lt;/p&gt;

&lt;p&gt;As micro-frontends evolved, we now have a need to resolve Javascript modules at run-time. This is where Module Federation shines.&lt;/p&gt;

&lt;h2&gt;
  
  
  Module Federation super powers
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Good build performance
&lt;/h3&gt;

&lt;p&gt;Because Module Federation encourages you to arrange your application into separate projects so that you can build and deploy them independently (therefore in parallel), each project can be built and deployed in isolation and may be done by different teams.&lt;/p&gt;

&lt;h3&gt;
  
  
  Good web performance
&lt;/h3&gt;

&lt;p&gt;The problem with the usual NPM module composition is that it typically increases the application size as the number of dependencies increase. Module Federation provides you an option to lazy load bundles, to avoid loading them when your application loads, but only loading them on demand. This results in a better web performance as it avoids having to download modules before they are actually needed. &lt;/p&gt;

&lt;h3&gt;
  
  
  Good management for shared dependencies
&lt;/h3&gt;

&lt;p&gt;And because Module Federation provides excellent dependency management, it efficiently resolves vendor and third-party dependencies so that only one version of a library is ever loaded by your application. How good is that?&lt;/p&gt;

&lt;h3&gt;
  
  
  Import code from other builds, at runtime
&lt;/h3&gt;

&lt;p&gt;Instead of sharing code and thinking of "libraries" when using NPM package approach, we can think of applications that use Module Federation not dissimilar to &lt;a href="https://en.wikipedia.org/wiki/API" rel="noopener noreferrer"&gt;APIs&lt;/a&gt;. Now web applications can expose functionality to other applications, the same way that it can also consume from other applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  Deploy independent code, without needing to re-deploy consumers
&lt;/h3&gt;

&lt;p&gt;The ability to have evergreen functionality is very appealing to the developer. There will be no need to redeploy the consumers anymore when exposed dependent functionality will have changed. I have to say that this in itself is a very powerful feature, which will need very careful consideration to avoid unintended results.&lt;/p&gt;

&lt;h3&gt;
  
  
  Redundancy and self-healing capabilities
&lt;/h3&gt;

&lt;p&gt;With shared dependencies, Module Federation maintains a &lt;a href="https://en.wikipedia.org/wiki/Dependency_graph" rel="noopener noreferrer"&gt;dependency graph&lt;/a&gt; for your whole application, so that even though applications fail to declare a dependency or when there are network issues, it knows the needed dependencies so that it takes care of downloading it as required.&lt;/p&gt;

&lt;h3&gt;
  
  
  Micro-frontends will work like a monolith
&lt;/h3&gt;

&lt;p&gt;Bringing in shared functionality to your application is quite simple - either synchronous loading by importing the bundle as usual. Or asynchronous loading by using lazy loading, to only load the dependencies when required.&lt;/p&gt;

&lt;h3&gt;
  
  
  Developer experience improved, maintaining customer experience
&lt;/h3&gt;

&lt;p&gt;Using Module Federation will feel very familiar to any Javascript developer, since it is available as a Webpack plugin starting with Webpack 5. If we think about that for a bit, this is actually quite powerful and exciting.&lt;/p&gt;

&lt;p&gt;Think about all the things that Webpack can bundle - scripts, assets, styles, images, markdowns, and more by using third party Webpack loaders. All these can be federated and shared though Module Federation, great, right?&lt;/p&gt;

&lt;h2&gt;
  
  
  Caveat
&lt;/h2&gt;

&lt;p&gt;However, as great as Module Federation is, it is important to remember that it is not a framework, and as such it does not handle any of the implementation details for you. For example, you could use awesome client-side composition libraries such as &lt;a href="https://single-spa.js.org/" rel="noopener noreferrer"&gt;Single SPA&lt;/a&gt;, or &lt;a href="https://nextjs.org/" rel="noopener noreferrer"&gt;Next.js&lt;/a&gt; and just leverage Module Federation to do the module loading over the wire for you.&lt;/p&gt;

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

&lt;p&gt;In this article we have introduced Module Federation as an excellent option for building your micro-frontend application. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;It promotes scalability by enabling multiple teams to work on a separate applications by allowing applications to share and consume functionality at runtime. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It makes applications more compact through the use of shareable dependencies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;It enables evergreen functionality so that you won't need to build and deploy your consumers when the shared functionality changes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Developer experience is great since many developers are already familiar with the Webpack ecosystem&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Once configured, your application will work like a monolith which is awesome.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://webpack.js.org/concepts/module-federation/" rel="noopener noreferrer"&gt;Webpack 5: Module Federation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://medium.com/swlh/webpack-5-module-federation-a-game-changer-to-javascript-architecture-bcdd30e02669" rel="noopener noreferrer"&gt;Webpack 5 Module Federation: A game-changer in JavaScript architecture&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/module-federation/module-federation-examples" rel="noopener noreferrer"&gt;Module Federation Examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=-ei6RqZilYI" rel="noopener noreferrer"&gt;Webpack 5 Module Federation - Zack Jackson - CityJS Conf 2020&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://levelup.gitconnected.com/microfrontends-with-module-federation-what-why-and-how-845f06020ee1" rel="noopener noreferrer"&gt;Microfrontends with Module Federation: What, Why, and How&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Originally published at &lt;a href="https://fullstackdeveloper.tips/microfrontend-building-blocks-module-federation/" rel="noopener noreferrer"&gt;Fullstack Developer Tips&lt;/a&gt;&lt;/p&gt;

</description>
      <category>microfrontends</category>
      <category>softwareengineering</category>
      <category>webdev</category>
      <category>modulefederation</category>
    </item>
    <item>
      <title>Micro-frontends building blocks: Monorepos</title>
      <dc:creator>jaeyow</dc:creator>
      <pubDate>Tue, 05 Apr 2022 00:51:49 +0000</pubDate>
      <link>https://dev.to/aws-builders/micro-frontends-building-blocks-monorepos-ge1</link>
      <guid>https://dev.to/aws-builders/micro-frontends-building-blocks-monorepos-ge1</guid>
      <description>&lt;h2&gt;
  
  
  A monorepo, what's that?
&lt;/h2&gt;

&lt;p&gt;A while back I was finishing work with an employer and was due to join my new team. I remember feeling excited when I heard that the new project will be using monorepos. I did not have a clue what monorepos were, only I've heard that that's what the big boys were using.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fthqrt67j1d1lt6soh18p.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fthqrt67j1d1lt6soh18p.png" alt="What is a Monorepo, image from voiceflow.com"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
What is a Monorepo, image from Voiceflow.com
&lt;/p&gt;

&lt;p&gt;Definitely not mainstream (still not these days) they were supposed to promote better collaboration, and give the teams using it full autonomy and are perfect for when you're anticipating the project to scale. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Yeah, OK that sounds good, however, I just didn't understand how just by co-locating all your sub-projects into a single repository will magically give you all the advantages mentioned. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Monorepo is code co-location
&lt;/h2&gt;

&lt;p&gt;Yes, Monorepo is code co-location, but there is more to it than that.&lt;/p&gt;

&lt;p&gt;Just putting several projects in one repo does not make it a monorepo. In fact, if that's the only thing that we do, we are creating a monolith. A good monorepo enables you to create distinct and separate projects, that have well defined relationships and dependencies.&lt;/p&gt;

&lt;p&gt;This is a very common misconception in software engineering, where as far as I can remember, we have been conditioned to put everything in its own repository to encourage team autonomy. But it also promotes isolation that creates silos within the team and that essentially kills collaboration.&lt;/p&gt;

&lt;h2&gt;
  
  
  Monorepo promotes dependencies and relationships
&lt;/h2&gt;

&lt;p&gt;Monorepos excel with dependency management now that all the code is co-located in one spot. Because a monorepo can contain many disparate projects that may have deep and non-trivial relationships, monorepo tooling are optimized for build speed.&lt;/p&gt;

&lt;p&gt;It can cache previously performed operations, so that running them again will skip the work that has already been done to produce substantial time savings.&lt;/p&gt;

&lt;p&gt;The &lt;strong&gt;node_modules&lt;/strong&gt; folder needs no introduction, its that deep dark place where all project dependencies end up in. Current monorepo tooling can save a substantial amount of disk space by hoisting common dependencies to the top level, so that all lower level dependencies are satisfied from there instead.&lt;/p&gt;

&lt;h2&gt;
  
  
  Monorepo is one version for all
&lt;/h2&gt;

&lt;p&gt;With monorepos, version configuration is simple, there is only one version, and this essentially is a snapshot of the system removing the need to manage the multiple different versions of your application and its dependencies. &lt;/p&gt;

&lt;h2&gt;
  
  
  Monorepo is atomic
&lt;/h2&gt;

&lt;p&gt;Imagine all your system in one repo. Web frontend, IOS and Android mobile app, shared libraries, APIs, Lambdas, IaC, scripts, etc. The ability to be able to work on a task and do everything in the same commit, that is possible with monorepos.&lt;/p&gt;

&lt;h2&gt;
  
  
  Monorepo is intelligent tooling
&lt;/h2&gt;

&lt;p&gt;Many of the monorepo benefits are not possible without the advancements in current monorepo tools.&lt;/p&gt;

&lt;p&gt;Tools like &lt;a href="https://github.com/lerna/lerna" rel="noopener noreferrer"&gt;Lerna&lt;/a&gt;, &lt;a href="https://github.com/bazelbuild/bazel" rel="noopener noreferrer"&gt;Bazel&lt;/a&gt;, &lt;a href="https://github.com/nrwl/nx" rel="noopener noreferrer"&gt;Nx&lt;/a&gt;, &lt;a href="https://github.com/microsoft/rushstack" rel="noopener noreferrer"&gt;Rush&lt;/a&gt;, &lt;a href="https://github.com/vercel/turborepo" rel="noopener noreferrer"&gt;Turborepo&lt;/a&gt;, to name a few. &lt;a href="https://github.com/lerna/lerna" rel="noopener noreferrer"&gt;Lerna&lt;/a&gt; is probably the grand daddy of all monorepo tools. &lt;a href="https://github.com/facebook/create-react-app" rel="noopener noreferrer"&gt;CRA&lt;/a&gt;, &lt;a href="https://github.com/babel/babel" rel="noopener noreferrer"&gt;Babel&lt;/a&gt;, &lt;a href="https://github.com/facebook/jest" rel="noopener noreferrer"&gt;Jest&lt;/a&gt; are a few projects that use it. &lt;a href="https://github.com/bazelbuild/bazel" rel="noopener noreferrer"&gt;Bazel&lt;/a&gt; has been refined and tested for years at Google to build heavy-duty, mission-critical infrastructure, services, and applications. &lt;a href="https://github.com/vercel/turborepo" rel="noopener noreferrer"&gt;Turborepo&lt;/a&gt; is the monorepo for &lt;a href="https://vercel.com/" rel="noopener noreferrer"&gt;Vercel&lt;/a&gt;, the leading platform for frontend frameworks. These tools can help keep your monorepo workspaces fast, understandable and manageable.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://monorepo.tools/" rel="noopener noreferrer"&gt;Monorepo.tools&lt;/a&gt; is an excellent resource detailing the many intelligent features of these tools that help manage your monorepo projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Monorepo is collaboration
&lt;/h2&gt;

&lt;p&gt;Because all the team's code (maybe even the whole organization's) exist in the same repository, monorepos encourage code sharing, transparency and cross team collaboration. This does not come for free, though. There will be more noise, but with good management and the help of efficient tooling, this is all possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  Monorepo is people
&lt;/h2&gt;

&lt;p&gt;Software engineering is as much technical as it is people. Yes monorepo is a technical strategy to structure your project and workspace.&lt;/p&gt;

&lt;p&gt;However, it is actually much more than that. Because it encourages people to collaborate effectively and work efficiently together, it represents a change that probably many software teams need today.&lt;/p&gt;

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

&lt;p&gt;Moving to monorepos represents a paradigm shift in software engineering. There are reasons why many organizations have made the shift. There are obviously many gains with using monorepos that made these organizations move. But because it represents a fundamental change and shift in thinking, there are also many detractors.&lt;/p&gt;

&lt;p&gt;Because on the surface what may look like a simple change in project and workspace structure, is actually an organizational change, and that can be hard in any industry.&lt;/p&gt;

&lt;h2&gt;
  
  
  Resources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.oreilly.com/library/view/building-micro-frontends/9781492082989/" rel="noopener noreferrer"&gt;Building Micro-Frontends by Luca Mezzalira&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://monorepo.tools/" rel="noopener noreferrer"&gt;Monorepo.tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blog.nrwl.io/misconceptions-about-monorepos-monorepo-monolith-df1250d4b03c" rel="noopener noreferrer"&gt;Misconceptions about Monorepos: Monorepo != Monolith&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.toptal.com/front-end/guide-to-monorepos" rel="noopener noreferrer"&gt;Guide to Monorepos for Front-end Code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.voiceflow.com/blog/how-monorepos-can-help-improve-your-productivity" rel="noopener noreferrer"&gt;How monorepos can help improve your productivity&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Originally published at &lt;a href="https://fullstackdeveloper.tips/microfrontend-building-blocks-monorepo/" rel="noopener noreferrer"&gt;Fullstack Developer Tips&lt;/a&gt;&lt;/p&gt;

</description>
      <category>microfrontends</category>
      <category>monorepos</category>
      <category>softwareengineering</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
