Could the Equifax Hack Have Been Prevented by a Microservices Architecture?

David Pitt Architecture, Articles, DevOps, Java, Microservices, Opinion, Security Leave a Comment

When I heard that the Struts Open Source framework played a role in the recent Equifax hack, I wanted to do some research to understand how it happened. Struts is a commonly-used Java framework that I have applied in the past. And Iโ€™m not alone in that: it is reported that in 65% of Fortune 500 companies currently implement Struts in some way.

So, I did a little digging and performed a thought experiment asking myself the following question: โ€œIf Equifax had a pure-play Microservices Architecture in place, would it have solved the problem?โ€

Using Docker + AWS to Build, Deploy and Scale your App

Brandon Klimek Articles, AWS, Cloud, DevOps, Docker, Python, Spring, Spring Boot, Tutorial 8 Comments

I recently worked to develop a software platform that relied on Spring Boot and Docker to prop up an API. Being the only developer on the project, I needed to find a way to quickly and efficiently deploy new releases. However, I found many solutions overwhelming to set up.

That was until I discovered AWS has tools that allow any developer to quickly build and deploy their application.

In this 30 minute tutorial, you will discover how to utilize the following technologies:
– AWS CodeCommit – source control (git)
– AWS Code Build – source code compiler, rest runner
– AWS Codepipeline – builds, tests, and deploys code every time the repo changes
-AWS Elastic Beanstalk – service to manage EC2 instances handling deployments, provisioning, load balancing, and health monitoring
-Docker + Spring Boot – Our containerized Spring Boot application for the demo

Once finished, you will have a Docker application running that automatically builds your software on commit, and deploys it to the Elastic beanstalk sitting behind a load balancer for scalability. This continuous integration pipeline will allow you to worry less about your deployments and get back to focusing on feature development within your application.

Modernization Lessons: FTP & the Mainframe

Clayton Neff Articles, COBOL, Consulting, Development Technologies & Tools, Java, Modernization, Programming, Spring Batch 1 Comment

One of my most recent projects involved helping a client move many decades of code from a mainframe environment to a distributed Java web environment. The client had engaged another company to actually transform the mainframe code to Java, and our team was tasked with making it all actually work.

One of the major areas we had to deal with was the transition of all of the batch processes. Of course, Spring Batch came to our rescue for most of the work, and was an easy choice as we were already using Spring Boot to wrapper the converted applications.

The most challenging part of the entire project was that the client did not want to move everything at once in a Big Bang, but rather a few programs as a time. This meant that some programs would be running in the Java environment while others remained on the mainframe.

In this blog, I discuss three data challenges we encountered in the transition of an enterprise mainframe to Java web application with Spring Batch, how we overcame them, and tips to keep in mind going forward when in similar migration situations.

Default image for blog posts - purely decorative

Programming Ponderings

Ryan LaRue Articles, Consulting, Opinion, Programming 2 Comments

Editor’s Note: After nearly 20 years in software development, Ryan LaRue introduces three lessons he has learned in his programming career with takeaways that apply to all levels of experience.

Open Door Policy
One of the reasons I’ve always loved Software Development is its open door policy to new entrants. No MBA, PhD or, heck, degree required.

If you’re smart, like to solve problems, and get things done, then you will be welcomed with open arms.

At a recent client, one of the company’s permanent developers was, in her near-term past, a police officer. At some point, she decided she didn’t want that lifestyle anymore and worked her way into a nice position with a company that valued her work ethic and programming skills….

A Conversation About Conversations

David Pitt Articles, Conversational Apps, Development Technologies & Tools, JavaScript, Keyhole Creations, Mobile, Node.js, React Leave a Comment

We created a platform that supports developing a โ€œconversationalโ€ type application through SMS. The user experience between a user and an SMS application can be thought of as a conversation. A user texts a question or topic, and a reply is returned, then another question and reply is performed until a desired result is accomplished.

Now, this is not a universal user experience, but for many use cases it can provide an easy to deliver users functionality quickly and conveniently. There is no need to install or download apps, or pop open a browser and type in a URL; just have a conversation through your texting app.

In this blog: Why conversational applications are handy, examples of conversational applications we have created, and a walkthrough of the application architecture used to develop those SMS applications. Includes how to make texting a richer experience, state, and session handling insights.