Multi-Stage Builds

This is part of a series of articles describing how the AtSea Shop application was built using enterprise development tools and Docker. In the previous post, I introduced the AtSea application and how I developed a REST application with the Eclipse IDE and Docker. Multi-stage builds, a Docker feature introduced in Docker 17.06 CE, let you orchestrate a complex build in a single Dockerfile. Before multi-stage build, Docker users would use a script to compile the applications on the host machine, then use Dockerfiles to build the images. The AtSea application is the perfect use case for a multi-stage build because:

  • it uses node.js to compile the ReactJs app into storefront
  • it uses Spring Boot and Maven to make a standalone jar file
  • it is deployed to a standalone JDK container
  • the storefront is then included in the jar

Let’s look at the Dockerfile.

The react-app is an extension of create-react-app. From within the react-app directory we run AtSea’s frontend in local development mode.

The first stage of the build uses a Node base image to create a production-ready frontend build directory consisting of static javascript and css files. A Docker best practice is named stages, e.g. FROM Continue reading

Unix’s mysterious && and ||

The Unix shell’s && and || operators provide some very useful functionality, but they can be a bit mysterious, especially considering the number of options for how they are used.The most common use of these Boolean operators is in the construction of multi-conditional tests—when you want two or more conditions to be true (or any in a set of operators to be true) before some command is run. The && serves as a logical AND (requiring all conditions to be true) operation, while the || provides a logical OR (requiring only one to be true).Combining tests In the script below, we’re using && to combine two very simple conditions. We won’t get output unless both conditions are true. This particular script runs through the tests twice, but only to demonstrate the two “flavors” of the brackets that can be used. Note that && doesn’t work inside square brackets unless they’re doubled.To read this article in full or to leave a comment, please click here

Submarine Cable Basics

Submarine Cable is probably the most important topic for the International traffic. More than 99% of the International traffic , including data, voice and video is carried over Submarine Cables.   But still submarine cables is not very well known topic among the network engineers, especially if you are not working in the Service Provider, […]

The post Submarine Cable Basics appeared first on Cisco Network Design and Architecture | CCDE Bootcamp | orhanergun.net.

What is NASA Doing with Big Data? Check this Out

 

Within the time you read the above sentence, NASA could have collected 1.73 gigabytes of data from around 100 missions which are active currently. NASA doesn’t stop doing this and the rate of collection is growing in an exponential manner. So, managing this kind of data is an uphill task for them. But the data which NASA collects is highly precious and its significance is immense in NASA’s science and research. NASA is trying extremely hard to make this data as approachable and accessible as possible for their daily tasks, various predictions in the universe, and for the human well-being through its innovations and creativity.

In version 2.0 of their “Open Government Plan” in the year 2012, NASA discussed, but did not go deeply into the work they have been doing regarding “Big Data” and they believed that they have much more to explore in this field.

We all know what big data is and what its uses are. So, I don’t think there is any need to mention what really big data is and let’s move on with other topic.

NASA’s Big Data Challenge

IDG Contributor Network: Update on Spectrum: Billing systems scheduled to be merged

Back in May 2016 when Charter officially closed the deal to acquire Time Warner Cable and Bright House Networks, they took on a monumental task of merging many different systems to make one cohesive customer experience. (As a disclaimer, my company does sell and manage Spectrum Enterprise services.)This deal was worth over $60 billion and effects over 90,000 employees and 25 million customers with significant coverage in 48 states. Among old school telecom pros, the move to snag Tom Rutledge from Cablevision in late 2012 and relocating the headquarters to Tom’s backyard in Connecticut was a sign of big things to come.As it stands today, Spectrum does not have an online payment option for enterprise services that allows you to view your bill or even your bill amount. Bright House did have a platform but it was recently taken down after performing some maintenance, pointing customers to the Spectrum Business billing log in.To read this article in full or to leave a comment, please click here

IDG Contributor Network: 3 leading indicator Software-as-a-Service metrics to understand where your business is heading

We all know the flagship metrics by which Software-as-a-Service businesses are gauged — Customer Acquisition Cost, Customer Lifetime Value, churn and the like. Understanding these metrics is key to measuring the health and value of a Software-as-a-Service (SaaS) business, and if you’re the operator of a SaaS company, you should have a deep understanding of what each of these metrics means, how to measure them for your business and whether your metrics are healthy or indicate potential issues.Every company is different, but a combination of common knowledge and some business-specific reasoning should give you a sense of whether your SaaS metrics jive with where you want your business to head.To read this article in full or to leave a comment, please click here

BGP FlowSpec on white box switch

BGP FlowSpec is a method of distributing access control lists (ACLs) using the BGP protocol. Distributed denial of service (DDoS) mitigation is an important use case for the technology, allowing a targeted network to push filters to their upstream provider to selectively remove the attack traffic.

Unfortunately, FlowSpec is currently only available on high end routing devices and so experimenting with the technology is expensive. Looking for an alternative, Cumulus Linux is an open Linux platform that allows users to install Linux packages and develop their own software.

This article describes a proof of concept implementation of basic FlowSpec functionality using ExaBGP installed on a free Cumulus VX virtual machine.  The same solution can be run on inexpensive commodity white box hardware to deliver terabit traffic filtering in a production network.

First, install latest version of ExaBGP on the Cumulus Linux switch:
curl -L https://github.com/Exa-Networks/exabgp/archive/4.0.0.tar.gz | tar zx
Now define the handler, acl.py, that will convert BGP FlowSpec updates into standard Linux netfilter/iptables entries used by Cumulus Linux to specify hardware ACLs (see Netfilter - ACLs):
#!/usr/bin/python

import json
import re
from os import listdir,remove
from os.path import isfile
from Continue reading

Reflecting On My First Cisco Live! Presentation

Well, I got to tick a big item off my list of goals last week. I successfully delivered a presentation at Cisco Live! in front of a large group of people. It didn’t kill me and I didn’t trip over anything and embarrass myself so no matter what, I have those two points to feel good about :-)

Me starting my presentation
Me starting my presentation

All joking aside, it actually went a whole lot better than that.

I’ve recently realized that I really enjoy teaching. Not in the sense that I want to be a trainer full time or have a job in a classroom, more like I feel that’s a big part of what drives me to write this blog and is why I feel (relatively) comfortable talking in front of people. As long as the subject is something that I feel I can weave some teaching/learning into, I’m comfortable to deliver it. By contrast, I would feel far less comfortable delivering something like a keynote speech or a toast at a wedding.

So along those lines, that was a big goal I set for myself in delivering my Cisco Live! (CLUS) presentation: empower the audience by sharing targeted, high-value knowledge and Continue reading

Mist’s wireless network lets companies personalize the user experience

The Wi-Fi networks of today were architected more than a decade ago. That even predates the iPhone, which ushered in the era of mobility. These old Wi-Fi architectures aren’t ready to handle the vast number of mobile devices that want to connect to wireless networks today.What’s more, these networks aren’t able to put any focus on what users experience when they are connected.The old generation of Wi-Fi networks are a hindrance to businesses that want to increase customer engagement over ubiquitous mobile devices. For example, restaurants and retail stores would like to capture customers’ attention by offering real-time discounts or coupons when customers enter or walk by the establishment. Doing so requires the use of several technologies that old wireless networks just can’t support at scale.To read this article in full or to leave a comment, please click here

Mist’s wireless network lets companies personalize the user experience

The Wi-Fi networks of today were architected more than a decade ago. That even predates the iPhone, which ushered in the era of mobility. These old Wi-Fi architectures aren’t ready to handle the vast number of mobile devices that want to connect to wireless networks today.What’s more, these networks aren’t able to put any focus on what users experience when they are connected.The old generation of Wi-Fi networks are a hindrance to businesses that want to increase customer engagement over ubiquitous mobile devices. For example, restaurants and retail stores would like to capture customers’ attention by offering real-time discounts or coupons when customers enter or walk by the establishment. Doing so requires the use of several technologies that old wireless networks just can’t support at scale.To read this article in full or to leave a comment, please click here