#minilesson The difference between applications and infrastructure;

Infrastructure is the operating system that applications live on. Think windows, linux, containers, and so much more. Sometimes hardware is included in this category (depending on who you talk to).
Infrastructure is necessary to run an application. Operating systems are also all standardized, not unique in nature. If we’re both running SQL server 2012 R2, we both have the same options for patches, configuration, etc. Operating systems are software that speak to hardware.
Applications are software that speak to operating systems, databases, APIs and anything else you can think of. There are custom applications (what I’m almost always talking about, software developed for a specific business need or as a product to sell), COTS…
(configurable off the shelf, like sharepoint or confluence, administered by a person or team, installed locally on a server) and regular old software that you install or access via a web browser that you use as-is (no administration required/simpler).
More newly there is SaaS, software as a service, which is basically a great big COTS product, hosted by someone else ( no need for you to patch or otherwise take care of it).
Infrastructure usually needs to be patched, updated/upgraded, and hardened (secure configuration choices). Patches and upgrades arrive in a prepackaged format, but sometimes these updates can break the applications living on that infrastructure.
Testing and sometimes downtime is required. This is why so many people say ‘patching is hard’, it is difficult to plan downtime and to ensure everything will go smoothly.
Software, on the other hand, includes many different components that will be provided prepackaged (such as a new version of a library or a framework) but when you update them sometimes other libraries or framework parts break and/or the custom code that your team wrote…
Meaning you may need to recode things, or update a whole bunch of things at the same time. I’ve heard developers refer to this as “dependency hell”. I can’t say that I disagree.
If you have just released something brand new, it’s super easy to keep it up to date. Tiny changes are less risk (which is why people live devops over waterfall), making it easier to maintain. But because it’s sparkling and new…
Usually management says “hey, please build this new feature, and update that library later”. This is how technical debt accrues. It’s not operational staff or software developers saying ”forget that, I don’t care about this “, it’s almost always conflicting priorities.
This is part of why I believe devops is so good for security: finally we can patch, update and test EASILY for the first time.

If you’re process for patching or releasing software is total hell, THAT is your security problem. Not some zero day that’s in the news this week.
Questions? 😁 Thanks for attending my mini lesson.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Tanya Janca

Tanya Janca Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @shehackspurple

24 Nov
My significant other doesn’t work in IT, but we often discuss our days. Today I explained the difference between refactoring an application and rewriting one. Refactoring means the app works, but it’s not great. There are issues, probably technical debt, and refactoring…
Will improve the app, make it easier to maintain and extend its life. It’s still the original app, looks the same to users, but it’s probably faster and more stable.

Rewriting the app means completely replacing it. Writing a brand new app, from scratch, with more modern tech…
You may rewrite an application because it’s built using an extremely old framework or depends unacceptable old infrastructure. You can’t update it, it’s just too far gone.
Read 4 tweets
12 May
When Google bought fitbit all they bought was the data. Not the dumb bracelet. Mark my words.

They never responded to me about sending me an email AFTER the merger, when I had explicitly requested all of my data be removed BEFORE the merger. The "investigation" went nowhere.
Who here gets the "GPS nag screen"? If you have GPS tracking disabled it asks every time you use it. Also, if you reinstall or update it... It turns it back on!

I liked my dumb bracelet. :-\
As a refresher: Fitbit could track your menstruation, if you're trying to get pregnant, if you've had an abortion, when you've had sex, your physical location and much, much more.
Read 5 tweets
29 Jun 20
Story: Years ago I was in a dev meeting and found out one of your devs had been editing code live on the server for years, and that the code in our repo was completely out of date. There was no backup of this prod app. I lost my shit.

The dev told me that

1/?
The dev told me "It's faster to do it this way. I did nothing wrong."

I explained that having no backup meant we could lose the entire app. He said he took backups of the server, so that wouldn't happen. He asked why he had to "waste time" using a repo.

2/?
I responded "BECAUSE IT'S INDUSTRY BEST PRACTICE!!!!!" (yes, I raised my voice)

My manager told us all to shut up and then told me I had to prove why we needed to use source control. I felt like I was in the twilight zone!

I FUMED at my desk.

3/?
Read 5 tweets
28 Jun 20
Story:

I used to work for the federal government in Canada, and so did my mom, but different departments. One single time, I got to work with her, and do an interdepartmental project. I WAS SO EXCITED.

1/?
I worked at the Department of Justice (DOJ), and we wanted to take part of the tax refund from parents who owed a significant amount of child support, and then send it to the owed parent. My mom worked at the Canada Revenue Agency (CRA).

2/?
She was the project manager at CRA in charge of sending us just enough info for us to get the job done.

I, of course, was the nerd designing and coding it all from the DOJ end.

I cannot tell you how exciting it was to go to a meeting and my MOM was there!

3/?
Read 7 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Thank you for your support!

Follow Us on Twitter!

:(