Този курс е посветен на създаването на отдалечени среди за разработка (известни също като "отдалечени интерпретатори"), така че да можете да програмирате локално, но да изпълнявате кода си на отдалечен сървър.
Отдалечените среди за разработка имат няколко големи предимства:
В това видео показваме как да създадете сървърен екземпляр в AWS EC2 и след това да настроите отдалечената среда за разработка във VSCode.
Ето каква е структурата на курса:
Здравейте, това е Жулиен Салинас от NLP Cloud.
Днес ще ви покажа как да настроите отдалечена среда за разработка, за да можете да програмирате на локалната си машина, но да изпълнявате кода си на отдалечен сървър на AWS.
За този курс няма предварителни условия, така че започваме.
Какво разбираме под отдалечена среда за разработка? Всъщност това означава, че ще програмираме локално във VS Code, както повечето от нас днес.
Ако използвате друга среда за разработка, трябва да проверите дали се поддържат отдалечени интерпретатори или отдалечени среди за разработка, а ние всъщност ще изпълним кода отдалечено в инстанция на AWS.
Днес избираме AWS, защото знам, че повечето от вас всъщност използват AWS в ежедневния си производствен процес, но ако използвате GCP или Azure, OVH, Scaleware или нещо друго, процесът ще бъде много подобен.
Както ще видите, става въпрос за осигуряване на инстанция, извличане на IP адреса и използването му локално във VS Code за свързване чрез SSH към инстанцията.
Защо всъщност използваме отдалечена среда за разработка? Първата причина е, че искаме да намалим разходите за нашата локална среда за разработка.
Може да не искате да си купите скъп MacBook Pro Ultra M2 от висок клас, например, и в този случай може да е по-рентабилно да си купите локална машина от по-нисък клас, но да изпълнявате кода си дистанционно, когато ви е необходимо.
Втората много важна причина, особено за инженерите, занимаващи се с машинно обучение, е, че понякога се налага да имате достъп до хардуер от висок клас, като например графични процесори, а този хардуер не е непременно наличен на локалната ви машина.
Например, ако искате да имате достъп до графичен процесор A100 NVIDIA или H100, със сигурност няма да можете да получите достъп до такива графични процесори на място.
Както ще покажем днес, това е много полезно, тъй като в противен случай просто не можете да получите достъп до конкретни машини за разработка на графични процесори.
И накрая, фактът, че ще използвате отдалечена среда, е чудесен, защото тя всъщност е напълно изолирана среда, което означава, че ако искате да инсталирате конкретни библиотеки, рамки или драйвери, можете да го направите на отдалечената машина на AWS.
И ако утре ви се наложи да инсталирате, да речем, друга версия на драйверите NVIDIA, CUDA инструментариума или библиотеките Python и други подобни неща, просто трябва да осигурите втори сървър и сте напълно сигурни, че двата сървъра няма да си пречат.
И двете конфигурации ще бъдат напълно изолирани.
Разбира се, подобни неща можете да постигнете и с Docker или дори с виртуални среди в Python, например.
Но представете си, че искате да инсталирате няколко версии на драйверите NVIDIA.
Това ще бъде много по-сложно.
В този случай осигуряването на няколко отдалечени среди може да се окаже единственото решение за вас.
Първото нещо, което ще направим сега, е да се свържем с нашата AWS конзола и да създадем основен AWS инстанция, CPU инстанция, и след това ще я използваме локално от VS Code.
Започваме.
Сега съм в конзолата на AWS.
Ако използвате AWS за първи път, просто трябва да създадете акаунт с парола за имейл.
Не мисля, че искат твърде много информация.
Сега можете да създадете инстанция в EC2.
Ще щракнем върху стартиране на инстанция.
Можем да дадем име на нашата инстанция.
Така че нека я наречем, например, среда dev.
Добре.
Сега важната част.
Трябва да изберем операционна система за нашата инстанция.
Наистина искате да изберете Linux и що се отнася до мен, наистина харесвам Ubuntu, защото е стандартна и съм сигурен, че най-новите драйвери ще бъдат инсталирани на Ubuntu, особено с драйверите на NVIDIA, това наистина може да помогне.
Така че щракнах Ubuntu тук.
Ако за първи път използвате Linux, не се притеснявайте.
Няма да ни трябват много трикове или команди за Linux.
В общи линии ще направим всичко от кода на VS, с изключение на това, че зад капака, разбира се, ще бъде Linux, но не мисля, че това ще бъде твърде голям проблем за вас.
Можете да оставите версията 2204 LTS такава, каквато е.
А сега ще изберем обикновен процесор.
Например в AWS имате инстанция M5, голяма M5, два процесора, осем гигабайта памет.
Идеален за нас.
Може би дори твърде много за днес, но в бъдеще ще трябва да изберете инстанцията, която напълно отговаря на нуждите ви.
Добре.
Сега трябва да използваме двойка SSH ключове.
Ако за първи път използвате SSH тук, ще трябва да създадете своя собствена двойка ключове в AWS, създайте нова двойка ключове.
Нека я наречем тестова двойка ключове.
Можете да изберете формата PEM, да създадете двойка ключове.
И сега го изтеглям, съжалявам, на моята машина.
Добре.
Тук не е необходимо да променяте групата за сигурност.
По подразбиране портът SSH ще бъде отворен, което е нормално.
От това се нуждаем.
Осемте гигабайта SSD са идеални за днес.
И можем да щракнем върху стартиране на инстанция.
Добре.
Инстанцията вече е готова.
Ако това е първото ви създаване на инстанция в AWS, може би ще трябва да поискате от поддръжката на AWS да увеличи квотата ви.
Не съм съвсем сигурен.
За много скъпи екземпляри, като например екземпляри с графичен процесор, трябва да поискате надграждане на квотата.
Не съм сигурен за обикновения случай с M5.
Но ако получавате грешка тук, която изисква увеличаване на квотата, ще направите точно това.
Това е нашият пример.
Както можете да видите, той вече работи.
Беше много бързо.
M5 голям.
А тук, вдясно, имаме IP адреса, който ще използваме.
Сега, след като сме създали нашата инстанция и сме изтеглили двойката SSH ключове на нашата машина, трябва да отворим VS Code и да създадем SSH връзка към нашия отдалечен сървър.
Ако за първи път използвате SSH клиент в Windows, ще трябва да го активирате.
Ето един урок от екипа на Windows за това как да го направите.
Можете просто да напишете в Google създаване на SSH клиент за Windows и ще намерите много уроци.
Ето и официалния.
Ако разгледате малко по-надолу, всичко е много просто.
Просто трябва да активирате нещо в приложенията на Windows.
Ако сте под Linux, тя е инсталирана по подразбиране.
Така че сега съм във VS Code.
В долния ляв ъгъл можете да видите този бутон.
Щраквам върху свързването на текущия прозорец с хоста.
Ако използвате този модул за отдалечена връзка за първи път, може би VS Code ще изтегли приставката.
Затова може да отнеме няколко секунди, преди да получите достъп до функцията.
Конфигурирам хостовете, щракнете върху Конфигуриране на хостовете.
Днес съм с Windows, така че ето къде се намира моята конфигурация.
А тук е конфигурационният файл, който трябва да попълня.
Най-важното е да извлечем IP адреса на нашата инстанция и да го поставим тук.
Перфектно.
Можем да дадем име на връзката си, но то е само за нас.
Нека я наречем DevHouse.
Потребителското име е потребителското име, използвано от SSH клиента за свързване с инстанцията.
Предвид факта, че сме осигурили сървър Ubuntu, потребителското име по подразбиране е Ubuntu.
И когато изтеглих двойката ключове, двойката SSH ключове, я поставих на работния си плот в Windows.
Ето откъде VS Code ще извлече ключа.
Можете да запазите файла и сега да кликнете в долната част, да свържете текущия прозорец с хоста отново.
DevHouse е това, което току-що създадохме.
Ще трябва да изчакате тук.
Много добър.
Можете да видите, че VS Code ме пита за обмен на ключове.
Така че да, за първи път се свързваме с тази инстанция.
Затова от съображения за сигурност трябва да приемем този нов пръстов отпечатък.
Добре.
Не изглежда много драматично, но ето, че вече сме в нашата отдалечена инстанция на AWS.
И можете да го видите, защото в долния ляв ъгъл се вижда SSH.
За да го проверите, можете да отворите терминал в горната част, щракнете върху нов терминал.
И тук можете да видите, че този терминал абсолютно не е терминалът на моята локална машина с Windows.
Аз съм на машина с Ubuntu.
И ако искам, мога да използвам някои обичайни за Linux команди, като например списък с директории.
Тук нямаме нищо, затова можем да създадем директория.
Да речем, че искаме да създадем среда за разработка, за да направим няколко теста.
И сега тук е създадена новата ни тестова папка.
Или искате да правите всичко с командния ред, или може би още по-добре, искате да използвате графичния интерфейс от VS Code, за да преглеждате файла, както обикновено.
Щракнете върху горната част, отворете папката.
И тук можете да видите тестовата директория, която току-що създадох.
Сега VS Code се отваря отново, но този път в конкретната папка, която споменах.
Отсега нататък можете да започнете да разработвате както обикновено, все едно сте на локалната си машина, само че кодът ви ще се изпълнява в AWS.
Затова нека опитаме.
Например, нека създадем проста програма на Python, която казва hello, new file, test.py, print, hello
Запишете файла.
И след това в конзолата можем да изпълним файла.
Здравейте.
Току-що успешно стартирахте първия си отдалечен код в AWS.
Това е всичко за днес.
Вече можете да използвате отдалечената си среда за разработка колкото искате.
Не забравяйте да изключите инстанцията на AWS, когато вече не ви е необходима.
И ще се видим скоро.