Welcome to curated list of handpicked free online resources related to IT, cloud, Big Data, programming languages, Devops. Fresh news and community maintained list of links updated daily. Like what you see? [ Join our newsletter ]

Anti-patterns when building container images

Categories

Tags containers app-development devops how-to

This is a list of recurring anti-patterns that I see when I help folks with their container build pipelines, and suggestions to avoid them or refactor them into something better. By Jérôme Petazzoni.

Many of them are harmless when used separately. But when combined, they can easily compromise your productivity and waste time and resources, as we will see.

The guide then covers the following in depth:

  • Big images
    • All-in-one mega images
    • Data sets
  • Small images
  • Rebuilding common bases
  • Building from the root of a giant monorepo
  • Not using BuildKit
  • Requiring rebuilds for every single change
  • Using custom scripts instead of existing tools
  • Forcing things to run in containers
  • Using overly complex tools
  • Conflicting names for scripts and images
  • Building with Dockerfiles

BuildKit is a new backend for docker build. It’s a complete rehaul with a ton of new features, including parallel builds, cross-arch builds (e.g. building ARM images on Intel and vice versa), building images in Kubernetes Pods, and much more; while remaining fully compatible with the existing Dockerfile syntax. It’s like switching to a fully electric car: we still drive it with a wheel and two pedals, but internally it is completely different from the old thing.

And final note: don’t treat these recommendations as absolute rules. What author is saying is “hey, careful, if you do this, it can have unexpected consequences; look, here is what I suggest to improve the situation”. Nice one!

[Read More]

How well-architected enables junior engineers

Categories

Tags frameworks app-development programming agile aws serverless

Well-architected describes the key concepts, design principles and architecture best practices for designing your cloud workloads. It balances best practices with business goals to determine the optimal outcome. By Gerald Stewart.

Created by AWS Solutions Architects using the lessons Amazon has learnt from running thousands of systems at a massive scale, it enables developers to compare their workloads against the rigorous standards that AWS holds itself against.

The framework covers these pillars:

  • Operational Excellence - To be able to monitor and support workloads effectively, to enable continuous improvement and to deliver business value
  • Security - Improving your security posture by taking advantage of Cloud technologies to protect your assets and systems
  • Reliability - Ensuring your workload can perform it’s intended function correctly and consistently
  • Performance Efficiency - Ensuring appropriate resource allocation to enable performant systems and a positive end user experience
  • Cost Optimisation - Ensuring you are delivering business value at the lowest possible cost

If I could recommend one topic of learning to a junior engineer or someone looking to up their game designing and building on AWS it would be to read the Well-Architected framework and understand how to apply it.

Well-Architected should be applied both continuously with reviews carried out at regular intervals. Understanding the pillars, core concepts and reasons behind the pillars of the Well-Architected framework can enable you to make better architecture decisions and avoid rewrites or large changes after a full-scale review has been carried out. For deeper insights follow the link to the full article. Good read!

[Read More]

Deploy a scheduled workload on Fargate using AWS CDK

Categories

Tags app-development containers aws serverless

The AWS Cloud Development Kit (CDK in short) is a relatively new framework for defining cloud Infrastructure as Code (IaC). CDK allows to easily define your cloud infrastructure by importing classes (resources) and instantiating objects. The resulting definition can be versioned in GIT, easily shared and used in command-line tools (for example in CI/CD pipelines). By Maurizio Bonani.

The underlying concept is that you can mutate your infrastructure through code, the same way you mutate any other application.

By using CDK you can fully leverage the ecosystem of your favorite programming language. This means that you can use your favorite code editor and get all the niceties such as syntax highlighting, type checking and auto-completion. Also with CDK, your infrastructure can be as testable as any other code you write.

Autor needed to run a periodic task to perform a basic ETL (Extract Transform Load) process on a MySQL database. The article describes the following steps to achieve it:

  • What is Fargate
  • Terminology
  • The code
  • Cluster
  • The definition
  • Containers
  • Service

That’s it. In this article we learned how to use CDK to provision a scheduled workload on AWS Fargate. Plenty of examples of the code which you can directly use with CDK to follow the article and deploy the solution. Perfect!

[Read More]

How to create and deploy Lambda function on AWS with CDK and API endpoint to Lambda

Categories

Tags app-development devops cloud open-source serverless

Amazon Web Services (AWS) is the world’s most comprehensive and broadly adopted scaleable cloud platform. AWS offering over 200 fully featured services from data centers globally. This tutorial will teach you how to create serverless function in Typescript and deploy it to AWS. By Abdul Waqar.

import * as cdk from "@aws-cdk/core";
import * as lambda from "@aws-cdk/aws-lambda";
import * as apigw from "@aws-cdk/aws-apigateway";

export class HelloLambdaStack extends cdk.Stack {
  constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) {
    super(scope, id, props);
    const hello = new lambda.Function(this, "HelloHandler", {
      runtime: lambda.Runtime.NODEJS_10_X,
      code: lambda.Code.fromAsset("lambda"),
      handler: "hello.handler",
    });

  }
}

The article then in brief steps describes:

  • What is AWS and CDK?
  • Lambda Function
  • Amazon API Gateway
  • Lets write code for Lambda Function
  • Deploy Lambda Function using CDK

Congratulation! You have successfully deployed your first Lambda Function and API Gateway to call Lambda Function on AWS Cloud. Good read!

[Read More]

Introducing Svelte, and comparing Svelte with React and Vue

Categories

Tags frontend web-development css app-development frameworks

Let’s be honest: lots of things in web development are harder than they should be. Some days, it can seem as though everything in the frontend world is needlessly over-engineered and convoluted. By Josh Collinsworth.

At a basic level, you could think of Svelte as a frontend user interface (UI) framework akin to React, Vue, etc. Svelte is the newest of the big names in the space, however, and it definitely seems as though it’s learned from the others, in terms of both developer experience and optimization.

The article then covers:

  • What is Svelte?
  • How is Svelte different?
  • Comparing Svelte to React and Vue
  • Build over browser
  • Authoring Svelte components
  • CSS in Svelte
  • Props and component communication
  • What to know about Svelte

Just about everywhere I’d normally be reaching for a workaround or tripping over a gotcha when using another framework, Svelte was delightfully straightforward.

You will get practical example and detailed comparison between frameworks how and why these examples are implemented. We liked this observation: When you’ve been living in framework land long enough, it’s easy to forget the reason you need a package in the first place is often compatibility with (or the need to work around) the framework itself. Nice one!

[Read More]

Why 2022 will be the year for edge automation

Categories

Tags devops cloud open-source ansible

According to the Statista, in the Forecast number of mobile users worldwide 2020-2025 report, the number of mobile users worldwide reached 7.1 billion in 2021, and this number is projected to grow. This initiates a new set of use cases for edge devices due to the explosive growth of network-connected entry points. By Dafné Mendoza.

The article main points:

  • Edge challenges here, and now
  • IoT, 5G, containers and microservices
  • How do I start automating edge devices?

Automation is a long-term journey, moreover if you face the complexities that edge environments already pose. However, there are some golden rules to start:

  • Standardization. Automation at any scale requires consistency;
  • Use cases selection for automation should include simple but business relevant use cases, and allow all stakeholders to participate.
  • Keep automation simple. IT infrastructure already has a lot of complexities
  • Think about future scale and consumption by choosing the tooling wisely.

The article contains plenty of useful information. Good read!

[Read More]

The ultimate guide to Lean UX design

Categories

Tags ux web-development how-to agile teams

When designing a product, you often strive to achieve perfection by building a product with advanced features and offerings. You might find that rather than perfection, you only end up wasting time and resources on a product that you’re not completely sure users will use. In other words, it’s a demanding process that doesn’t guarantee success. By Adam Fard.

The article then describes:

  • Lean UX vs Waterfall UX vs Agile UX
  • Why Lean over Waterfall UX?
  • Lean vs Agile
  • Lean UX design process

As mentioned earlier, lean UX design is powered by three main concepts: think, make, and check. The thinking stage refers to making assumptions – and later hypotheses – about your product. Assumptions are usually born in workshop sessions that involve the whole team. Processes of the thinking phase include:

  • Competitive analysis
  • Stakeholder interviews
  • Ideation
  • Storyboards
  • Mood boards
  • Value proposition

The aim of the thinking stage is to identify problems and discuss solution pathways. Focus on the “why” and not the “how” to generate assumptions about your product. To learn more follow the link and read the rest of the article. Good read!

[Read More]

Introduction to Numpy in python

Categories

Tags python machine-learning big-data how-to learning

NumPy is a valuable and efficient tool for dealing with large amounts of data. NumPy is quick; thus, it’s easy to work with a vast amount of data. Data analysis libraries like NumPy, SciPy, Pandas, and others have exploded in popularity due to the data science revolution. By Sonia Jessica.

# Accessing Range of Elements
# in array using slicing
val_mul=np.array([(3, 4, 2, 5),(3, 6, 2, 4),(1, 5, 2, 6)])
slice_val = val_mul[:2, :2]
print ("First 2 rows and columns of the array\n", slice_val)

NumPy implements multidimensional arrays and matrices as well as other complex data structures. These data structures help to compute arrays and matrices in the most efficient way possible. NumPy allows you to conduct mathematical and logical operations on arrays. Many other prominent Python packages, like pandas and matplotlib, are compatible with Numpy and use it.

The article then describes in some detail:

  • What is a NumPy Array?
  • Types of Numpy Array
  • Accessing element in the Array

There are many code examples in article with explanation. Good read!

[Read More]

I want to learn Artificial Intelligence and Machine Learning. Where can I start?

Categories

Tags cloud machine-learning big-data how-to learning

How I went from Apple Genius to startup failure to Uber Driver to Machine Learning engineer. An older article about journey to become ML expert by Daniel Bourke.

I was working at the Apple Store and I wanted a change. To start building the tech I was servicing. I began looking into Machine Learning (ML) and Artificial Intelligence (AI). I began looking into Machine Learning (ML) and Artificial Intelligence (AI).

The article main content is split into:

  • How did I get started?
  • My self-created AI masters degree
  • Getting a job
  • Sharing your work
  • How much math?
  • What does a machine learning engineer actually do?

Here are a few questions a machine learning engineer has to ask themselves daily:

  • Context — How can ML be used to help learn more about your problem?
  • Data — Do you need more data? What form does it need to be in? What do you do when data is missing?
  • Modeling — Which model should you use? Does it work too well on the data (overfitting)? Or why doesn’t it work very well (underfitting)?
  • Production — How can you take your model to production? Should it be an online model or should it be updated at time intervals?
  • Ongoing — What happens if your model breaks? How do you improve it with more data? Is there a better way of doing things?

Learning online, I knew it was unconventional. All the roles I’d gone to apply for had Masters Degree requirements or at least some kind of technical degree. I didn’t have either of these. But I did have the skills I’d gathered from a plethora of online courses. Along the way, I was sharing my work online. My GitHub contained all the projects I’d done, my LinkedIn was stacked out and I’d practised communicating what I learned through YouTube and articles on Medium.

How do you start? Where do you go to learn these skills? Nice read!

[Read More]

How to create a storage bucket in the GCP cloud storage console

Categories

Tags cloud google gcp cio how-to

Google Cloud provides three main services for different types of storage: Persistent Disks for block storage, Filestore for network file storage and Cloud Storage for object storage. In this blog, we are discussing the third Cloud storage for object storage in detail. By Gopal.

Cloud Storage is a service for storing your objects in Google Cloud. An object is an immutable piece of data consisting of a file of any format. You store objects in containers called buckets. All buckets are associated with a project, and you can group your projects under an organization. Thus the Google cloud storage hierarchy will be Organization → Project → Bucket → Object.

The article then walks you through:

  • Basic tools for interacting with the Cloud storage
  • Prerequisites for creating a storage bucket
  • Creating a storage bucket in GCP

GCP Cloud storage is reliable and secure object storage. You can make a transition to lower-cost classes easily when it meets the criteria you specify, such as when it reaches a certain age or when you’ve stored a newer version of the data. Through “storage transfer service” and “transfer service for on-premise data” easily transfer your on-premise data to any GCP storage bucket easily.

All accompanied by detailed screen shots so you can follow article smoothly. Nice tutorial.

[Read More]