Thursday, April 28, 2022
Wednesday, April 27, 2022
Cloud Services and Enterprise Mobility
MS offers
365 and storage services, outlook etc. (free consumer offerings)
In MS Office
365, you can install applications on premise or as cloud
Cloud storage
types:
· Personal cloud storage (example –
OneDrive)
· Public cloud storage (entire
company’s storage offloaded to a public cloud service)
· Private cloud storage (data made
available via an internal data centre, and not via internet)
· Hybrid – combination of public +
private
Advantages
- Off site backup,
less local storage
Disadvantages – argument on data ownership,
bandwidth constrictions on public clouds
Cloud
communication characteristics
· Internet based voice ccommunication
are hosted outside of the organization
· Voice over internet protocol
· Replacement of private branch
exchange (PBX)
Advantages
of cloud-based comm. Services
· Cost is lower
· Allows for greater flexibility
· Services can be outsourced
Disadvantages
of cloud-based
comm. Services
Depends on
the internet connectivity
Examples – Whatsapp,
Skype
Azure
search services
· Fully managed cloud services
· Offers search capability
· Natural language support
· Scalability
· API-based
· Stores data in an index
· Data storage is given to the search
service
· Can use push/pull models for indexing
· Can select the prederred service type
(dedicated services or not)
MS
Intune
· Mobile device management and mobile
application management is available with MS Intune
· Offers PC management including
Windows, Windows RT
· Updates can be performed and managed
in MS Intune easily
· Protection tab of MS Intune shows
malware statuses
· Alerts section shows what input
protection and monitoring was done by MS Intune on behalf of us
· Apps status is displayed as a
dashboard
· Several out of the box reports are
available for licensing, software history, inventory etc.
· Selective WAP capabilities are there
· Devices can be grouped and managed
· In the Account portal, you can create
users
· Create a user -> assign a role
(whether administrative role, if not then what the role is), user location (if
licensing is prohibited in the country then the country will not appear, create
the user with a temporary password
· MS Intune allows us to configure
malware protection (real time or by via certificate updates)
Microsoft
Azure
You can
create a VM whether using gallery or as a quick create
Select the
OS, and the image (several images such as Windows server, sharepoint, sql
server, Visual studio are there)
Replications
of storage can be configured
Options for
replication are – locally redundant, geo redundant and read-access geo
redundant
Locally
redundant = replication within the same region
Geo
redundant = replication within a secondary storage region
Read-access
geo redundant = geo-redundant however the second copy is only read only
Fault
tolerance in MS Azure
Fault domain
= a hosting space maintained separately in Azure data centre, fault domain is
automatically created to allow for seamless service-level agreement enforcement
Upgrade
domains are similar to fault domains, however, they support upgrades instead of
failures
Identity
services
In Windows,
goto Administrative tools
Domain
specific info can be configured in AD Domains and Trusts tool
To access
the Azure active directory, login to manage.windowsazure.com
Login using
Windows account/onMicrosoft account (organizational account)
Agile Project Management Certification Prep+Agile Scrum+Jira
Agile =
incremental delivery + high collaboration
Some agile
methods:
o
Scrum
o
Extreme
programming
o
Kanban
o
Pragmatic
programming
o
Agile
modeling
Agile
characteristics:
o
Active
user involvement
o
Team
is empowered to make decisions
o
Requirements
evolve but time is fixed
o
Capture
req. at high level
o
Develop
small and incremental releases
o
Focus
on freq delivery
o
Complete
each feature before moving onto the next
o
Apply
the 80/20 rule
o
Testing
is integrated throughout the lifecycle
o
A
collaborative and corporative approach between all stakeholders
Agile is a
mindset and an umbrella term for many methods and frameworks used to deliver
projects and products in small pieces
Top of Form
Why is The Agile
Manifesto So Important (pick one answer) ? It sums up the Agile
mindset in 4 lines and serves as the foundation for Agile methods
12 Agile
principles:
1. Early and continuous delivery
2. Welcome changing requirements
3. Deliver working software from a
couple of weeks to a couple of months, with a preference to the shorter
timescale
4. Business-people and developers work
together daily throughout the project
5. Build projects around motivated
individuals, give them the environment, and support they need and trust them to
get the job done
6. The most effective method of
conveying information to and within a development team is a face-to-face
conversation
7. The primary measure of progress is
actual working software
8. Agile principles promote sustainable
development. The sponsors, developers and users should be able to maintain a
constant pace indefinitely
9. Continuous attention to technical
excellence and good design enhances agility. (there is no design phase in
agile, in each phase a design is done, this may lead to bad design, hence a
great focus needs to be made to ensure good design)
10. Simplicity – the art of maximizing
the amount of unwanted work not done – is essential
11. The best architectural design and
requirements emerge from self-organizing teams
12. At regular intervals, the team
reflects on how to become more effective, then tunes and adjusts its behavior accordingly
(Retrospective that happens at end of every iteration)
Agile & TDD Best Practices for APIs: API Microservices Using TDD
APIs vs
Microservices
· An API is a contract between a caller
and an application underlying data and functionality
· APIs can be public (web based) or
private
· Web APIs usually send data in JSON or
XML
· Common API methods – GET, POST, PUT,
DELETE
· Microservices often include APIs
· Microservices are multiple component
services that can be combined to create a software solution
· Microservices are decentralized and
may have decentralized data
· Microservices are self-contained and
have dedicated data sources
TDD
· Mock services can be used to mock
REST APIs
· TDD allows clients to test APIs
before the coding is completed
· TDD API design process:
o
Tests
are written based on scenarios and required functionality
o
A
REST API mock service is created for running the test scenarios
o
Tests
are run on mock services
o
The
real APIs are created and run against the test scenarios
REST
API Mocking
Tools for
REST API mocking: Nock, MockServer, Beeceptor, Mockoon
Behavior
driven development (BDD) API design
· BDD is an agile development approach
· API design steps:
o
Select
a small unit of work, brainstorm and reach a consensus of API work to be done
o
Document
and track the API examples from the brainstorming session using automation
tools
o
Implement
the API web service behavior described in each example and create a unit test
to guide the implementation
· BDD involves all stakeholders, hence
it allow for a shared understanding of the problem domain, documentation is
created in general language, increases collaboration
· BDD supports better communication
between technical and non-technical people
· Natural language specifications and real-world
examples are used in BDD
· Tests generated in natural language
are automated in BDD
Software
testing techniques
· REST API testing
o
Functional
software testing
o
Security
testing
· Load testing
o
Determine
the maximum number of concurrent users
o
Infrastructure
stress tests check the server and network architecture
o
Maximum
operation capacity captures the total number of operations performed
· Database testing
o
Structural
testing to validate the architecture database
o
Functional
testing validates mapping between fields and functions
o
Non-functional
(example – security testing, load testing)
· Unit testing
Software testing tools
o
Web
testing platforms – Katalon Studio web testing tools (for validation testing,
error detection testing and functional testing, SOAP UI REST API testing)
o
SOAP
and REST API testing tools
o
Tools
for unit testing
Integration
testing
3 methods to
write -> Create test (to setup the resources such as the DB), read test and
delete test (to clean up the resources such as DB)
Tools –
Postman
