Author Archives: reilingh

Unknown's avatar

About reilingh

Albert Reilingh is a Project Manager in Information Technology.

Agile/Scrum for the Cloud

I have submitted my outline to present at the Atlanta Cloud Conference 2023 on March 25th 2023.

https://atlcloudconf.com/

What is Agile Scrum?

  • Basics – Product Backlog, Sprint Planning, Daily Scrum, Sprint Review, Sprint Retrospective
  • Artifacts – Kanban/Scrum Boards, Roadmaps, Burndown charts
  • Tools – SharePoint, Atlassian/JIRA, Trello, Slack

Can you use Agile/Scrum for Cloud Development?

  • Infrastructure vs. new development
  • Self-organizing teams with autonomy and control over work
  • Engage stakeholders
  • Small and iterative increments reduces risk
  • Focus on people
  • Leadership

How to setup your Cloud project using Agile/Scrum?

  • Read the Scrum Guide
  • Develop and include training
  • Use the principles and practices from the start whenever possible, try not to learn along the way
  • Block and tackle – let technical people focus on their work

Challenges of a Cloud Project using Scrum?

  • Integration of DevSecOps in team ceremonies
  • Integration of software development best practices before starting (version/source control, development and test environments)
  • Working as a team instead of a virtuoso
  • Contention of O&M with development
  • Choosing the right development model – sometimes waterfall is best
  • Definition of Done – delivering an increment of value with every sprint (cycle of never done)
  • Improving estimates
  • Proper documentation (Architecture and Design) – Agile is right level of documentation
  • Organizing work and information – establish what goes where
  • The synchronizing between what is worked and what is planned (the daily scrum, roadmap)
  • The never-ending, growing backlog
  • Sustainment – training, support, communication
  • Complex problems takes focus and concentration

Agile Scrum certifications and professional development

  • The Scrum Guide
  • Scrum.org (PSM-1) and Agile Alliance (CSM)
  • PMI – PMP and PMI Agile
  • Scaled Agile Framework (SAFe)
  • International Consortium Agille (ICAgile)
  • Other certifications

Learning while at the Gym

Podcasts are a great way to combine working out and keeping up with your learning goals.  In this post, I recommend some podcasts that you can use to expand your knowledge of IT, some world/current events and economics.

IT Podcasts

You could tune in to Microsoft’s Channel 9 podcasts and listen your whole workout and still at the end have 25 podcast backlog at the end of the week.  I know, I have tried.  The Channel 9 podcast can be overwhelming.

I used to listen to the Office 365 Developer Podcast.  I think the episodes now appear in the Channel 9 Podcast.

The PowerScripting podcast is a good show to get up to date on PowerShell.  They seem to be less frequent than every two weeks.  They usually have very smart technical guests and reference lots of material.

For SharePoint, I listen to Todd Klindt’s SharePoint and Cloud podcast.  It is 30 minutes every week and he is very disciplined maintaining that schedule  The 30 minutes discipline makes the program greatly improved from the 50 minutes and sometimes longer than hour rambling.

Economics

For economics, I listen to several variations of the Marketplace podcast, Freakonomics and Planet Money also of NPR.  I have heard there is a couple of really good economics podcasts, but currently this is all I have time for.

Current/World Events

For current events, I listen to the John Batchelor Show.  I highly recommend his podcast.  He practices the long form and has great coverage from the Middle East, commercial space, awesome interviews with authors.  Global news Podcast by BBC, and Shields and Brooks from the PBS News Hour.  Council on Foreign Relations (CFR) has the World Next Week and Inside CFR Events, but I got overwhelmed from the latter and unsubscribed.

So, that is what I am listening to during my workouts.

Mirroring MS SQL Database in MS SQL Server 2008 R2

Basics and Background Information

  • Most important, mirrored databases are deprecated in later versions of MS SQL Server
  • Database must use full recovery model
  • You have to mirror the whole database, you cannot mirror partitions or tables or other objects, it must be the whole database It is all or nothing at database level
  • The mirrored server can only be used for mirroring. It cannot be used for reporting or data access other than as the mirror (it is kept is host stand-by mode)
  • Uses copy-on- write technology
  • After setup, the mirrored database will always be in a continuous “restring” mode (this is indications things are good!)
  • Witness server is optional, if it is not there the principal and mirror will decide failover. With witness server, a quorum is formed.
  • You can use either SQL Server Standard, Enterprise or Developer editions
  • Within SQL Server, grants must be given to the accounts that will be executing database mirroring
  • Microsoft uses endpoints, which are assigned to each database mirroring configuration
  • Requires service accounts or integrated domain level authentication
  • Requires ports 1440 and 1450 be open

Not allowed

 Can’t do mirrors on a partitioned database

 Can’t be applied to databases using simple recovery

 Can’t mirror a database to the same instance (source is the same as destination server)

 Can’s setup mirrors for SQLs internal database – tempdb, master, msdb, model

 Not supported on Express or Workgroup editions of SQL Server

 You cannot bring a principal server offline as you can in an unmirrored configuration

Roles in a mirror configuration

 Principal – the primary server where active transactions take place. After a failure, the mirror takes over role as principal.

 Mirror – it has transactions copied from the principal server and applied to mirror. It is in a constant recovery state.

 Witness – arbiter on which server is primary should the principal and mirror lose communication. It must have any version of SQL Server installed to act as mirror.

Operating modes

 Synchronous – committed transactions are committed on both partners in mirroring pair. High safety are synchronous operations.

 Asynchronous – transactions are committed without waiting for the mirror server to write the log to disk. This is high performance mode.

Failover

o One exception: You can use the mirror to create to snapshots

 Automatic – configuration requiring principal, mirror and witness. Synchronous operations are required. Role switching is done automatically. This is for high availability mode.

 Manual – no witness server and using synchronous operations. Role switching done manually;.

This is for high safety and no automatic failover. (No data loss)

 Forced – a mirror server can forced to take over when the principal server has failed. This may

lead to data loss because transactions are not synchronized.

Setting Up and Configuring

 Best practice is to use scripts that are repeatable and reduce errors

 Getting ready to mirror (checklist):

o Verify all server instances are on the same service pack level

 I would make sure the servers are as identical as possible (RAM, processor, hard

o Enough hard drive space on both servers with adequate opportunity for growth

o Register the server from SQL Server Management Studio (SSMS) (both principal and

mirror). This checks connectivity.

o Verify network connectivity.

o Verify the principal server database is in FULL RECOVERY model. (the error will state

this) drive, BIOS, OS version

Establish endpoints

-- Create endpoint for principal server

CREATE ENDPOINT [EndPoint Name]

State = STARTED

AS TCP (LISTENER_PORT = 1430, LISTENER_IP = ALL)

FOR DATA_MIRRORONG (ROLE = PARTNER, AUTHENTICATION =

WINDOWS NEGOTIATE, ENCRYPTIOON = REQUIRED ALGORITHM RC4)

Verify the endpoint is created (principal)

Select name, type_desc, port, ip_address from sys.tcp_endpoints;

SELECT db.name, m.mirroring_role_desc

FROM sys.database_mirroring m

JOIN sys.databases db

ON db.database_id = m.database_id

WHERE db.name = N’< database name >;’;

Select name, role_desc, state_desc from

sys.database_mirroring_endpoints;

Create endpoint for mirror server

-- create endpoint for mirror server

CREATE ENDPOINT [EndPoint Name]

STATE = STARTED

AS TCP (LISTENER_PORT = 1440, LISTENER_IP = ALL)

FOR DATA_MIRRORING (ROLE = PARTNER, AUTHENTICATION = WINDOWS

NEGOTIATE, ENCRYPTION = REQUIRED ALGORITHM RC4)

Create endpoint for WITNESS server

-- create endpoint for witness server

CREATE ENDPOINT [EndPoint Name]

STATE = STARTED

AS TCP (LISTENER_PORT = 1450, LISTENER_IP = ALL)

FOR DATA_MIRRORING (ROLE = WITNESS, AUTHENTICATION = WINDOWS

NEGOTIATE, ENCRYPTION = REQUIRED ALGORITHM RC4)

Grant permissions to the endpoints (you will need to run twice – connect from principal to mirror and mirror to principal. If there is a witness, you must run on witness as well.):

GRANT CONNECT ON ENDPOINT:: <EndPoint Name>; TO [<Account Name>;];

Creating database on the mirror server:

Make a complete backup on principal:

BACKUP DATABASE [Database Name]

TO DISK = N’<file name and location>.bak’

WITH FORMAT

GO

On the mirror server, map a drive to the backup location

-- use this restore database (with NoRecovery option)

RESTORE FILELISTONLY

FROM DISK = ‘<file name and location>.bak’

GO

RESTORE DATABASE <Database Name>

FROM DISK = ‘<file name and location>.bak’

WITH NORECOVERY,

MOVE ‘<database name>_Data’ TO ‘file path/file name.mdf’

MOVE ‘<database name>_Log’ TO ‘file path/file name.mdf’

GO

You should get a message that the restore was successful.

Backup and Restore Logs

On principal:

BACKUP LOG [database name]

DISK = N’\\path\filename.bak’

GO

Restore Log

RESTORE LOG [database name]

FROM DISK = N’\\path\filename.bak’

WITH FILE = 2, NORECOVERY

GO

If you set recovery after last transaction log, you are not mirroring, but recovering the database!

Synchronization

You must now apply the transaction log dump to the mirror database. This brings the database to a point of synchronization with the principal and leaves the mirror database in the Restoring state. At this point you can run through the mirroring wizard to start mirroring for high availability.

Testing Failover

From SSMS, navigate to the Database Properties  > Mirroring page.

Select Failover button.

You will be prompted to confirm. Select YES.

Check in SSMS that the ports it is listening on have changed 1440/1430.

ALTER DATABASE [Database Name] set partner FAILOVER;

Identifying the Other EndPoints for DB Mirroring

— From the Mirror Server Database: identify the principal server

endpoint –

ALTER DATABASE &lt;Database Name&gt;

SET PARTNER = ‘ TCP://<server address>:1430’

GO

— From the Principal Server Database: identify the mirror server

endpoint…

ALTER DATABASE <Database Name>

SET PARTNER = ‘ TCP://<server address>:1440’

GO

— From the Principal Server Database: identify the witness server

endpoint…

ALTER DATABASE <Database Name>

SET PARTNER = ‘ TCP://<server address>::1450’

GO

-- To drop and existing endpoint

DROP ENDPOINT <endpoint name>;

 

-- to ALTER an existing endpoint

ALTER ENDPOINT <endpoint name>

STATE = STARTED

AS TCP( LISTENER_PORT = 1435 )

FOR DATABASE_MIRRORING (ROLE = PARTNER)

References

https://msdn.microsoft.com/en-us/library/ms189852.aspx

Prerequisites and Recommendations

https://msdn.microsoft.com/en-us/library/ms366349.aspx

SharePoint Talking Points

The purpose of this write-up was to provide an overview for my management.

Top Questions/Statements

  1. Question:  All documents in file shares should be moved to SharePoint.

Answer:  No, SharePoint is not a file share.  Storage in SharePoint is much more costly than file share storage.  Storing all documents in SharePoint will make it much harder to use search to find relevant content.  The content in SharePoint should be for collaboration and sharing.

  1. Statement: It should know what I want to do.

Answer: SharePoint does not read minds.  A workflow needs a documented process before the workflow or any solution is developed.  It must state the condition and person to route a workflow.  It may take some effort (a project) to develop the solution.

  1. Statement: I want KPIs.

Answer:  You need to articulate what you want to know.  You need to be collecting the data points.  If there is no data, there are no KPIs.  It may need to be developed and require a project.  It will need to be maintained.

  1. Statement: Views should have a maximum of 5,000 items.

Answer:  SharePoint Lists are quick and easy ways to create structured data.  If your data is going to consist of more than a few thousand rows of data, it is a candidate for SQL Server application and then use SharePoint to present the data.

  1. Statement: Microsoft’s strategy is cloud-first. SharePoint Online (SPO) is the SharePoint product offering.  Microsoft is developing hybrid strategies – combination of one-premises and cloud.

Answer:  Microsoft has SharePoint FedRamp and approved for use in the US government.  DISA is providing a private cloud solution for DoD.

Branding

O365, SharePoint Online and SharePoint 2016 should be minimally branded.  It used to be – “can you make it not look like SharePoint.”  It is a collaboration platform and users should recognize SharePoint and use it the way they have used SharePoint elsewhere to solve business problems.

Microsoft will be changing the look and feel of SharePoint.  Do not change the Microsoft CSS files.  They may overwrite them in patching and it may break or overwrite your modifications.  CSS modifications should be in their own CSS files in a separate folder from Microsoft’s.  You can do CSS changes by adding CSS to a document library.  Realize that Microsoft may change the selectors you are using in JQuery and would break your branding.

SharePoint made a big push for providing private companies an Internet site (Marines, Ferrari,…)  They are no longer pursuing this use case.

SharePoint provides an evolving interface to mobile devices.  Responsive Design is rudimentary, but improving.

You will be provided a color palette and style guide.  You must follow the guidelines.  Consistency in look and feel will benefit everyone.

Development

Absolutely, no farm solutions.  SharePoint is a development platform and it has gone through several approaches to development.  Custom solutions in the past has required refactoring to be successfully migrated.  Best practices is to use out-of-box when possible.  Custom development needs to be architected and engineered properly, and even then may require redevelopment to migrate successfully to subsequent versions of SharePoint.

Deprecated (not recommended for new development):

  • Sand-boxed solutions
  • InfoPath forms
  • SharePoint Designer Customizations
  • Designer view in SharePoint Designer

Note: InfoPath and SP Designer do not have replacement products yet.

Upcoming

  • Microsoft Flow
  • io
  • PowerApps
  • SharePoint Framework

New Development

  • Target new SharePoint Framework
  • Use the client-side object model (CSOM) and REST APIs. No server side code.
  • Use App model for new development
  • SharePoint Designer Workflows targeting SP2013 Workflow
  • MS Access

Business Intelligence

  • SharePoint can present data from lists
  • SharePoint can connect and display reports from databases like SQL Server
  • SharePoint integrates with SQL Reporting Services and also provides Report Builder
  • You can create spreadsheets in Excel with PowerPivot, Power View
  • SharePoint comes with additional tools, like Excel Services, Office Web Applications (view Office documents in web) and Performance Point for generating KPIs

Note: PowerBI is a separate product from SharePoint.  It is Microsoft’s preferred BI tool for large data and relies on cloud products.

Key Features and Functionality

The following are key features and functionality of SharePoint

  • Create site collections and sites (including site templates)
  • Create lists and libraries
  • Create blogs
  • News feeds ( follow people, documents, ratings)
  • Provide People Search and Profile pages (Profile import)
  • Lists can be imported and exported to Excel
  • Discussion boards, calendars, Gantt charts
  • Web pages and web parts on pages
  • Create taxonomy (meta-data) to help find information
  • Search engine to find content
  • Alerts
  • Workflow – OOTB, SharePoint Designer (SPD)
  • Display Microsoft Office documents in the web (Office Web Apps)
  • Usage and Analysis metrics (out-of-the-box was good in SP2010, but not so good in SP2013)
  • Web Trends allows information on specific documents in SP2013.

Delve – people are discovering with Delve that many items are not locked down as they should be.

 

Business Objective Enabling Features or Functionality
Provide an organized “one-stop-shop” for information by making it easier to find authoritative information. Search and Search results refinement (for people and content (ENHANCED)

Integration with line-of-business systems

Metadata

Community discussion lists with “best reply” indicators (Where appropriate, the “best reply” helps users quickly filter information.  However, the concept of a single reply “best reply” is not always appropriate in all contexts.) (NEW)

Provide easier and timelier access to the information employees need to get their work done. Search (ENHANCED)

Alerts

Activity feeds with likes, follows, @mentions, and #hashtags (NEW)

Blogs and wikis

Mobile access (ENHANCED)

Improve the ability to share and exchange information across the organization by providing an electronic publishing method that is easy for users to leverage and assures “one version of the truth” for shared documents. Document versioning

Records retention (ENHANCED)

Document sets

Unique document IDs

Default storage for documents attached to newsfeeds and discussions is a document library (rather than a list attachment) (NEW)

Improve the ability to find and leverage expertise. People and expertise search (ENHANCED)

Hashtag search (NEW)

Follow people (NEW)

Activity feeds with likes, follows, @mentions and #hashtags (NEW)

Community sites (NEW)

Blogs and wikis

Improve organizational learning by providing easier access to critical information and organizational memory. Search and search results refinement (ENHANCED)

People and expertise search (ENHANCED)

Follow people, documents, tags and sites (NEW)

Document repositories with metadata (both user- and organizationally defined)

Community sites (NEW)

Blogs and wikis

Improve the “time to talent,” the speed at which employees become productive. Search and search results refinement (ENHANCED)

People and expertise search (ENHANCED)

Follow people, documents, tags and sites (NEW)

Activity feeds with likes, follows, @mentions, and #hashtags (NEW)

Community sites (NEW)

Reduce training costs for enterprise applications by providing a consistent user interface for applications developed in SharePoint. Search and search results refinement (ENHANCED)

Integration with line-of-business systems

Site templates

Third-party solutions designed for integrating with SharePoint

Improve response time of workers to deliverables by providing access to reusable assets. Search and search results refinement (ENHANCED)

People and expertise search (ENHANCED)

Document repositories with metadata (both user- and organizationally defined)

Improve decision-making by providing an easy-to-use interface from which to review key business metrics. Dashboards with Excel Services

Integration with line-of-business systems or databases

Improve project execution by providing an opportunity for work teams to collaborate and electronically store project information in fully searchable, organized team sites. Team sites with enhanced project task tracking and monitoring features (ENHANCED)

Document repositories with metadata (both user- and organizationally defined)

Announcements and events (team calendar)

Simple security model that users can administer

Maximize the resuse of best practices across the enterprise, enabling the organization to replicate successful practices across the agency, regardless of program or location. Site templates

Search and search results refinement (ENHANCED)

People and expertise search (ENHANCED)

Follow people, documents, tags (NEW)

Activity feeds with likes, follows, @mentions and #hashtags (NEW)

Document repositories with metadata (both user- and organizationally defined)

Community sites (NEW)

Blogs and wikis

 

Provide more effective mechanisms to move work between business entities, such as self-service for resources or partners and provide a collaboration environment with rich organizational data on the internal and partner farms. Extranets

Ability to easily and securely share an individual document with an authorized external (or internal) user (NEW)

Security model that business users can administer (ENHANCED)

Improve customer service by providing direct access to the information to partners. Extranets

Internal-facing Web sites managed with state-of-the-art Web content management features (ENHANCED)

Search and search results refinement (ENHANCED)

Integration with line-of-business systems

Simple security model that users can administer.

 

10,000 Hours to Mastery

I listened to the Freakonomics program on productivity.  They mentioned that it takes 10,000 hours to mastery. That seems like a reasonable estimate to master programming.  Considering that we work 2,000 hours a year, it will take 5 years if you were able to focus on developing your programming exclusively at work.  Unfortunately, I will have to achieve the majority of this on my own time, so 2-4 per evening may take 6-7 years to achieve mastery.  There is the second problem that the 10,000 hours to mastery requires a level of intensity.  While watching videos provides a framework, mastery requires active development and engagement in learning.  It means working with the skills, but also pushing to the next levels of skills and expertise.  Writing the same lines of code each day does not achieve mastery and would not take more than six or seven months.  I am starting a spreadsheet to track my goals and accomplishments on this 10,000 hour journey.  I am not under the illusion that it will be easy and will more than likely take more than 5 years.  The greatest challenge to mastery will be focus.  It will require focus and intensity.  I will blog on the progress of this journey.

Microsoft Virtual Academy, great resource for learning

I discovered a great resource for learning Microsoft products called the Microsoft Virtual Academy (MVA). The MVA site is:
https://mva.microsoft.com/
There are currently 71 courses on SharePoint and lots of resources on SQL Server, BI, PowerShell, ALM, C#, JavaScript, MVC and much more. The resource is free and they maintain a transcript, so you can print and include in your annual performance review. I actually include 1or 2 courses in my weekly status report.  It should also qualify for those PDUs for PMI and ISC2.  This resource is recommended for either beginners or experienced professionals.

Recruitment is Broken, Get Over It

I received an automatic message from a job applied to 28 months ago.  I am no longer being considered for the position.  If this does not prove that the recruitment system is broken, I do not know what more proof you need:

Thank you for applying for the position of SharePoint Application Architect. After careful consideration, we regret to inform you that we will not be taking your application forward as we have had other candidates that match our requirements more closely.

There are so many problems with recruitment systems.  If “people are our most important resource”, why do companies treat people trying to enter through the front door so poorly?  Instead of improvements, I have only seen the situation become worse and worse.  I have been on both sides of the hiring game and could not come up with a worse system if I purposely set out to do so.  Since I cannot change these systems, I have designed steps that in a normal world would provide validation of my claims.  I can report that none of my efforts have been successful.  Of course, if you go “off the reservation”, I do not believe that will not receive any better results.  I am referring to “pain letters” that are sent that identify a managers problem and how you are the solution.

I think that the only path to success is to make personal contact with the decision-maker.  It is difficult to get that resume on that person’s desk and get that person to pick up the phone and call.  Remember, this is just one of many of his current priorities.  Also, realize that his criteria is logical from his perspective.  In most cases, he wants to fill the current position with the least amount of effort and lowest cost.  The greatest selling point of a candidate may be that he submits his timesheet on time!

My conclusion that I am guilty of as any other person.  We do not try solving the fundamental problem.  We only continue doing the same thing that is not working.

 

Always a nickel short….

Well, I have moved on from Booz Allen Hamilton and MISO at the Centers of Disease Control and Prevention (CDC).  I started in November at the Command General Staff College (CGSC) in Fort Leavenworth, Kansas.  Fort Leavenworth is just north of Kansas City.  With all the certification tests I have taken this year, the new job requires MCSE with focus on databases.  So, the MCSE is SharePoint does not count.  I am always short of the requirement.  I have been given a waiver with a POA&M of 6 months to complete the MCSE.  So much for my effort to complete TOGAF and Agile before the end of the year.  I did complete my PDUs to maintain my PMP certification.  Next week, I will send them my money.

Completed my CISSP. Now, on to Agile and TOGAF

Well, I passed my CISSP. I need to thank Rei Takeda for getting me motivated to complete my CISSP. She posted on LinkedIn that she had passed CISSP and I was determined to finally knock this thing out. So, I started studying all over again. I have made a couple of attempts to study for CISSP and when I was on the home stretch, life happened. Something interrupted my execution of study and passing the test. While in Djibouti in 2012, I actually made it through the CISSP and CAP Prep Guide by Ronald Kurtz and Russell Dean Vines. It was very thorough and good background that served me well in my career. Robert Similla in Djibouti provided me with Shon Harris training video. I think I made it though the whole video series, but there was no testing facility in Djibouti. That was 2 years ago. I never took the test.

My program this time started by reading the Shon Harris sixth edition CISSP Study Guide. I watched the Cybrary IT videos. I then started working through lots of practice questions. ISC2 had sample questions (150) that a colleague gave me. The practice tests are no longer on the site. I read the outline from ISC2 and did the flash cards 3x on ISC2 site. The two texts had questions, (Shon Harris CISSP Study Guide and Ronald Kurtz CISSP and CAP Prep Guide). The Shon Harris book had a DVD with 350 questions. They had a link to a website for more questions and it does not have questions anymore. I watched YouTube videos and Exam collection.com had practice questions. The effort started in late July, so 3 months effort in total. I passed, but no score was given. The test was long. I arrived 30 minutes late (I went to the wrong building) and started at 8:30AM. I completed the exam at 2PM.

So, the next priority is to complete my 60 PDUs for my PMP cycle. I recently attended an Agile training for two days, so I have a little over 20 hours left. I will spend the weekend studying to complete the PDUs. I am figuring I have a start on Agile and it appears to be hot area, I might pursue the PMP Agile Practitioner certification. The study effort will also count for my PMP PDUs. I am also looking at the The Open Group Architecture Framework (TOGAF). I am desperately trying to find the certifications that will increase my market value. Also, I wonder if I should leverage my studying for CISSP and take COMPTIA Advanced Security Practitioner (CASP) and update my Security Plus. The certifications are a never ending treadmill. To be honest, I do not see much return on my investment. I do it with the hope that it may help my career. So far, I appear to end up a nickel short.