Docker for Windows in 15 Minutes

Docker is an exciting new feature included in the latest versions of the Windows Server operating systems.   Yes, Docker containers are not just for Linux.  In 15 minutes, you can create your first Docker container in Windows.

A production version of Docker in Windows is not available.  For that reason, there is a lot of misinformation online – especially getting started. Now you will have clear and concise steps.

This is written for everyone – not just developers.

The starting point is a Windows 2016 Server TP 5 virtual machine available with Microsoft Azure.  Yes, you need to have a Microsoft Account for this exercise.

The goal of this exercise is to create the most basic of Docker containers in Windows.  It won’t do much but guaranteed to work. During the process, you will learn a lot.

Here is the starting line. Go to the Microsoft Azure Portal. Log in.

windows docker

Stopwatch ready? Ready.  Set.  Go.

Select the +New button at the top-left corner.  Then search for the word “Container”.  From the resulting list, locate and select Windows Server 2016 with Container Tech Preview 5.  In the right pane, press the Create button.

docker for windows

You can now create a VM in 4 steps.  Complete the Basic information in Step 1.  See below and substitute your personal information, such as user name and password.

docker

The next step is Choose a size.  Select option 2.   Notice the price – over $200 per month!  Remember to kill the VM after this exercise to avoid most of this cost.  The next step is Storage.  Accept defaults.  The final step is Summary.  Review and then select the OK button.  Azure will now create the VM.  This will take 5 minutes.  1/3 of our 15 minutes!

Choose the Virtual Machines menu item from the left pane.  Select the just created VM from the list.  Choose Connect to run the VM within a Remote Desktop. You will be prompted to save a RDP file.  Save and open the file in Remote Desktop Connection (mstsc).  From the security window, log into the virtual machine.  Use the credential provided when setting up the VM.

Once the VM has started, open a command window.  Enter Docker version command from the command prompt.

windows

Version information on Docker will be displayed.  Most important, it verifies Docker is working!

Now enter the Docker images command.  It lists your images includes WindowsServerCore, which is an operating system image.  Let us create a container from this image.  If terms, such as image or container are foreign, there are many introductions to Docker online.

Create a sub-directory called Pinger – “md Pinger”.   A docker batch file is called Dockerfile (no extension), where you list Docker commands to execute.  In the Pinger directory, create the DockerFile text file “notepad Dockerfile.”.  Enter the following information into the file.

FROM microsoft/windowsservercore

CMD ping 8.8.8.8

Close and save the file.  Build the Dockerfile and create an image with this command.  Note:the Docker Build command implicitly uses the Dockerfile file.

docker build -t app:1 c:\pinger

List the available images – docker images.  You should see your new image “app”.

docker for windows

Create and run a container from this image.  Enter this command

docker run –rm app:1

You should see pinging J.  Congratulations on creating and running your first container in 15 minutes!


 

To learn more about Docker contact Learn It. Your home of everything Docker.

Dalit Lewis –  Dalit.Lewis@learnit.com

Matt Murawski –  Matt.Murawski@learnit.com

Note.  Remember to delete the VM in Azure after this exercise to avoid unnecessary costs.

The Data Breach – How did it happen?

data breach how to prevent

  • I lost my laptop and it had a database backup on it.
  • My finance software used an ODBC connection and it had the password hard coded.
  • I was logging into a game on my phone and by accident, I typed in my domain password. “I only did it once”.
  • We gave the new contract DBA access to the databases so he\she could support the data warehouse.
  • Of course we can access the database remotely from any computer.

… and so many more.

Data security, we hear the headlines almost every day. Yesterday it was a bank, today it was a retail franchise and tomorrow who knows. Security experts have overwhelmingly agreed that the least effective approach to data security is “penetrate and patch”. It is far more effective to “bake” security into your database solution from its inception and throughout its life cycle. But in many cases, doing that is much more difficult than one can imagine. Firstly, most security experts are experts in securing networks, routers and operating systems, not a SQL server installation or application back-end. That, in many cases, is left up to the application manufacturer, the in-house DBA’s or outsourced contractors. Secondly, many DBA don’t have the time to drop everything and implement enhanced security measures that will only cause them more headaches and increase their overhead. Finally, many are happy to do only what is necessary to pass a data audit, knowing that most are paper audits and not actual “show me the encrypted data packet” type audit that will catch configuration issues that would allow an insider to steal your most prized assets.

Database communication encryption at rest and in play

Years ago, it was a common practice to only encrypt data while it was being used to complete a secure transaction. An example would be to only encrypt the data while specifically transmitting the credit card information. Once that was complete, the channel would again be unencrypted. Almost always, the reason given was that there was too much overhead on the server to keep everything encrypted or that it was just too cumbersome or complex. Often, the transaction would be segregated and placed into a shopping cart and only encrypted while in the shopping cart and nowhere else. Luckily, those days are over and whether it’s a credit card transaction or client computers working within a finance department, all data communication (from client to database and vice versa) should be encrypted. But data in play is not the only place where an insider can gain access to your data and database. Your databases should also be secure at rest. We can no longer rely on domain security to protect our data or databases. To that end, Microsoft has given us a fully integrated toolbox of data security features that include (but are definitely not limited to) the following:

  • Always Encrypted enables encryption inside client applications without revealing encryption keys to SQL Server. It allows changes to encrypted data without the need to decrypt it first.
  • Transparent Data Encryption (TDE) protects data at rest by encrypting all the user data in data files. TDE prevents users from attaching or restoring a database to another server as a way to access the data.
  • Support for Transport Layer Security (TLS), which has now been updated, protects data in transit and offers protection from such tactics as man-in-the-middle attacks.
  • Dynamic Data Masking (DDM) and Row-Level Security (RLS) help developers build applications that require restricted direct access to certain data as a means of preventing users from seeing specific information.

Data security has unquestionably become a major priority for Microsoft. A recent news story reported that the company “is spending $1 billion a year to make Microsoft products more secure.” The Microsoft data platform, including SQL Server and Azure SQL Database, is at the top of the list of products investing in security.

So how do you start down the path to a more secure data and database environment?

It’s easy, if you use Microsoft SQL Server you’re on the right track. With SQL server, Microsoft has already supplied you with the tools to a more secure data environment. In many cases, you just need to learn how to use and implement them.

Focused hands-on training that makes a difference

Our technical course “Implementing In-depth Data Security and Auditing for Microsoft SQL Server” is an intense database security training workshop/seminar essential for DBAs, developers and auditors who need to learn how to secure their databases, their data and harden their overall SQL Server installation. In addition to teaching the hands-on skills needed to secure your data and data access, this course digs deep into sound practices that apply to the entire process of security within your data infrastructure. Perhaps just as significantly, you will learn how to test audit your data to ensure what you have configured actually works.

Come join us for three days of Hands-on Microsoft SQL Server Security Training. Contact your LearnIT sales rep for more information, class dates and enrolment. A full syllabus can be found on the LearnIT website.

Millennials and Training: The Winning Combination

How to Ensure Effective Recruitment and Retention of Millennials

Millennials: Are you still wondering what the big deal is about this generation, and why all the hype? Or are you past that but scrambling to find ways to recruit, satisfy, and retain these young workers?

millennial team

Whether or not you want to admit it, millennials are shaping future strategies for companies and recruiters. The numbers are staggering:

  • There are currently 40 million millennials in the workplace.
  • By 2025, 3 out of 4 workers worldwide will be millennials (Schawbel, 2012).

Ensuring that you attract and retain millennials should be a high priority as you develop your workforce. But many companies find it hard to get millennials to stay longer than a year and are spending a lot on rehiring. To get a sense of how tricky it can be to keep millennials on board, consider these statistics:

  • The average tenure for millennials is only two years. (Compare this with five years for Gen Xers and seven years for Baby Boomers; PRWeb, 2012).
  • It costs an average of $24,000 to replace a millennial employee (Experience.com, 2008).
  • Millennials are the least engaged cohort in the workplace, with only 28.9 percent of them feeling engaged at work (Adkins, 2015).
The bottom line is this: effectively being able to recruit and retain millennials will be vital to the success of every company in the next decade.

Why Is Training Important for Millennials?

The millennial generation, now aged 18–33, has grown up in a world where they can access whatever information they want, whenever and wherever they want. They’re on track to be the most educated generation in American history, and 40 percent of them are still in school (Yingling, 2011; Millennials: A Portrait of Generation Next, 2010). As a result, education and information availability are priorities for millennials even when they enter the workforce, and they want access to on-the-job training to increase their productivity and success.

Corporate culture has been slow to meet these needs. A survey of 1,200 employed millennials nationwide found that they were not receiving the breadth of corporate training they sought (Habib, 2015). Worse, many respondents named “lack of company support for training and development” as the most surprising aspect of work in the “real world.” Only 20 percent said their employers provided the training opportunities they needed to keep up their job skills (Reyes, Creating Training for Millennials that Works, 2015).

An effective training plan is a key to ensuring that millennials are integrated into your company, prepared and successful in their jobs, and willing to stay longer. Below are some tips for ensuring your training programs resonate with your millennial staff.

How to Redefine Your Training Strategy

Ensure flexible, personalized training

Because of the values many millennials hold, it is vital that your training can be customized and personalized to your staff’s diverse needs. Training should empower participants and help them learn what they need, when they need it.

What are the values of millennials? There are lots, but they almost always  include the following:

training millennials

Any training your company provides should have these values at its core. For example, instead of telling participants how to carry out a task or solve a problem, provide them with the tools, resources, and capabilities to figure it out on their own. Let students customize their online learning process by giving them options for what to learn and how to learn it. Personalization can be achieved by customizing training’s to your company’s culture, work environment, and procedures. This will keep participants engaged and focused on the most important information and help them quickly apply their new knowledge to their day-to-day responsibilities.

Helping your staff members control their own professional development will ensure greater engagement, excitement to learn, and incorporation and retention of knowledge (Casey, 2016).

Use technology

The one book that most millennials read is Facebook. It’s important for your company training to be aligned with the digital age. Nowadays, training is about more than just handing out textbooks and manuals; it’s about engaging your audience through interactive and digital methods.

Millennials expect to learn in the most efficient way possible, through media like Wikipedia, Google Docs, Skype for Business, social networks, chat windows, blogs, YouTube videos, virtual reality, recorded lectures, interactive apps, and customizable online training (GoToTraining, 2016). Consider implementing short videos, remote training sessions, and learning through apps and mobile devices. Let your employees exchange ideas, connect remotely, and collaborate by setting up company pages through Wiki, Google, Tumblr, Facebook, LinkedIn, or Twitter.

E-Learning can also make your company more adaptable to change. It’s easy to customize so you can keep pace with the development of technology, work procedures, and your own staff. E‑learning is changeable in the same way millennials are, making it a perfect fit (Payne, 2015).

Keep it to the point and organized

To keep up people’s interest in the material, create short, highly focused sessions. Training should be based on sound research, facts, and evidence, and provide interesting soundbites and quick blips of information. Prioritize quality of information over format (Kiisel, 2012).

Secondly, think about how you organize the material. In each module, make sure you say why the participants need to learn something and how it is relevant to their jobs. Then move on to the details: what they are going to do and how they will implement the learning (Reyes, Create Learning Content that Inspires Action, 2014). This will help participants stay focused, attentive, and engaged in the learning process.

Keep it interactive

Many millennials enjoy working on teams and think a team can accomplish more than a single person. Take advantage of this by running team exercises, breakout groups, ice-breakers, and brainstorming activities in your training sessions (Heathfield, How to Build a Successful Work Team, 2016).

Millennials want to learn quickly and on the spot so they can get on with their work and their lives. So make sure your videos don’t drag (GoToTraining, 2016). Create quick, engaging videos that get to the point and are filled with valuable information.

Other ideas for training are case studies, realistic scenarios or role plays, games and competitions, and 3D simulations. These can make training programs more entertaining and effective (Sappington). Drawing your audience in with humor and emotion is another critical strategy for increasing engagement.

Set goals, objectives, and expectations

Many studies have shown that millennials want to know how their work contributes to larger tasks and addresses broader societal concerns. For example, the Center for Generational Kinetics found that 60 percent of millennials are interested in finding a sense of purpose when choosing an employer (The Center for Generational Kinetics, 2015).

When your staff are fully included and can take ownership of what they’re doing, their contributions will be even greater. By giving the participants the power, up front, to know what they will be learning and how they can make the best of the experience, you create a path of clear milestones toward better understanding and increased engagement (Casey, 2016; Kiisel 2012).

Here are some tips for grabbing your audience’s attention and getting them to buy into the training content:

  • Clearly answer the question, “What’s in it for me?” Why is the training important? How will it enhance participants’ ability to contribute to their teams and the company?
  • What are the goals of the training and the expectations for staff participants?
  • What learning objectives do you want participants to master?
  • Give a short description of each training module to provide an overview of its key outcomes and takeaways.
  • Include an action plan at the end of each module to help participants connect their learning to actions in their day-to-day tasks.

By using these techniques in your training, you can show participants clearly how they can make an impact and what they are expected to do, ultimately increasing staff motivation and engagement.

Follow up and give feedback

Millennials are less focused on promotion through new titles than previous generations, and are more concerned with steady career development. They want to feel confident and able to execute as they progress. Make sure that your trainings map out the path for employees to progress to the next level. For example, tell participants which skills and behaviors the training offers that will set them on the fast track to career success.

Ensure that follow-up is a two-way street. Ask for employees’ feedback on how the training went, what they liked, and what they would improve. Find out what their plan of action and next steps will be for further study. Make sure they have avenues to engage with mentors when they face roadblocks to their learning plans. A collaborative feedback system lets millennials feel that their voices are being heard and their plan of action has been recognized by higher-ups, and they will look forward to reaching their milestones as they progress.

Always remember to recognize and reward staff as they meet expectations and implement learnings into their daily work tasks. Providing valuable feedback, particularly for millennials, will let them know they are on the right track and ensure they feel included, respected and seen within their company.

 Conclusion

To satisfy and retain the fastest-growing generation in the workplace, remember that the things millennials look for and enjoy in training’s will be beneficial to all employees, no matter what their generation. By ensuring you offer flexible, empowering, collaborative, tech-savvy training options, you keep your company ahead of the curve, adaptable to change, and able to effectively reach employees with diverse needs.

These training steps will put your company on a path to creating a culture of transformational change—empowering your workforce to create the professional development path that works for them and ensures success every step of the way. This training model will help staff members feel supported and appreciated as they take the initiative to change their own behavior, boost their efficiency, and become more effective at their jobs.

By strengthening your training program, you ensure a happier, more productive millennial workforce, as well as success for all staff members regardless of generation.

Did you like the article? Save 35% off on our Managing Millennials Professional Development  class on 9/26, by sharing this article.

Three Brilliantly Simple Ways To Use Conditional Formatting in Outlook

The average worker sends and receives 122 emails every day. Of those, you’re tasked with managing that fire hose while how to use conditional formattingsimultaneously identifying “actionable” emails in a timely manner. Put Conditional Formatting to work to start visually identifying the most important ones and put a serious dent in your overflowing inbox.*

To create a conditional formatting rule in Outlook. You’ll need to navigate to the View tab. From there, click the View Options button on the far left side.

conditional formatting

Click the Conditional Formatting button found towards the bottom.

how to use conditional formatting

Once you’re here, click Add Rule and name it (remember to be descriptive in case you want to edit it later!)

The Font button will allow you to customize the text formatting once it meets your conditions. The Condition button is where you’ll set your conditions to trigger the text formatting you set above.

how to use conditional formatting

That’s it! Setting it all up is easy, the hard part is getting creative and figuring out the best way to put this powerful new tool to work. Below are three simple but clever suggestions to get you started.

The “Vanity Rule”

Stuck in a Reply All hurricane? Find the emails with your name in the subject line or body text.

vanity rule

You Talkin’ To Me?

Getting CC’d in a lot of emails? Find the emails that are being sent to just *you*

getting ccd on emails

O Captain! My Captain!

When the boss comes knocking, it likely flies to the top of the To-Do List. Never miss another “quick question”.

o captain

There are so many creative ways to put Conditional Formatting to work. If the above feels too simple, explore the More Choices and Advanced tabs to find even more criteria for defining incoming emails. I’m sure I’ll be back with more advanced recommendations in the coming weeks. Happy Formatting!

*Outlook for Windows only at this time unfortunately. Sorry Mac users!

SharePoint Just Radically Changed How You Connect to It (Hint: It’s got an app now)

Well it finally happened, SharePoint has a presence in the iOS App Store. It’s the first step in a huge series of changes Microsoft announced back in May to bring their team collaboration and content management software in line with the CEO Satya Nadella’s mobile and cloud first initiatives.

In years past if you wanted to easily access a company’s SharePoint environment, it had to be done from a desktop or laptop machine. While Microsoft made some major inroads regarding mobile access back in SharePoint 2013, users still struggled. This newly released iOS app aims to fix that by lowering the barrier to entry (both Android and Windows Phone versions of the app have already announced and are expected before the end of 2016).

 Download and Setup

The first time you open the app you’ll be presented with a screen asking you to sign in to your SharePoint environment, SharePoint Online (Microsoft managed or Hybrid Environment) or SharePoint Server (On Premises Server Environment). If you’re not sure which, a good trick is to look to the URL. If your organizations SharePoint site doesn’t have a Top Level Domain (like .com or .org) then you’re probably going to sign in with SharePoint server.

*Side Note: Please remember that if you had to be connected to the network to access SharePoint previously, that rule won’t have changed, so connect to Wi-Fi!

sharepoint

After signing in with your credentials you’re presented with a list of any sites you’ve interacted recently with as well as being provided a list of sites you’ve chosen to Follow.

What Is and Isn’t Here (Yet)

For the initial release the experience is relatively limited. Don’t expect to be able to do everything through the app that you can do on the desktop just yet. While you’ll be able to interact with List and Library content, the Page viewing experience leaves a lot to be desired. In fact it seems that a large majority of the experience has yet to be incorporated natively into the app.

sharepoint training

 OneDrive and SharePoint Integration

One of the biggest perks of this release however is the shared experience between OneDrive and SharePoint Libraries. Instead of trying to reinvent the wheel and create a new mobile experience just for SharePoint file management, Microsoft has chosen to familiarize the experience with OneDrive’s already established interface. In fact, that unification is happening on both sides of the fence, as OneDrive for iOS recently updated to include a new Navigation tab called “Sites”, which provides growing access to files stored in SharePoint.

sharepoint sites

While it’s still early days for SharePoint as a native app, it has become clear that Microsoft is not backing down in response to increasing competition from Google, Dropbox, and other collaboration and content management focused organizations. Only time will tell if this app is the mobile overhaul organizations have been asking for.

SharePoint Mobile is available for iOS (https://itunes.apple.com/us/app/microsoft-sharepoint/id1091505266)

Tips and Tricks from Technical, Desktop and Professional Development Pros