Бағдарламалық жасақтаманы пайдалануға дайындау: құрамы, кезеңдері, ерекшеліктері. Жүйелік жаңартулар мен орнату процесін түсініңіз. SEO үшін оптимизацияланған.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Бағдарламалық жүйені пайдалануға қолжетімді ететін іс-шаралар
Activities that make a software system available for use
Бағдарламалық жүйені орнату – бағдарламалық жүйені пайдалануға қолжетімді ететін барлық іс-шаралар. Жалпы орнату процесі бір-бірімен байланысты бірнеше іс-шаралардан тұрады, олардың арасында көшу мүмкін. Бұл іс-шаралар өндіруші тарапында немесе тұтынушы тарапында немесе екеуінде де жүзеге асырылуы мүмкін. Әр бағдарламалық жүйе ерекше болғандықтан, әрбір іс-шараның нақты процестері мен процедураларын анықтау қиын. Сондықтан "орнату" терминін нақты талаптарға немесе ерекшеліктерге сәйкес бейімделуге тиіс жалпы процесс ретінде қарастыру керек.
Software deployment is all of the activities that make a software system available for use. The general deployment process consists of several interrelated activities with possible transitions between them. These activities can occur on the producer side or on the consumer side or both. Because every software system is unique, the precise processes or procedures within each activity can hardly be defined. Therefore, "deployment" should be interpreted as a general process that has to be customized according to specific requirements or characteristics.
Тарих
Компьютерлер өте үлкен, қымбат және көлемді болған кезде (мейнфреймдер мен миникомпьютерлер), бағдарламалық жасақтама көбінесе өндірушілермен бірге аппараттық құралмен жинақталып келген. Егер қолданыстағы компьютерге бизнес-бағдарламалық жасақтаманы орнату қажет болса, онда жүйелік архитектордың немесе кеңесшінің қымбатқа соғатын және көп уақыт алатын сапары қажет болуы мүмкін. Бүгінгі таңда күрделі, жергілікті корпоративтік бағдарламалық жасақтаманы орнату кезінде мұндай жағдай әлі де кездесуі мүмкін. Алайда, 1980-ші жылдары микрокомпьютерлердің жаңа дәуірі үшін жаппай нарықтық бағдарламалық жасақтаманың дамуымен бірге бағдарламалық жасақтаманы таратудың жаңа формалары пайда болды: алдымен картридждер, содан кейін компакт-кассеталар, дискеталар, ал 1990-шы жылдары және одан кейін оптикалық дискілер, интернет және флэш-дискілер. Бұл бағдарламалық жасақтаманы орнатуды клиентке қалдыруға мүмкіндік берді. Бірақ уақыт өте келе, клиенттің бағдарламалық жасақтаманы конфигурациялауы маңызды екені және оның пайдаланушыға ыңғайлы интерфейсі болуы керек екені (мысалы, клиенттен Windows жүйесіндегі тіркелім жазбаларын өңдеуді талап етудің орнына) анықталды. Интернетке дейінгі бағдарламалық жасақтаманы енгізу кезінде енгізу (және оған тығыз байланысты жаңа бағдарламалық жасақтама нұсқаларының шығарылуы) қажеттілік бойынша қымбатқа соғатын, сирек болатын және көлемді шаралар болып келді. Осылайша, интернеттің таралуы бағдарламалық жасақтаманы жылдам әзірлеуді мүмкін еткені айқын. Шындығында, бұлттық есептеулер мен қызмет ретінде бағдарламалық жасақтаманың пайда болуы бағдарламалық жасақтаманы көптеген клиенттерге интернет арқылы бірнеше минут ішінде орнатуға мүмкіндік берді. Бұл сонымен қатар, әдетте, бағдарламалық жасақтаманы жеткізу кестесін клиенттер емес, бағдарламалық жасақтама жеткізуші анықтайтынын білдірді. Мұндай икемділік, әсіресе тәуекелі аз веб-қосымшалар үшін, үздіксіз жеткізудің тиімді нұсқасы болуына әкелді. Бағдарламалық жасақтаманы орнатудың басқа да нұсқаларына көк-жасыл орнату және канарейкалық шығару кіреді.
When computers were extremely large, expensive, and bulky (mainframes and minicomputers), the software was often bundled together with the hardware by manufacturers. If business software needed to be installed on an existing computer, this might require an expensive, time consuming visit by a systems architect or a consultant. For complex, on premises installation of enterprise software today, this can still sometimes be the case. However, with the development of mass market software for the new age of microcomputers in the 1980s came new forms of software distribution first cartridges, then Compact Cassettes, then floppy disks, then (in the 1990s and later) optical media, the internet and flash drives. This meant that software deployment could be left to the customer. However, it was also increasingly recognized over time that configuration of the software by the customer was important and that this should ideally have a user friendly interface (rather than, for example, requiring the customer to edit registry entries on Windows). In pre internet software deployments, deployments (and their closely related cousin, new software releases) were of necessity expensive, infrequent, bulky affairs. It is arguable therefore that the spread of the internet made end to end agile software development possible. Indeed, the advent of cloud computing and software as a service meant that software could be deployed to a large number of customers in minutes, over the internet. This also meant that typically, deployment schedules were now determined by the software supplier, not by the customers. Such flexibility led to the rise of continuous delivery as a viable option, especially for less risky web applications. Other options for software deployment include blue–green deployment and canary release deployment.
Қолдану іс-шаралары
Релиз Релиз қызметі аяқталған даму процесінен кейін жүзеге асырылады және кейде оны енгізу процесінің емес, даму процесінің бөлігі ретінде жіктеледі. Ол жүйені құрастыруға дайындау және оны өндірісте жұмыс істейтін компьютерлік жүйеге (ККЖ) беру үшін қажетті барлық операцияларды қамтиды. Сондықтан, кейде жүйеге қанағаттанарлық өнімділікпен жұмыс істеу үшін қажетті ресурстарды анықтау және енгізу процесінің келесі қадамдарын жоспарлау және/немесе құжаттау да осыға кіреді. Орнату және іске қосу Қарапайым жүйелер үшін орнату бағдарламалық жасақтаманы (қолмен немесе автоматты түрде) іске қосу үшін команда, сілтеме, сценарий немесе қызмет құруды қамтиды. Күрделі жүйелерде жүйені конфигурациялау қажет болуы мүмкін, мысалы, соңғы пайдаланушыдан оның мақсатына қатысты сұрақтар қою арқылы немесе олардың қалай конфигурацияланғанын тікелей сұрау арқылы, сондай-ақ барлық қажетті кіші жүйелерді пайдалануға дайын етуді қамтиды. Активация – бағдарламалық жасақтаманың орындалатын бөлігін алғаш рет іске қосу әрекеті (цифрлік құқықтарды басқару жүйелерінің функциясы болып табылатын бағдарламалық жасақтама лицензиясын белсендіру шатастырылмауы керек). Серверлердегі ірі бағдарламалық жасақтаманы енгізу кезінде пайдаланушылардың "өндірістік" ортада пайдаланатын бағдарламалық жасақтаманың негізгі көшірмесі өндірістік серверге орнатылуы мүмкін. Қолданыстағы бағдарламалық жасақтаманың басқа нұсқалары сынақ ортасында, даму ортасында және апатты жағдайларды қалпына келтіру ортасында орнатылуы мүмкін. Күрделі үздіксіз жеткізу орталарында және/немесе сервистік бағдарламалық қамтамасыз ету жүйелерінде жүйенің әртүрлі конфигурацияланған нұсқалары бірнеше ішкі немесе сыртқы клиенттер үшін өндіріс ортасында бір уақытта болуы мүмкін (мұндай архитектура көп тұрғын архитектура деп аталады) немесе тіпті клиенттердің әртүрлі топтарына біртіндеп, параллель түрде таратылуы мүмкін, параллель енгізулердің бірін немесе бірнешеуін тоқтату мүмкіндігімен. Мысалы, Twitter жаңа мүмкіндіктерді және пайдаланушы интерфейсін A/B тестілеу үшін соңғы тәсілді қолданатыны белгілі. Өндіріс ортасында, көк-жасыл енгізу мақсатында, өндіріс жүктемесін теңестіруге әлі қосылмаған серверлерден тұратын "жасырын" топ құруға болады. Деактивация Деактивация – активацияның кері процесі және жүйедегі орындалып жатқан компоненттерді тоқтатуды білдіреді. Басқа енгізу шараларын орындау үшін деактивация жиі қажет, мысалы, жаңартуды орындаудан бұрын бағдарламалық жүйені деактивациялау қажет болуы мүмкін. Сирек қолданылатын немесе ескірген жүйелерді пайдаланудан шығару практикасы көбінесе қосымшаны зейнеткерлікке шығару немесе қосымшаны тоқтату деп аталады. Орнатудан шығару Орнатудан шығару – орнатудың кері процесі. Бұл енді қажет емес жүйені жою. Бұл басқа бағдарламалық жүйелерді де орнатылмаған жүйенің тәуелділіктерін жою үшін қайта конфигурациялауды қамтуы мүмкін. Жаңарту Жаңарту процесі бағдарламалық жүйенің барлық немесе бір бөлігінің бұрынғы нұсқасын жаңа нұсқасымен алмастырады. Ол әдетте деактивациядан және содан кейін орнатудан тұрады. Кейбір жүйелерде, мысалы Linux-та жүйелік пакет менеджерін пайдаланғанда, бағдарламалық қосымшаның ескі нұсқасы процестің автоматты бөлігі ретінде жойылады. (Бұл Linux пакет менеджерлері, әдетте, бағдарламалық жасақтаманың бірнеше нұсқаларын бір уақытта орнатуды қолдамайды, егер бағдарламалық жасақтама осы шектеуді айналып өту үшін арнайы жасалмаса.) Жаңартуларды орнату механизмдері кейбір бағдарламалық жүйелерге (немесе Linux, Android және iOS сияқты кейбір операциялық жүйелер жағдайында операциялық жүйенің өзіне) енгізілген. Бұл жаңарту процестерін автоматтандыру толық автоматтандырылғаннан бастап пайдаланушы бастаған және басқаратынға дейін. Norton Internet Security – антивирустық анықтамалар мен жүйенің басқа компоненттеріне жаңартуларды алу және орнату үшін жартылай автоматты әдісі бар жүйенің мысалы. Басқа бағдарламалық өнімдер жаңартулардың қашан қол жетімді екенін анықтау үшін сұрау механизмдерін ұсынады. Версияны бақылау Версияны бақылау жүйелері пайдаланушыға бағдарламалық жасақтамаға жаңартуларды табуға және орнатуға көмектеседі. Мысалы: Бағдарламалық қамтамасыз ету каталогы жергілікті жүйеде орнатылған әрбір бағдарламалық пакеттің нұсқасын және басқа ақпаратты сақтайды. Бір түймеге басу браузер терезесін қосымшаның жаңарту веб-бетіне ашады, соның ішінде кіру қажет болатын сайттар үшін пайдаланушы атын және құпия сөзді автоматты түрде толтырады. Linux, Android және iOS-та бұл процесс одан да оңай, себебі ресми түрде қолдау көрсетілетін тәсілмен орнатылған бағдарламалық пакеттер үшін версияны бақылау процесі операциялық жүйеге енгізілген, сондықтан жеке кіру, жүктеу және іске қосу қадамдары қажет емес, сондықтан процесс толық автоматтандырылған болуы үшін конфигурациялануы мүмкін. Кейбір үшінші тарапты бағдарламалық жасақтамалар да белгілі бір Windows бағдарламалық пакеттері үшін автоматты версияны бақылау және жаңартуды қолдайды.
Release The release activity follows from the completed the development process and is sometimes classified as part of the development process rather than deployment process. It includes all the operations to prepare a system for assembly and transfer to the computer system(s) on which it will be run in production. Therefore, it sometimes involves determining the resources required for the system to operate with tolerable performance and planning and/or documenting subsequent activities of the deployment process. Installation and activation For simple systems, installation involves establishing some form of a command, shortcut, script or service for executing the software (manually or automatically). For complex systems it may involve configuration of the system possibly by asking the end user questions about its intended use, or directly asking them how they would like it to be configured and/or making all the required subsystems ready to use. Activation is the activity of starting up the executable component of software for the first time (not to be confused with the common use of the term activation concerning a software license, which is a function of Digital Rights Management systems.) In larger software deployments on servers, the main copy of the software to be used by users "production" might be installed on a production server in a production environment. Other versions of the deployed software may be installed in a test environment, development environment and disaster recovery environment. In complex continuous delivery environments and/or software as a service system, differently configured versions of the system might even exist simultaneously in the production environment for different internal or external customers (this is known as a multi tenant architecture), or even be gradually rolled out in parallel to different groups of customers, with the possibility of canceling one or more of the parallel deployments. For example, Twitter is known to use the latter approach for A/B testing of new features and user interface changes. A "hidden live" group can also be created within a production environment, consisting of servers that are not yet connected to the production load balancer, for the purposes of blue–green deployment. Deactivation Deactivation is the inverse of activation and refers to shutting down any already executing components of a system. Deactivation is often required to perform other deployment activities, e. g., a software system may need to be deactivated before an update can be performed. The practice of removing infrequently used or obsolete systems from service is often referred to as application retirement or application decommissioning. Uninstallation Uninstallation is the inverse of installation. It is the removal of a system that is no longer required. It may also involve some reconfiguration of other software systems to remove the uninstalled system's dependencies. Update The update process replaces an earlier version of all or part of a software system with a newer release. It commonly consists of deactivation followed by installation. On some systems, such as on Linux when using the system's package manager, the old version of a software application is typically also uninstalled as an automatic part of the process. (This is because Linux package managers do not typically support installing multiple versions of a software application at the same time unless the software package has been specifically designed to work around this limitation.) Built in update Mechanisms for installing updates are built into some software systems (or, in the case of some operating systems such as Linux, Android and iOS, into the operating system itself). Automation of these update processes ranges from fully automatic to user initiated and controlled. Norton Internet Security is an example of a system with a semi automatic method for retrieving and installing updates to both the antivirus definitions and other components of the system. Other software products provide query mechanisms for determining when updates are available. Version tracking Version tracking systems help the user find and install updates to software systems. For example: The Software Catalog stores the version and other information for each software package installed on a local system. One click of a button launches a browser window to the upgrade web page for the application, including auto filling of the user name and password for sites that require a login. On Linux, Android and iOS this process is even easier because a standardized process for version tracking (for software packages installed in the officially supported way) is built into the operating system, so no separate login, download and execute steps are required so the process can be configured to be fully automated. Some third party software also supports automated version tracking and upgrading for certain Windows software packages.