RSS

Category Archives: Technology

Enterprise Technologies

Geecon 2017 Kraków: Day One

Episode 71

As I’ve mentioned in the previous episode, I was attending a conference. Geecon 2017 took place between 17th to 19th May in Kraków. There were four tracks without explicit categorization, roughly 80 talks and 1200 people. The focus was mostly on Java with a pinch of soft topics, agile and similar stuff. It was the ninth edition, which took place at cinema complex about 5 kilometers from the city center.

geecon_logo

I’m a car person. Apparently, I have a train curse. Whenever I take a train, it is either significantly delayed, or breaks down in the middle of nowhere (hi Pyrkon 2013…). I was a bit hesitant to test the curse, and it still works to full extent, but more on that later. Let’s get down to business and review what I was able to grab from the event.

Talks

On day one, I’ve attended seven and a quarter of talks. A quarter, because one was so weak, that I’ve left after 15 minutes and started to wander mindlessly in the sea of conference sponsors. Let’s skip that one and see what good was out there. This will be a content-dense ride.

David Moore: Wrestling the Monolith

“Software is not done until last user is dead” – was the takeaway I liked the most in the keynote from Read the rest of this entry »

 
Leave a comment

Posted by on May 25, 2017 in Misc, News, Technology

 

Tags: , , ,

Amazon Database Services

Episode 70

Today we will continue with AWS stuff after a short break. You might remember a brief introduction to the database category in Episode 65: The Amazon Web Services Jungle. It’s time to expand upon that a bit as we did with compute and storage categories before.

524c8c68ada0f6cdff11d6d70d3fc622.jpg

We will dive a bit deeper into four services, which somehow represents different approaches to organized data storage: Relational Database Service, DynamoDB – a NoSQL database, ElastiCache – an in-memory data grid and Redshift – data warehouse.

RDS – Long time ago…

Amazon RDS, released in 2009, is a service for managing “classic” relational databases, stuff that usually first comes to mind when we think of “database”.  RDS offers several engines: PostgreSQL, MySQL, MariaDB, Oracle database, MS SQL Server and Amazon’s own AuroraDB. The service simplifies setting up a database – we don’t have to prepare a machine, install the database server on it, care about updates, licensing, HDD size, CPU, RAM, scaling, backups, replication, stand-by and Read the rest of this entry »

 
Leave a comment

Posted by on May 18, 2017 in AWS, Cloud, Technology

 

Tags: , , , ,

Windows Subsystem for Linux

Episode 69

Last five weeks we focused on Amazon Web Services, let’s have a short break from that. Recently I’m working in a project where majority people works on Mac (why… ) or Linux (why… ) while I’m definitely a Windows user due of numerous reasons I’m not going elaborate on in this article. Honestly I’m still startled, since I was never in an environment where more than 10% of developers used anything else than Windows on their work stations (I’m not talking servers), and I was in quite a few environments. Anyway, unfortunately, OS agnosticism is a distant value to some people, so I was often finding myself in a situation where I need to either convert stuff to be OS independent or to run on Windows. At some point I grew tired of that and looked for a ways to run Linux shell scripts on my machine.

penguin_by_forrestimel-d5htxg3.png

There are quite a few, and one of them will be our topic today. Windows Subsystem for Linux, also known as WSL, Bash on Ubuntu on Windows, or just Bash on Windows gives us the Ubuntu shell build into Windows 10. You can run Linux commands, download and install programs and access files on Windows partitions. It’s still an experimental feature, but works very well for my needs.

There is a Penguin on my Window!

It’s not a virtual machine, it’s not a Docker container, It’s not a library nor an emulator. It’s a new kernel layer, more or less, based on Microsoft’s Astoria Project that was meant for Read the rest of this entry »

 
Leave a comment

Posted by on May 11, 2017 in Misc, Technology

 

Tags: , , , ,

Amazon Compute: To serve or not to serve?

Episode 68

This is the fifth article in the Amazon Web Services Series so far (or sixth, if you consider the cloud computing intro a part of it). Within three weeks, we went through a list of all currently available AWS services and then, in the previous article, we focused on storage category: S3, Glacier, EFS and EBS. Today we are going to dive into the compute category, particularly EC2 and Lambda services.

cloud_station__by_shelest-d4q3s33.jpg

EC2 and Lambda represents two main computing models we can consider when hosting any application in AWS. We can have a server – a classic virtual machine, either with or without containers, or we can bypass all that and just run a piece of code as a function. Let’s look at both solutions and compare.

Elastic Compute Cloud

EC2 was introduced by AWS in 2006, and in 2010 the entire Amazon retail business switched to it. In essence, EC2 service is about providing virtual machines, or computing instances. Instead of buying physical servers and taking care of them, we can just buy time of the machine, get more when our needs grow and discard if they shrink as with everything in the cloud. Instances come in many different Read the rest of this entry »

 
3 Comments

Posted by on May 4, 2017 in AWS, Cloud, Technology

 

Tags: , , , , , ,

Amazon Storage Services: S3 and beyond

Episode 67

April is definitely the AWS month in here. We started in episode 64 with an introduction, and an overview of first 3 service groups, then in the two following episodes we went through next 15 groups at a lightning fast pace for a total of 80 individual services. Oh my, that was a lot of links, and I bet, something new appeared meanwhile.

0bb3efcef86547a6dee64bf8db625f01.jpg

Today we are going to expand a bit upon the storage category, most importantly: S3, Glacier, EFS and EBS. We will talk about what those are exactly, what are the options, use cases and we will present some tips. I actually missed EBS from the list in the first article, since it does not appear under storage category in the AWS console, it is however present there on the webpage. However, let’s start with the most commonly known service, the S3.

Simple Storage Service

S3 is one of the oldest publicly available AWS services, and was launched in 2006. It’s an object-based storage for files up to 5TB in size. In order to upload one, we have to create a bucket first. Buckets act as Read the rest of this entry »

 
1 Comment

Posted by on April 26, 2017 in AWS, Cloud, Technology

 

Tags: , , , , , ,

Amazon Web Services Zoo

Episode 66

Two weeks ago we started our small AWS adventure with an introduction. Aside from basics we took a look at Compute, Storage and Networking. Week ago we went through Security, Databases, Migration, Developer and management tools and Messaging. Let’s continue with the rest of the list.

jungle-mule.jpg

Artificial Intelligence category is where things are starting to get interesting. Those services are based on machine learning technology that has access to massive (and I mean massive) amount of data belonging to AWS users. Yes, AWS AI pokes into your data. No privacy, sorry. Read the rest of this entry »

 
Leave a comment

Posted by on April 20, 2017 in AWS, Cloud, Technology

 

Tags: ,

Amazon Web Services Jungle

Episode 65

In the previous episode, we introduced Amazon Web Services, talked a little about history, concepts, notions and briefly about competition.  We looked at three categories of services which are the basic building blocks of software systems, namely Compute, Storage and Network. Today we will continue the walk through the AWS jungle.

b4f3d4e2d87035718e79599742941f4c

Categories and services are changing rapidly. When I started the previous article few weeks ago, there were 17 categories, now there is one more. Let’s see what’s in there.

Security, Identity and Compliance should be considered one of core aspects of any application environment, even if the application itself has no business notion of identified users. Read the rest of this entry »

 
2 Comments

Posted by on April 13, 2017 in AWS, Cloud, Technology

 

Tags: , , ,

Amazon Web Services Intro

Episode 64

Seven weeks ago we had an introduction to cloud computing, so now, having some background, we can take a better look at one particular cloud provider. We will talk about why Amazon Web Services is currently so hot topic, a bit of history, some basic terminology, architecture, most important services and alternatives to AWS.

fc31f0ca99184fe4809c9562015e61fa.jpg

AWS is currently the most popular, largest and fastest growing cloud platform in the world. Since first quarter of 2016, Amazon is making more money on cloud services than on selling books. Check out this article if you want to know more about the numbers. Amount of organizations migrating their stuff to AWS and starting new projects there is growing so fast, that familiarity with this platform became very valuable skill on the IT market, and it’s a good investment for any software developer.

Rise of Amazon

History of AWS starts somewhere in the beginning of 21st century, with the realization, that the company need a clean, internal infrastructure as a service thing to operate more efficiently. Read the rest of this entry »

 
3 Comments

Posted by on April 6, 2017 in AWS, Cloud, Technology

 

Tags: , , , , ,

Spring Security Basics

Episode 63

Welcome to the next installment of the series about Spring-based web applications development. So far we have covered Angular JS fronted, Spring core, webservices, database access and unit tests. Today we are going to take care of our application security – basic authentication and authorization, users, roles, custom login form and method level security.

70d42d4aaa6aede4b84bde43e3dead63

Spring Security project started as Acegi security around 2004 and initially focused on custom authorization, using standard Java Enterprise Edition container managed authentication. Version 1.0.0 became official Spring sub-project in 2006 and year later was re-branded to Spring Security. Say hello to Alice, Bob and Eve.

Foundations

We should briefly clarify some security terminology, which might sometimes by confusing:

Identification is stating a subject identity, like user name, without yet providing any proof for that (Hi, I’m Alice). Read the rest of this entry »

 
Leave a comment

Posted by on March 30, 2017 in Spring, Technology

 

Tags: , , ,

Unit Testing Basics

Episode 62

Previous episode was about talking to database in Spring. Today we will continue exploring basics of building web applications, and talk about unit testing. This time, however, we are going to leave Spring alone for a moment and focus on plain unit tests using JUnit, Mockito and DataProvider.

4d821599ecc582a1ab14fe16e0594e27

As usual, all the code presented in this article is available on my GitHub in the same project as before. This tag corresponds to project state at the time of writing this article. Let’s start with some basic ideas, and why write unit tests in the first place.

Client does not pay for unit tests

Well, I have heard that once. I was in a project where code coverage was around 2%, and when I was actively trying to improve upon that, manager took me to a one on one discussion to a small room. Starting to cover old projects with tests is often difficult, but in the end the business pays much more for not having decent automatic test harness than saving on skipping it and only producing features. It simply pays back in the long run. There are less unnoticed bugs, design is cleaner, the amount of tedious repetitive work is dramatically reduced. Often it is much faster to Read the rest of this entry »

 
3 Comments

Posted by on March 23, 2017 in Clean Code, Spring, Technology

 

Tags: , , ,